数据结构与算法 C#语言描述PDF电子书下载
- 电子书积分:11 积分如何计算积分?
- 作 者:(美)MichaelMcMillan著;吕秀锋,崔睿译
- 出 版 社:北京:人民邮电出版社
- 出版年份:2009
- ISBN:9787115204271
- 页数:260 页
第1章Collections类、泛型类和Timing类概述 1
群集的定义 1
群集的描述 1
直接存取群集 2
顺序存取群集 4
层次群集 6
组群集 7
CollectionBase类 8
用ArrayList实现Collection类 8
定义Collection类 8
实现Collection类 8
泛型编程 10
时间测试 12
一个简单化的时间测试 12
用于.NET环境的时间测试 13
Timing Test类 14
小结 16
练习 17
第2章 数组和ArrayList 18
数组基本概念 18
数组的声明和初始化 18
数组元素的设置和存取访问 19
检索数组元数据的方法和属性 19
多维数组 20
参数数组 21
锯齿状数组 22
ArrayList类 23
ArrayList类的成员 23
应用ArrayList类 24
小结 27
练习 27
第3章 基础排序算法 29
排序算法 29
数组类测试环境 29
冒泡排序 31
检验排序过程 32
选择排序 33
插入排序 35
基础排序算法的时间比较 36
小结 37
练习 38
第4章 基础查找算法 39
顺序查找 39
查找最小值和最大值 41
自组织数据加快顺序查找速度 42
二叉查找算法 43
递归二叉查找算法 45
小结 47
练习 47
第5章 栈和队列 48
栈、栈的实现以及Stack类 48
栈的操作 48
Stack类的实现 49
Stack类 51
Stack构造器方法 51
主要的栈操作 52
Peek方法 54
Clear方法 54
Contains方法 54
CopyTo方法和ToArray方法 54
Stack类的实例:十进制向多种进制的转换 55
队列、Queue类以及Queue类的实现 56
队列的操作 56
Queue的实现 57
Queue类:实例应用 58
用队列排序数据 61
源自Queue类的优先队列 64
小结 65
练习 66
第6章BitArray类 67
激发的问题 67
位和位操作 68
二进制数制系统 68
处理二进制数:按位运算符和移位运算符 69
按位运算符的应用 70
整数转换成二进制形式的应用程序 74
移位的示例应用程序 76
BitArray类 78
使用BitArray类 78
更多BitArray类的方法和属性 81
用BitArray来编写埃拉托斯特尼筛法 81
BitArray与数组在埃拉托斯特尼筛法上的比较 83
小结 83
练习 84
第7章 字符串、String类和StringBuilder类 85
String类的应用 85
创建String对象 85
常用的String类方法 86
Split方法和Join方法 88
比较字符串的方法 90
处理字符串的方法 92
StringBuilder类 98
构造StringBuilder对象 98
获取并且设置关于StringBuilder对象的信息 98
修改StringBuilder对象 99
String类与StringBuilder的性能比较 101
小结 103
练习 103
第8章 模式匹配和文本处理 105
正则表达式概述 105
数量词 107
使用字符类 109
用断言修改正则表达式 111
使用分组构造 112
匿名组 112
命名组 112
零宽度正向预搜索断言和零宽度反向预搜索断言 113
CapturesCollection类 114
正则表达式的选项 115
小结 116
练习 116
第9章 构建字典:DictionaryBase类和SortedList类 117
DictionaryBase类 117
DictionaryBase类的基础方法和属性 117
其他的DictionaryBase方法 119
泛型KeyValuePair类 121
SortedList类 122
小结 123
练习 123
第10章 散列和Hashtable类 125
散列概述 125
选择散列函数 125
查找散列表中数据 127
解决冲突 128
桶式散列法 128
开放定址法 129
双重散列法 130
Hashtable类 130
实例化Hashtable对象并且给其添加数据 130
从散列表中分别检索键和数值 131
检索基于键的数值 132
Hashtable类的实用方法 133
Hashtable的应用:计算机术语表 133
小结 136
练习 136
第11章 链表 137
数组存在的问题 137
链表的定义 137
面向对象链表的设计 138
Node类 138
LinkedList类 139
链表设计的改进方案 141
双向链表 141
循环链表 143
使用Iterator类 146
新的LinkedList类 148
实例化Iterator类 148
泛型Linked List类和泛型Node类 152
小结 154
练习 154
第12章 二叉树和二叉查找树 155
树的定义 155
二叉树 156
构造二叉查找树 157
遍历二叉查找树 159
在二叉查找树中查找节点和最大/最小值 161
从二叉查找树中移除叶子节点 162
删除带有一个子节点的节点 163
删除带有两个子节点的节点 164
小结 167
练习 167
第13章 集合 169
集合的基础定义、操作及属性 169
集合的定义 169
集合的操作 169
集合的属性 169
第一个用散列表的Set类的实现 170
类数据成员和构造器方法 170
Add方法 170
Remove方法和Size方法 171
Union方法 171
Intersection方法 172
Subset方法 172
Difference方法 172
测试CSet实现的程序 173
CSet类的BitArray实现 174
使用BitArray实现的概述 174
BitArray集合的实现 175
小结 177
练习 177
第14章 高级排序算法 178
希尔排序算法 178
归并排序算法 179
堆排序算法 182
快速排序算法 185
快速排序算法的描述 186
快速排序算法的代码 187
快速排序算法的改进 188
小结 188
练习 188
第15章 用于查找的高级数据结构和算法 189
AVL树 189
AVL树的基本原理 189
AVL树的实现 190
红黑树 192
红黑树规则 192
红黑树的插入 193
红黑树实现代码 194
跳跃表 198
跳跃表的基本原理 198
跳跃表的实现 199
小结 203
练习 203
第16章 图和图的算法 204
图的定义 204
由图模拟真实世界系统 205
图类 205
顶点的表示 205
边的表示 206
图的构造 206
图的第一个应用:拓扑排序 208
拓扑排序算法 208
拓扑排序算法的实现 208
图的搜索 211
深度优先搜索 211
广度优先搜索 213
最小生成树 215
查找最短路径 218
加权图 218
确定最短路径的Dijkstra算法 218
Di jkstra算法的代码 220
小结 226
练习 226
第17章 高级算法 227
动态规划 227
动态规划实例:计算斐波纳契数列 227
寻找最长公共子串 230
背包问题 232
贪心算法 234
贪心算法实例:找零钱问题 234
采用哈夫曼编码的数据压缩 236
用贪心算法解决背包问题 243
小结 245
练习 246
参考文献 247
索引 248
- 《SQL与关系数据库理论》(美)戴特(C.J.Date) 2019
- 《联吡啶基钌光敏染料的结构与性能的理论研究》李明霞 2019
- 《异质性条件下技术创新最优市场结构研究 以中国高技术产业为例》千慧雄 2019
- 《数据库技术与应用 Access 2010 微课版 第2版》刘卫国主编 2020
- 《程序逻辑及C语言编程》卢卫中,杨丽芳主编 2019
- 《大数据Hadoop 3.X分布式处理实战》吴章勇,杨强 2020
- 《Power BI数据清洗与可视化交互式分析》陈剑 2020
- 《数据失控》(美)约翰·切尼-利波尔德(John Cheney-Lippold)著 2019
- 《幼儿园课程资源丛书 幼儿园语言教育资源》周兢编 2015
- 《中国生态系统定位观测与研究数据集 森林生态系统卷 云南西双版纳》邓晓保·唐建维 2010
- 《指向核心素养 北京十一学校名师教学设计 英语 七年级 上 配人教版》周志英总主编 2019
- 《办好人民满意的教育 全国教育满意度调查报告》(中国)中国教育科学研究院 2019
- 《北京生态环境保护》《北京环境保护丛书》编委会编著 2018
- 《人民院士》吴娜著 2019
- 《指向核心素养 北京十一学校名师教学设计 英语 九年级 上 配人教版》周志英总主编 2019
- 《中国人民的心》杨朔著;夕琳编 2019
- 《高等院校旅游专业系列教材 旅游企业岗位培训系列教材 新编北京导游英语》杨昆,鄢莉,谭明华 2019
- 《中华人民共和国成立70周年优秀文学作品精选 短篇小说卷 上 全2册》贺邵俊主编 2019
- 《指向核心素养 北京十一学校名师教学设计 数学 九年级 上 配人教版》周志英总主编 2019
- 《中华人民共和国成立70周年优秀文学作品精选 中篇小说卷 下 全3册》洪治纲主编 2019