数据结构:课程导论

     https://www.bilibili.com/video/BV1Fv4y1f7T1的笔记。

        数据结构是计算机科学中最基础的概念,也是计算机科学的基本构成要素。

        良好的数据结构知识对于设计开发高效的软件系统是必备条件。

        我们一直在处理数据,我们如何存储数据,组织和分组数据很重要。

组织数据的例子:

  • 我们能快速有效地在字典中检索单词,是因为字典中的单词是排序的。
  • 城市地图的地标的位置和道路网络连接,数据是以几何形式来组织的。
  • 一家公司的每日现金和现金结单,我们将它组织和存储为表格。

        为了组织不同种类的数据,我们需要不同类型的结构。

        计算机可以处理各种数据,如文字,图像,视频,关系数据,地理空间数据……

        我们如何存储组织和分组计算机中的数据很重要,虽然现在的计算机很强大,但是我们没有使用正确的结构,正确的逻辑结构,那我们的软件将不会高效。

        数据结构的定义:数据结构是一种方法,是计算机存储和组织数据的方式。使数据可以得到有效利用。

        当我们研究数据结构作为存储和组织数据的方式时,我们以两种方式研究它们。

         一)数学和逻辑模型,将它们作为数学和逻辑模型的时候,我们只看它们的抽象视图。我们只是从较高的角度来看特定的数据结构的所有功能和操作,特定的数据结构的所有功能和操作。                                                                                                                                                   

          例(抽象视图):电视这个电子设备的抽象视图,就是可以打开和关闭,可以接收卫星电视信号,可以播放音频和视频。简单的来说抽象视图就是这个设备能实现的功能,我们不关心它的电路实现原理。                                                                                                                                                                                                                                  

         我们将数据结构作为数学或逻辑模型进行研究时,我们只是定义他们的抽象视图。为此我们有一个术语,我们将其定义为:抽象数据类型

        例(抽象数据类型):

        定义一个叫做列表的东西

        1.能够存储一组特定数据类型的元素

        2.根据他们在列表中的位置,来读取里面存储的元素

        3.能够修改列表中特定位置的元素

所以我们只是定义一个模型,可以用编程语言以多种方式去实现它,我们称之为抽象数据类型的定义。抽象数据类型(ADT)(Abstract Data Type)。

所有的高级语言都已经有了这种ADT的具体实现。比如数组这样的形式,数组给我们提供上面提到的这些功能,因此数组是具体的数据类型的实现。

        二)谈论数据结构的第二种方法是谈论实现,因此实现将是一些具体类型,而不是抽象数据类型。

        我们可以用相同的语言以多种方式实现相同的ADT,我们可以使用一种名为链表的数据结构实现列表ADT。

抽象数据类型下一个定义:抽象数据类型作为数据和操作的定义,它没有任何实现的细节。

数据结构作为抽象数据类型,我们还将研究如何实现它们,

数据结构有:1.数组 2.链表 3.栈 4.队列 5.树 6.图……

当我们研究这些数据结构时,

  1. 我们将研究它们的逻辑视图
  2. 研究这些数据结构可为我们提供哪些操作
  3. 研究这些操作的成本,主要是在时间方面
  4. 用编程语言来做具体的实现
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值