
作者:陈越
页数:320
出版社:高等教育出版社
出版日期:2019
ISBN:9787040515503
电子书格式:pdf/epub/txt
内容简介
本书围绕主教材中的主要知识点,本着循序渐进,由浅入深的原则,结合主教材的书后习题,设计了40道实验案例,每题给出详细的测试数据、解答和源代码,帮助读者从实际应用的角度更好地理解知识点。另外还设计了34道基础实验项目和28道进阶实验项目。每题给出详细的测试数据和解题提示,希望有兴趣的读者能在精读实验案例的基础上,自己动手实现一部分实验项目,达到充分锻炼分析问题、解决问题能力的目的。对于能力更强的读者,还可以尝试解决每章最后略带研究性质的思考题,提高自己独立思考和研究的能力。
本书第零章概要介绍了本书的特点和内容结构;第一章围绕时空复杂度分析与比较提供练习;第二章提供对C语言关键内容的复习性练习;第三章针对线性表的知识点设计应用问题;第四章围绕树的存储、重要性质与应用进行练习;第五章是对散列表和经典哈希映射技术的应用;第六章设计训练对图的各种表示方法和相关算法的熟练掌握;第七章通过对各种类型的大规模排序问题的求解,帮助读者理解各种经典排序算法的特点和适用范围;最后第八章给出的题目均涉及多个知识点的综合应用,帮助读者更深刻体会数据结构的灵活运用。希望读者能通过本书的学习提高实践能力,使数据结构与算法成为用计算机解决实际问题的有效工具。
作者简介
陈越,浙江大学计算机科学与技术学院教授,国家教学团队“程序设计系列课程教学团队”的负责人。程序设计能力标准化测试“PAT”和程序设计类教学辅助平台“拼题A”的创始人。国家精品在线开放课程“数据结构”负责人,课程注册人数累计超过40万人次。曾获国家教学成果_等奖、二等奖,浙江省教学成果一等奖多项,宝钢优秀教师奖等。
本书特色
本书围绕主教材中的主要知识点,本着循序渐进,由浅入深的原则,结合主教材的书后习题,设计了40道实验案例,每题给出详细的测试数据、解答和源代码,帮助读者从实际应用的角度更好地理解知识点。另外还设计了34道基础实验项目和28道进阶实验项目。每题给出详细的测试数据和解题提示,希望有兴趣的读者能在精读实验案例的基础上,自己动手实现一部分实验项目,达到充分锻炼分析问题、解决问题能力的目的。对于能力更强的读者,还可以尝试解决每章最后略带研究性质的思考题,提高自己独立思考和研究的能力。
本书第零章概要介绍了本书的特点和内容结构;最章围绕时空复杂度分析与比较提供练习;第二章提供对C语言关键内容的复习性练习;第三章针对线性表的知识点设计应用问题;第四章围绕树的存储、重要性质与应用进行练习;第五章是对散列表和经典哈希映射技术的应用;第六章设计训练对图的各种表示方法和相关算法的熟练掌握;第七章通过对各种类型的大规模排序问题的求解,帮助读者理解各种经典排序算法的特点和适用范围;最后第八章给出的题目均涉及多个知识点的综合应用,帮助读者更深刻体会数据结构的灵活运用。希望读者能通过本书的学习提高实践能力,使数据结构与算法成为用计算机解决实际问题的有效工具。
目录
第1章 算法与复杂度
案例1-1.1:二分查找(主教材习题1.8)
基础实验1-2.1:有序数组的插入(主教材习题1.9)
进阶实验1-3.1:两个有序序列的中位数
第2章 数据结构实现基础
案例2-1.1:简单计算器(主教材习题2.1)
案例2-1.2 :数组元素循环左移(主教材习题2.2)
案例2-1.3:数列求和(主教材习题2.3)
案例2-1.4 :递归求简单交错幂级数的部分和(主教材习题2.6)
案例2-1.5:递增的整数序列链表的插入(主教材习题2.4)
案例2-1.6 :两个有序链表序列的合并(主教材习题2.5)
案例2-1.7:输出全排列(主教材习题2.8)
基础实验2-2.1:整数的分类处理
基础实验2-2.2:求集合数据的均方差
基础实验2-2.3:组合数的和
基础实验2-2.4 :装箱问题
基础实验2-2.5:整数分解为若干项之和
进阶实验2-3.1:海盗分赃
进阶实验2-3.2 :用扑克牌计算24点
进阶实验2-3.3:两个有序链表序列的交集
进阶实验2-3.4 :素因子分解
第3章 线性结构
案例3-1.1:线性表元素的区间删除(主教材习题3.3)
案例3-1.2:最长连续递增子序列(主教材习题3.4)
案例3-1.3:求链表的倒数第m个元素(主教材习题3.5)
案例3-1.4 : 一元多项式的乘法运算(主教材习题3.6)
案例3-1.5:符号配对(主教材习题3.8)
案例3-1.6:堆栈操作合法性(主教材习题3.9)
案例3-1.7:汉诺塔的非递归实现(主教材习题3.1 0)
案例3-1.8:表达式转换(主教材习题3.1 1)
案例3-1.9:银行业务队列简单模拟
基础实验3-2.1:一元多项式求导
基础实验3-2.2:单链表分段逆转
基础实验3-2.3:共享后缀的链表
基础实验3-2.4 :出栈序列的合法性
基础实验3-2.5:堆栈模拟队列
进阶实验3-3.1:求前缀表达式的值
进阶实验3-3.2:银行排队问题之单窗口“夹塞”版(主教材习题8.5)
第4章 树
案例4-1.1:根据后序和中序遍历输出前序遍历(主教材题目集练习4.1)
案例4-1.2:是否二叉搜索树(主教材习题4.3)
案例4-1.3:平衡二叉树的根(主教材题目集练习4.2)
案例4-1.4 :堆中的路径(主教材题目集练习4.3)
案例4-1.5:顺序存储的二又树的最近的公共祖先问题(主教材习题4.5)
案例4-1.6 :树种统计
案例4-1.7:文件传输
基础实验4-2.1:树的同构
基础实验4-2.2:列出叶结点
基础实验4-2.3:二叉树的非递归遍历
基础实验4-2.4 :搜索树判断
基础实验4-2.5:关于堆的判断
基础实验4-2.6 :目录树
基础实验4-2.7:修理牧场
基础实验4-2.8:部落
进阶实验4-3.1:家谱处理
进阶实验4-3.2:Windows消息队列
进阶实验4-3.3:完全二叉搜索树
进阶实验4-3.4 :笛卡儿树
进阶实验4-3.5:哈夫曼编码
第5章 散列查找
案例5-1.1:线性探测法的查找函数(主教材习题5.10)
案例5-1.2:分离链接法的删除操作函数(主教材习题5.11)
案例5-1.3:整型关键字的散列映射
案例5-1.4:字符串关键字的散列映射
基础实验5-2.1:整型关键字的平方探测法散列
……
第6章 图
第7章 排序
第8章 综合应用















