三、栈和队列 栈和队列是两种重要的线性结构。从数据结构的角度来看,栈和队列也是线性表,它的特殊性在于栈和队列的基本操作是线性表操作的子集,它们的操作相对于线性表来说是受到限制的,因此,可以称其为限定性的数据结构。 从数据类型的角度看,它们是和线性表大不相同的两种重要的抽象数据类型,在面向对象的程序设 ...
分类:
编程语言 时间:
2020-01-11 22:20:09
阅读次数:
107
线性表(Linear List)由n(n≥0)个具有相同类型的数据元素 a1 a2 ... an 组成的有限序列 一个数据元素由若干个数据项(Item)组成 通常把数据元素称为记录(Record) 含有大量记录的线性表称为文件(File) 线性表的抽象数据类型 InitList(&L) Destro ...
分类:
其他好文 时间:
2020-01-08 21:14:05
阅读次数:
112
数据结构 线性表 线性表的类型定义 To be filed 线性表的顺序表示与实现 To be filed 线性表的链式表示与实现 To be filed 栈和队列 栈 抽象数据类型栈的定义 To be filed 栈的表示与实现 To be filed 栈与递归的实现 To be filed 队列 ...
分类:
其他好文 时间:
2019-12-16 10:08:12
阅读次数:
191
1、抽象数据类型 抽象数据类型(abstract data type,ADT)是带有一组操作的一些对象的集合。在 ADT 的定义中没有地方提到关于这组操作是如何实现的任何解释。 Java 类也考虑到 ADT 的实现,不过适当地隐藏了实现的细节。如果由于某种原因需要改变实现的细节,通过仅仅改变执行这些 ...
分类:
编程语言 时间:
2019-12-15 14:16:44
阅读次数:
78
数组Go的切片是在数组之上的抽象数据类型,因此在了解切片之前必须要要理解数组。数组类型由指定和长度和元素类型定义。数组不需要显式的初始化;数组元素会自动初始化为零值:Go的数组是值语义。一个数组变量表示整个数组,它不是指向第一个元素的指针(比如C语言的数组)。当一个数组变量被赋值或者被传递的时候,实... ...
分类:
其他好文 时间:
2019-12-12 01:12:04
阅读次数:
72
一、线性表 1,什么是线性表 线性表就是零个或多个数据元素的有限序列。线性表中的每个元素只能有零个或一个前驱元素,零个或一个后继元素。在较复杂的线性表中,一个数据元素可以由若干个数据项组成。比如牵手排队的小朋友,可以有学号、姓名、性别、出生日期等数据项。 2,线性表的抽象数据类型 线性表的抽象数据类 ...
分类:
其他好文 时间:
2019-11-29 19:55:00
阅读次数:
62
堆栈 具有一定操作约束的线性表 :只在一端(栈顶,Top)做插入,删除 插入数据:入栈(Push) ? 删除数据:出栈(Pop) ? 后入先出:Last In First Out(LIFO) 堆栈的抽象数据类型: 类型名称: 堆栈(Stack) 数据对象集:一个有0个或多个元素的有穷线性表。 操作集 ...
分类:
其他好文 时间:
2019-11-24 15:29:57
阅读次数:
58
1.数据结构的定义: 数据结构是ADT(抽象数据类型Abstract Data Type)的物理实现。” 数据结构(data structure)是计算机中存储、组织 数据的方式。通常情况下,精心选择的数据结构可以 带来最优效率的算法。” 2.算法定义: 一个有限指令集\r\n接受一些输入(有些情况 ...
分类:
其他好文 时间:
2019-11-24 15:20:00
阅读次数:
44
教材学习内容总结 学习了抽象数据类型与子程序,了解了列表、栈、队列等抽象数据结构,并且学习了它们的属性和确保这些属性的操作。子程序声明使得子算法可以独立实现。子程序被调用分为两种情况,有返回值和没有返回值,前者使用名字和参数作为表达式,后者只掉用名字作为声明 教材学习中的问题和解决过程 在学习二叉树 ...
分类:
其他好文 时间:
2019-11-17 22:20:47
阅读次数:
89
1、教材内容学习 本周主要学习了《计算机科学概论》第八章抽象数据类型与子程序,学习了栈、队列、列表、树、图,通过学习,我认识到分治法能够大大提高检索的效率。此外,我还学到了关于搜索的三种数学算法和有关子程序、参数的一些内容。 2、教材学习中的问题与解决 遇到节点的概念时不太理解,然后在博客园中搜索了 ...
分类:
其他好文 时间:
2019-11-17 17:35:13
阅读次数:
82