ADM-201 dump PMP dumps pdf SSCP exam materials CBAP exam sample questions

数据结构:#1 概述 – 译学馆
未登陆,请登陆后再发表信息
最新评论 (0)
播放视频

数据结构:#1 概述

Introduction to data structures

In this lesson and in this series of lessons,
在本课程中
we will introduce you to the concept of data structures.
我们将会向你介绍数据结构的概念
Data structure is the most fundamental
数据结构是最基础的
and building block concept in computer science
也是最根本的计算机科学概念
and good knowledge of data structures is a must
充分了解数据结构
to design and develop efficient software systems.
是设计开发高效的软件系统的必要条件
Ok, so let’s get started
好 让我们开始
we deal with data all the time
我们一直都与数据打交道
and how we store, organize and group our data together matters.
数据是如何存储 组织和汇集的很重要
Let’s pick up some examples from our day to day life
让我们看一些日常生活中
where organizing data in a particular structure helps us.
使用特定结构管理数据来帮助人们的例子
We are able to search a word quickly and efficiently in a language dictionary
我们能快速有效地在字典里查找一个词
because the words in the dictionary are sorted.
因为字典里的词排过序了
What if the words in the dictionary were not sorted?
那如果字典里的词没有排序呢
It would be impractical and impossible
那在数百万计的词里找一个词
to search for a word among millions of words.
不切实际也不可能
So, dictionary is organized as a sorted list of words.
所以 字典是按词的顺序排列的
Let’s pick up another example.
让我们来说说另外一个例子
If we have something like a city map,
如果我们有一张城市地图
the data, like position of the landmark and road network connections,
其中数据是地标的位置和道路网络连接
all this data is organized in the form of geometries.
所有这些数据以几何形式出现
We show the map data in the form of these geometries on a two-dimensional plane.
我们将地图数据以二维几何图形显示
So, map data needs to be structured
所以地图数据需要以这样的方式显示
like this so that we have scales and directions and
要有比例尺和方向指示
we are effectively able to search for a landmark and
这样我们就能有效率地搜索一个地标
and get route from one place to another
获取从一个到另一个地方的路线
and i will pick one more example
再来一个例子
for something like uh…
一些像……
daily cash in and cash out statement of a business
企业日常现金收支表
what we also call
我们也称作
a cash book in accounts, it makes most sense to organize and store the
现金账簿 它能很好地管理和存储
data in the form of a tabular schema
表格方式的数据
it is very easy to aggregate data and extract information,
如果数据是以列或者表格形式
if the data is organized in these columns, in these tables
那很容易汇总数据和提取信息
so different kind of structures are needed
所以管理不同类型的数据
to organize different kind of data
需要不同类型的结构
now computers work with all kind of data
现在电脑处理各种形式的数据
computers work with texts, images, videos,
像处理文字 图像 视频
relational data, geospatial data
关系数据 地理空间数据
and pretty much any kind of data that we have on this planet
还有我们生活中的许多种类的数据
how we store organize and group
我们如何在电脑上存储 组织和汇聚
data in computers matters because
数据很重要
computers deal with really really large data
因为电脑要处理真的太多的数据
even with the computational power of machines
即使机器有着计算能力
if we do not use the right kind of structures
但如果我们没有使用正确的结构
the right kind of logical structures
正确的逻辑结构
then our software systems will not be efficient
那软件系统就会变得低效
Formal definition of data structure would be that –
数据结构的正式定义是
a data structures is a way
数据结构是一种
to store and organize data in a computer so that
在电脑上存储和组织数据的方式
the data can be used efficiently
可以让数据高效地被利用
when we study data structures as ways
当我们研究数据结构是作为
to store and organize data
一种存储和组织数据的方式时
we study them in two ways
我们会从两方面研究
so i’ll say that we talk about data structures as
我们会将数据结构表示为
one we talk about them as mathematical and logical models.
一种数学和逻辑模型
when we talk about them as mathematical and logical models
作为一种数学和逻辑模型讨论时
we just look at an abstract view of them
我们只是从抽象的角度来看
we just look at from a high level what all features and what all operations
一种高层次来看 所有的功能和操作
define that particular data structure
定义的数据结构
example of uh… abstract view from real-world can be something like
现实世界的抽象表现的例子可以是
the abstract view of a device named television can be that
像电视机的抽象就是
it is an electrical device that can be turned on and off
它是一种电子设备 可以开和关
it can receive signals for satellite programs
它可以接受卫星节目的信号
and play the audio video of the program
还有播放节目的音频 视频
and as long as i have a device like this
只要我有像这样的一台设备
i do not bother how circuits are embedded to create this device
我不介意内嵌的电路是怎么构成这台设备的
or which company makes this device
或者哪个公司制造了它
so this is an abstract view
这就是一种抽象观点
so when we study data structures as mathematical or logical models
当我们以数学或逻辑模型的方式研究数据结构时
we just define their abstract view or in other words
我们只会定义它们的抽象表现
we have a term for this we define them as
用术语来说 我们定义它们为
abstract data types
抽象数据类型
an example of abstract data type can be
一个抽象数据类型的例子是
i want to define something called a list
我想定义一个叫做列表的东西
that should be able to store a group of elements of a particular datatype
它可以存储一组特定数据类型的元素
and we should be able to read the elements by their position in the list
在此列表中我们可以通过它们的位置来读取元素
and we should be also able to
我们还可以
modify element at a particular position in the list
在列表中特定位置修改元素
i would say store a given number of elements of any datatype
存储给定数目的任意数据类型元素
so we are just defining a model
我们刚已经定义了一个模型
now can implement this uh… in a programming language in a number of ways
现在我们可以……在编程语言中多种方式实现
so this is uh… definition of an abstract data type
所以这个抽象数据类型的定义
we will also call abstract data type as adt
我们也会称作 抽象数据类型为ADT
if you see all the high level languages
你可以在所有高级语言上
already have a concrete implementation of such an adt in the form of arrays
会看到以数组的形式具体实现ADT
so arrays give us all these functionalities
所以数组有着所有这些的功能
so arrays are data types which are concrete implementation
所以数组是一种具体实现的数据类型
so the second way of talking about data structures is
第二种讨论数据结构的方式是
talking about that implementation
讨论其实现
so implementations would be some concrete types and not an abstract data type
实现是某种具体类型 不是抽象数据类型
we can implement the same adt
我们可以用一种编程语言不同方式
in multiple ways in the same language
实现同样的ADT
for example in c or c++ we can implement this list adt
比如在C或者C++中我们可以实现列表ADT
as a data structure named linked list
来作为一种数据结构 称为链表
and if you have not heard about it
如果你没听过这个的话
we will be talking about them a lot
我们会讲许多这个的内容
we will be talking about linked list a lot in the coming lessons
在之后的课程中我们会讲很多链表的内容
okay, so lets define an abstract data type formally
好 让我们正式定义抽象数据类型
because this is one term that we will encounter quite often
因为我们经常会遇到此术语
abstract data types are entities that are definitions of data and operation
抽象数据类型定义为数据和操作的实体
but do not have implementations so they do not have any implementation details
但是没有实现 所以它们没有任何实现细节
we will be talking about a lot of data structures in this course
我们在此课程中将讨论很多种数据结构
we will be talking about them as abstract data types
会将它们作为抽象数据类型来讨论
and we will also be looking at how to implement them
以及会看如何去实现它们
some of the data structures that we will talk about
这些数据结构包括
are arrays linked list
数组 链表
stack,
堆栈
queue,
队列
tree, graph and the list goes on
树 图 等等
there are many more to study
会有很多要学习的
so when we will study these data structures we will study their logical view
所以我们会研究这些数据结构 研究它们的逻辑
we will study what operations are available to us with these data structures
会研究这些数据结构可以使用哪些操作
we will study the cost of these operations
还会研究这些操作的开销
mostly in terms of time
主要是用时间来衡量
and then definitely we will study
然后我们会学习
the implementation in a programming language
如何在某种编程语言中实现它们
so we will be studying all these data structures in the coming lessons
接下来的课程 我们会学习所有的这些数据结构
and this is all for this introductory lesson thanks for watching
这是本次引言部分的所有内容 感谢观看

发表评论

译制信息
视频概述

讲述了数据结构的基础概念以及一些例子。

听录译者

收集自网络

翻译译者

eyas闯江湖

审核员

审核员1024

视频来源

https://www.youtube.com/watch?v=92S4zgXN17o

相关推荐