链接: https://pan.baidu.com/s/1b6mbE4c-wyQawFWQ7okrVQ?pwd=e7qr 提取码: e7qr
店铺: 北京世纪鸿运图书专营店
出版社: 清华大学出版社
ISBN:9787302564713
商品编码:10026710776347
更多参数>>
大话数据结构 溢彩加强版
作 者:程杰 著
定 价:119
出 版 社:清华大学出版社
出版日期:2020年12月01日
页 数:392
装 帧:平装
ISBN:9787302564713
"编辑的话 2008年,一本特立独行的IT技术图书《大话设计模式》横空出世,开创了一种新派技术图书风格,横扫各大排行。 作者程杰并没有满足这个成绩,耗时3年潜心创作了另外一本同样是程序员基础的著作——《大话数据结构》,不出意外地好评如潮。 直到,这两本书仍然常驻各大排行。作为本土原创图书,这个成绩简直不可思议——印象里只有国外经典技术图书具备如此强的生命力。 虽然在这十几年里程杰兄未再动笔,但依然与我保持着密切联系。很好荣幸的是,在这本新作中,我依然是他的编辑。 十几年来,IT技术......
●章数据结构绪论1
1.1开场白2
1.2你数据结构怎么学的3
1.3数据结构起源4
1.4基本概念和术语5
1.4.1数据5
1.4.2数据元素6
1.4.3数据项7
1.4.4数据对象7
1.4.5数据结构7
1.5逻辑结构与物理结构8
1.5.1逻辑结构8
1.5.2物理结构9
1.6数据类型11
1.6.1数据类型定义11
1.6.2抽象数据类型12
1.7总结回顾13
1.8结尾语14
第2章算法15
2.1开场白16
2.2数据结构与算法的关系16
2.3两种算法的比较17
2.4算法定义18
2.5算法的特性19
2.5.1输入输出19
2.5.2有穷性19
2.5.3确定性20
2.5.4可行性20
2.6算法设计的要求20
2.6.1正确性21
2.6.2可读性21
2.6.3健壮性21
2.6.4时间效率高和存储量低22
2.7算法效率的度量方法22
2.7.1事后统计方法22
2.7.2事前分析估算方法23
2.8函数的渐近增长25
2.9算法时间复杂度27
2.9.1算法时间复杂度定义27
2.9.2推导大O阶方法28
2.9.3常数阶28
2.9.4线性阶29
2.9.5对数阶29
2.9.6平方阶29
2.10常见的时间复杂度31
2.11坏情况与平均情况32
2.12算法空间复杂度33
2.13总结回顾34
2.14结尾语35
第3章线性表37
3.1开场白38
3.2线性表的定义39
3.3线性表的抽象数据类型41
3.4线性表的顺序存储结构43
3.4.1顺序存储定义43
3.4.2顺序存储方式43
3.4.3数据长度与线性表长度的区别44
3.4.4地址计算方法45
3.5顺序存储结构的插入与删除46
3.5.1获得元素操作46
3.5.2插入操作46
3.5.3删除操作47
3.5.4线性表顺序存储结构的优缺点49
3.6线性表的链式存储结构49
3.6.1顺序存储结构不足的解决办法49
3.6.2线性表链式存储结构定义50
3.6.3头指针与头结点的异同52
3.6.4线性表链式存储结构代码描述52
3.7单链表的读取53
3.8单链表的插入与删除54
3.8.1单链表的插入54
3.8.2单链表的删除56
3.9单链表的整表创建58
3.10单链表的整表删除60
3.11单链表结构与顺序存储结构的优缺点61
3.12静态链表62
3.12.1静态链表的插入操作64
3.12.2静态链表的删除操作65
3.12.3静态链表的优缺点67
3.13循环链表67
3.14双向链表70
3.15总结回顾72
3.16结尾语73
第4章栈与队列75
4.1开场白76
4.2栈的定义76
4.2.1栈的定义76
4.2.2进栈出栈变化形式78
4.3栈的抽象数据类型78
4.4栈的顺序存储结构及实现79
4.4.1栈的顺序存储结构79
4.4.2栈的顺序存储结构——进栈操作80
4.4.3栈的顺序存储结构——出栈操作81
4.5两栈共享空间81
4.6栈的链式存储结构及实现83
4.6.1栈的链式存储结构83
4.6.2栈的链式存储结构——进栈操作84
4.6.3栈的链式存储结构——出栈操作85
4.7栈的作用85
4.8栈的应用——递归86
4.8.1斐波那契数列的实现86
4.8.2递归的定义88
4.9栈的应用——四则运算表达式求值89
4.9.1后缀(逆波兰)表示法的定义89
4.9.2后缀表达式的计算结果90
4.9.3中缀表达式转后缀表达式92
4.10队列的定义93
4.11队列的抽象数据类型94
4.12循环队列95
4.12.1队列顺序存储的不足95
4.12.2循环队列的定义96
4.13队列的链式存储结构及实现99
4.13.1队列的链式存储结构——入队操作100
4.13.2队列的链式存储结构——出队操作100
4.14总结回顾101
4.15结尾语102
第5章串103
5.1开场白104
5.2串的定义104
5.3串的比较105
5.4串的抽象数据类型107
5.5串的存储结构108
5.5.1串的顺序存储结构108
5.5.2串的链式存储结构109
5.6朴素的模式匹配算法110
5.7KMP模式匹配算法113
5.7.1KMP模式匹配算法的原理113
5.7.2next数组值的推导116
5.7.3KMP模式匹配算法的实现117
5.7.4KMP模式匹配算法的改进119
5.7.5nextval数组值的推导120
5.8总结回顾122
5.9结尾语122
第6章树125
6.1开场白126
6.2树的定义126
6.2.1结点的分类127
6.2.2结点间的关系128
6.2.3树的其他相关概念129
6.3树的抽象数据类型129
6.4树的存储结构130
6.4.1双表示法130
6.4.2孩子表示法133
6.4.3孩子兄弟表示法136
6.5二叉树的定义137
6.5.1二叉树的特点139
6.5.2特殊二叉树140
6.6二叉树的性质142
6.6.1二叉树的性质1142
6.6.2二叉树的性质2143
6.6.3二叉树的性质3143
6.6.4二叉树的性质4144
6.6.5二叉树的性质5144
6.7二叉树的存储结构145
6.7.1二叉树的顺序存储结构145
6.7.2二叉链表146
6.8遍历二叉树147
6.8.1二叉树的遍历原理147
6.8.2二叉树的遍历方法148
6.8.3前序遍历算法150
6.8.4中序遍历算法153
6.8.5后序遍历算法156
6.8.6推导遍历结果156
6.9二叉树的建立158
6.10线索二叉树159
6.10.1线索二叉树的原理159
6.10.2线索二叉树结构的实现162
6.11树、森林与二叉树的转换165
6.11.1树转换为二叉树166
6.11.2森林转换为二叉树167
6.11.3二叉树转换为树168
6.11.4二叉树转换为森林169
6.11.5树与森林的遍历170
6.12哈夫曼树及其应用171
6.12.1哈夫曼树171
6.12.2哈夫曼树的定义与原理173
6.12.3哈夫曼编码176
6.13总结回顾1