![]()
内容推荐 “数据结构”是计算机类专业最重要的专业基础课之一,主要讲授数据的有效组织方法以及解决实际问题的各种经典算法。而经典算法的威力,往往是在处理大规模数据量时才真正体现。只有让学生动手解决规模较大的问题,才能帮助学生建立感性认识,更好地理解数据结构和算法存在的意义。 本书第0章概要介绍了本书的特点和内容结构;第1章围绕时空复杂度分析与比较提供练习;第2章提供对C语言关键内容的复习性练习;第3章针对线性表的知识点设计应用问题进行练习;第4章围绕树的存储、重要性质与应用进行练习;第5章是对散列表和经典哈希映射技术的应用;第6章设计了对图的各种表示方法和相关算法的训练;第7章通过对各种类型的大规模排序问题的求解,帮助读者理解各种经典排序算法的特点和适用范围;最后第8章给出的题目均涉及多个知识点的综合应用,帮助读者更深刻体会数据结构的灵活运用。希望读者能通过本书的学习提高实践能力,使数据结构与算法成为用计算机解决实际问题的有效工具。 本书可作为高等学校计算机类专业“数据结构”课程的参考用书。 作者简介 何钦铭,浙江大学计算机学院教授。现任浙江大学继续教育学院院长、教育部高等学校大学计算机课程教学指导委员会副主任委员、浙江省高校计算机类专业教学指导委员会主任委员。 主要研究方向为数据挖掘、虚拟计算系统技术等,曾承担国家973重点基础研究发展计划、国家自然科学基金、“核高基”重大科技专项、国家科技支撑计划等方面多项课题,已累计发表学术论文100余篇。 近年来主要授课课程为“C程序设计基础及实验”、“数据结构基础”、“高级数据结构与算法分析”。为国家级精品课程及资源共享课程“C程序设计基础及实验”主持人、“浙江大学计算机技术与工程”国家级实验教学示范中心负责人。曾获国家优秀教学成果二等奖4项、浙江省优秀教学成果一等奖3项,及霍英东优秀青年教师奖、宝钢优秀教师奖、浙江省高等学校教学名师等荣誉。 目录 第0章 概论 第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.10) 案例3-1.8:表达式转换(主教材习题3.11) 案例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:整型关键字的平方探测法散列 基础实验5-2.2:电话聊天狂人 基础实验5-2.3:QQ账户的申请与登录 进阶实验5-3.1:航空公司VIP客户查询 进阶实验5-3.2:新浪微博热门话题 进阶实验5-3.3:基于词频的文件相似度 进阶实验5-3.4:迷你搜索引擎 第6章 图 案例6-1.1:邻接矩阵存储图的深度优先遍历(主教材题目集练习6.1) 案例6-1.2:邻接表存储图的广度优先遍历(主教材题目集练习6.2) 案例6-1.3:哥尼斯堡的“七桥问题” 案例6-1.4:地下迷宫探索 案例6-1.5:旅游规划 案例6-1.6:哈利·波特的考试 案例6-1.7:公路村村通 基础实验6-2.1:列出连通集 基础实验6-2.2:汉密尔顿回路 基础实验6-2.3:拯救007 基础实验6-2.4:六度空间 基础实验6-2.5:城市间紧急救援 基础实验6-2.6:最短工期 进阶实验6-3.1:红色警报 进阶实验6-3.2:社交网络图中结点的“重要性”计算 进阶实验6-3.3:天梯地图 进阶实验6-3.4:拯救007(升级版) 进阶实验6-3.5:关键活动 进阶实验6-3.6:最小生成树的唯一性 第7章 排序 案例7-1.1:模拟Excel排序 案例7-1.2:插入排序还是归并排序 案例7-1.3:寻找大富翁 案例7-1.4:统计工龄 案例7-1.5:与零交换 基础实验7-2.1:魔法优惠券 基础实验7-2.2:插入排序还是堆排序 基础实验7-2.3:德才论 基础实验7-2.4:PAT排名汇总 进阶实验7-3.1:电话号码的磁盘文件排序 进阶实验7-3.2:Google 24小时内的搜索关键字排行榜 进阶实验7-3.3:论坛帖子排序 第8章 综合应用 基础实验8-1.1:单身狗 基础实验8-1.2:直捣黄龙 进阶实验8-2.1:逆散列问题 进阶实验8-2.2:特殊堆栈 进阶实验8-2.3:二叉搜索树的最近公共祖先 |