《数据结构学习与实验指导》PDF下载

  • 购买积分:12 如何计算积分?
  • 作  者:(中国)陈越
  • 出 版 社:北京:高等教育出版社
  • 出版年份:2019
  • ISBN:9787040515503
  • 页数:320 页
图书介绍:本书围绕主教材中的主要知识点,本着循序渐进,由浅入深的原则,结合主教材的书后习题,设计了40道实验案例,每题给出详细的测试数据、解答和源代码,帮助读者从实际应用的角度更好地理解知识点。另外还设计了34道基础实验项目和28道进阶实验项目。每题给出详细的测试数据和解题提示,希望有兴趣的读者能在精读实验案例的基础上,自己动手实现一部分实验项目,达到充分锻炼分析问题、解决问题能力的目的。对于能力更强的读者,还可以尝试解决每章最后略带研究性质的思考题,提高自己独立思考和研究的能力。本书第零章概要介绍了本书的特点和内容结构;第一章围绕时空复杂度分析与比较提供练习;第二章提供对C语言关键内容的复习性练习;第三章针对线性表的知识点设计应用问题;第四章围绕树的存储、重要性质与应用进行练习;第五章是对散列表和经典哈希映射技术的应用;第六章设计训练对图的各种表示方法和相关算法的熟练掌握;第七章通过对各种类型的大规模排序问题的求解,帮助读者理解各种经典排序算法的特点和适用范围;最后第八章给出的题目均涉及多个知识点的综合应用,帮助读者更深刻体会数据结构的灵活运用。希望读者能通过本书的学习提高实践能力,使数据结构

第0章 概论 1

第1章 算法与复杂度 3

案例1-1.1 :二分查找(主教材习题1.8 ) 3

基础实验1-2.1 :有序数组的插入(主教材习题1.9 ) 8

进阶实验1-3.1 :两个有序序列的中位数 10

第2章 数据结构实现基础 12

案例2-1.1 :简单计算器(主教材习题2.1 ) 13

案例2-1.2 :数组元素循环左移(主教材习题2.2 ) 15

案例2-1.3 :数列求和(主教材习题2.3 ) 19

案例2-1.4 :递归求简单交错幂级数的部分和(主教材习题2.6 ) 23

案例2-1.5 :递增的整数序列链表的插入(主教材习题2.4 ) 25

案例2-1.6 :两个有序链表序列的合并(主教材习题2.5 ) 27

案例2-1.7 :输出全排列(主教材习题2.8 ) 29

基础实验2-2.1 :整数的分类处理 33

基础实验2-2.2 :求集合数据的均方差 35

基础实验2-2.3 :组合数的和 36

基础实验2-2.4 :装箱问题 37

基础实验2-2.5 :整数分解为若干项之和 39

进阶实验2-3.1 :海盗分赃 40

进阶实验2-3.2 :用扑克牌计算24点 43

进阶实验2-3.3 :两个有序链表序列的交集 45

进阶实验2-3.4 :素因子分解 46

第3章 线性结构 48

案例3-1.1 :线性表元素的区间删除(主教材习题3.3 ) 49

案例3-1.2 :最长连续递增子序列(主教材习题3.4 ) 52

案例3-1.3 :求链表的倒数第m个元素(主教材习题3.5 ) 56

案例3-1.4 :一元多项式的乘法运算(主教材习题3.6 ) 58

案例3-1.5 :符号配对(主教材习题3.8 ) 63

案例3-1.6 :堆栈操作合法性(主教材习题3.9 ) 71

案例3-1.7 :汉诺塔的非递归实现(主教材习题3.10 ) 76

案例3-1.8 :表达式转换(主教材习题3.11 ) 80

案例3-1.9 :银行业务队列简单模拟 87

基础实验3-2.1 :一元多项式求导 91

基础实验3-2.2 :单链表分段逆转 92

基础实验3-2.3 :共享后缀的链表 94

基础实验3-2.4 :出栈序列的合法性 96

基础实验3-2.5 :堆栈模拟队列 97

进阶实验3-3.1 :求前缀表达式的值 99

进阶实验3-3.2 :银行排队问题之单窗口“夹塞”版(主教材习题8.5 ) 101

第4章 树 106

案例4-1.1 :根据后序和中序遍历输出前序遍历(主教材题目集练习4.1 ) 108

案例4-1.2 :是否二叉搜索树(主教材习题4.3 ) 111

案例4-1.3 :平衡二叉树的根(主教材题目集练习4.2 ) 114

案例4-1.4 :堆中的路径(主教材题目集练习4.3 ) 119

案例4-1.5 :顺序存储的二叉树的最近的公共祖先问题(主教材习题4.5 ) 122

案例4-1.6 :树种统计 125

案例4-1.7 :文件传输 129

基础实验4-2.1 :树的同构 135

基础实验4-2.2 :列出叶结点 138

基础实验4-2.3 :二叉树的非递归遍历 140

基础实验4-2.4 :搜索树判断 143

基础实验4-2.5 :关于堆的判断 145

基础实验4-2.6 :目录树 147

基础实验4-2.7 :修理牧场 149

基础实验4-2.8 :部落 150

进阶实验4-3.1 :家谱处理 153

进阶实验4-3.2 :Windows消息队列 155

进阶实验4-3.3 :完全二叉搜索树 157

进阶实验4-3.4 :笛卡儿树 159

进阶实验4-3.5 :哈夫曼编码 161

第5章 散列查找 167

案例5-1.1 :线性探测法的查找函数(主教材习题5.10 ) 168

案例5-1.2 :分离链接法的删除操作函数(主教材习题5.11 ) 170

案例5-1.3 :整型关键字的散列映射 173

案例5-1.4 :字符串关键字的散列映射 176

基础实验5-2.1 :整型关键字的平方探测法散列 181

基础实验5-2.2 :电话聊天狂人 182

基础实验5-2.3 :QQ账户的申请与登录 184

进阶实验5-3.1 :航空公司VIP客户查询 186

进阶实验5-3.2 :新浪微博热门话题 188

进阶实验5-3.3 :基于词频的文件相似度 190

进阶实验5-3.4 :迷你搜索引擎 193

第6章 图 197

案例6-1.1 :邻接矩阵存储图的深度优先遍历(主教材题目集练习6.1 ) 198

案例6-1.2 :邻接表存储图的广度优先遍历(主教材题目集练习6.2 ) 200

案例6-1.3 :哥尼斯堡的“七桥问题” 205

案例6-1.4 :地下迷宫探索 210

案例6-1.5 :旅游规划 220

案例6-1.6 :哈利嘦波特的考试 227

案例6-1.7 :公路村村通 233

基础实验6-2.1 :列出连通集 242

基础实验6-2.2 :汉密尔顿回路 244

基础实验6-2.3 :拯救007 247

基础实验6-2.4 :六度空间 249

基础实验6-2.5 :城市间紧急救援 252

基础实验6-2.6 :最短工期 254

进阶实验6-3.1 :红色警报 257

进阶实验6-3.2 :社交网络图中结点的“重要性”计算 259

进阶实验6-3.3 :天梯地图 262

进阶实验6-3.4 :拯救007(升级版) 265

进阶实验6-3.5 :关键活动 268

进阶实验6-3.6 :最小生成树的唯一性 271

第7章 排序 274

案例7-1.1 :模拟Excel排序 275

案例7-1.2 :插入排序还是归并排序 279

案例7-1.3 :寻找大富翁 284

案例7-1.4 :统计工龄 288

案例7-1.5 :与零交换 290

基础实验7-2.1 :魔法优惠券 293

基础实验7-2.2 :插入排序还是堆排序 295

基础实验7-2.3 :德才论 297

基础实验7-2.4 :PAT排名汇总 299

进阶实验7-3.1 :电话号码的磁盘文件排序 302

进阶实验7-3.2 :Google 24小时内的搜索关键字排行榜 303

进阶实验7-3.3 :论坛帖子排序 304

第8章 综合应用 305

基础实验8-1.1 :单身狗 306

基础实验8-1.2 :直捣黄龙 308

进阶实验8-2.1 :逆散列问题 312

进阶实验8-2.2 :特殊堆栈 314

进阶实验8-2.3 :二叉搜索树的最近公共祖先 318