陈越《数据结构》

¥999.00¥999.00
已下架(本产品缺货或未上线)

商品介绍

编辑推荐

  本书的主要任务是介绍并探讨有关数据组织、算法设计、时间和空间效率的概念及通用分析方法,帮助读者学会数据的组织方法和现实世界问题在计算机内部的表示方法,针对问题的应用背景分析,选择合适的数据结构,从而培养高级程序设计技能。

  本书的特点是从实际应用问题出发,导出各种经典数据结构的定义、实现(存储)方法以及操作实现,并以更丰富的综合应用案例帮助读者增强对理论的感性认识,从而明白这些数据结构为什么存在,以及在什么情况下可以好解决什么样的问题。

  本书提供了丰富的学习资源,包括源代码及配套电子课件、浙江大学提供的在线系统PAT、《数据结构学习与实验指导》等。读者可以通过使用这些学习资源随时检测自己的学习效果与编程能力。

 

作者简介

  陈越,浙江大学计算机科学与技术学院教授、副院长,教育部高等学校软件工程专业教学指导分委员会委员。

  主要研究方向为医学图像处理、语义网等。先后主持过国家自然科学基金青年基金和面上基金项目、教育部优秀青年教师基金项目、与国内外企业合作项目等,发表学术论文20余篇,并著有教材和译著10部。

  近年来主要授课课程为“数据结构基础”、“高级数据结构与算法分析”、“软件工程”、“数值分析”。承担国家级教学改革项目6项,为国家精品课程“软件工程”、国家双语示范课程“数据结构与算法”、国家级教学团队“程序设计系列课程教学团队”的负责人,并主持教育部“基础拔尖人才培养计划(计算机专业)”、“卓越工程师计划(软件工程专业)”、特色专业“软件工程(金融信息学方向)”等教改项目。曾获国家优秀教学成果二等奖(2009)、浙江省优秀教学成果一等奖2项(2005、2009)、宝钢优秀教师奖(2006)等。

 

内容简介

  本书的主要任务是介绍并探讨有关数据组织、算法设计、时间和空间效率的概念和通用分析方法,帮助读者理解数据的组织方法和现实世界问题在计算机内部的表示方法,针对问题的具体应用背景进行分析,进而选择合适的数据结构,从而培养高级程序设计技能。

  本书第1章介绍了数据结构与算法的基本概念;第2章基本上是对C语言关键内容的复习,为后续章节理解数据结构的实现作准备;第3章至第7章分别介绍了线性表、树、散列表、图、排序算法等经典数据结构与算法;最后在第8章通过对两个实际生活中提炼出的问题的解答,帮助读者更深刻体会数据结构的应用。

  本书可作为高等学校计算机类专业的专业基础课“数据结构”的教材。

 

目 录

第1章   概论

 1.1   引子

 1.2   数据结构

  1.2.1   定义

  1.2.2   抽象数据类型

 1.3   算法

  1.3.1   定义

  1.3.2   算法复杂度

  1.3.3   渐近表示法

 1.4   应用实例:最大子列和问题

 本章小结

 习题

第2章   数据结构实现基础

 2.1   引子

 2.2   数据存储基础

  2.2.1   数组

  2.2.2   指针

  2.2.3   结构

  2.2.4   链表

  2.2.5   类型定义typedef

 2.3   流程控制基础

  2.3.1   分支控制

  2.3.2   循环控制

  2.3.3   函数与递归

  本章小结

  习题

第3章   线性结构

 3.1   引子

 3.2   线性表的定义与实现

  3.2.1   线性表的定义

  3.2.2   线性表的顺序存储实现

  3.2.3   线性表的链式存储实现

  3.2.4   广义表与多重链表

 3.3   堆栈

  3.3.1   堆栈的定义

  3.3.2   堆栈的实现

  3.3.3   堆栈应用:表达式求值

 3.4   队列

  3.4.1   队列的定义

  3.4.2   队列的实现

 3.5   应用实例

  3.5.1   多项式加法运算

  3.5.2   迷宫问题

  本章小结

  习题

第4章   树

 4.1   引子

  4.1.1   问题的提出

  4.1.2   查找

 4.2   树的定义、表示和术语

 4.3   二叉树

  4.3.1   二叉树的定义及其逻辑表示

  4.3.2   二叉树的性质

  4.3.3   二叉树的存储结构

  4.3.4   二叉树的操作

 4.4   二叉搜索树

  4.4.1   二叉搜索树的定义

  4.4.2   二叉搜索树的动态查找

  4.4.3   二叉搜索树的插入

  4.4.4   二叉搜索树的删除

 4.5   平衡二叉树

  4.5.1   平衡二叉树的定义

  4.5.2   平衡二叉树的调整

 4.6   树的应用

  4.6.1   堆及其操作

  4.6.2   哈夫曼树

  4.6.3   集合及其运算

  本章小结

  习题

第5章   散列查找

 5.1   引子

 5.2   基本概念

 5.3   散列函数的构造方法

  5.3.1   数字关键字的散列函数构造

  5.3.2   字符串关键字的散列函数构造

 5.4   处理冲突的方法

  5.4.1   开放定址法

  5.4.2   分离链接法

 5.5   散列表的性能分析

 5.6   应用实例

 本章小结

 习题

第6章   图

 6.1   引子

 6.2   图的基本概念

  6.2.1   图的定义和术语

  6.2.2   图的抽象数据类型

 6.3   图的存储结构

  6.3.1   邻接矩阵

  6.3.2   邻接表

 6.4   图的遍历

  6.4.1   迷宫探索

  6.4.2   深度优先搜索

  6.4.3   广度优先搜索

 6.5   最小生成树

  6.5.1   生成树的构建与最小生成树的概念

  6.5.2   构造最小生成树的Prim算法

  6.5.3   构造最小生成树的Kruskal算法

 6.6   最短路径

  6.6.1   单源最短路径

  6.6.2   每一对顶点之间的最短路径

 6.7   拓扑排序

 6.8   关键路径计算

 6.9   应用实例

  6.9.1   六度空间理论

  6.9.2   六度空间理论的验证

  本章小结

  习题

第7章   排序

 7.1   引子

 7.2   选择排序

  7.2.1   简单选择排序

  7.2.2   堆排序

 7.3   插入排序

  7.3.1   简单插入排序

  7.3.2   希尔排序

 7.4   交换排序

  7.4.1   冒泡排序

  7.4.2   快速排序

 7.5   归并排序

 7.6   基数排序

  7.6.1   桶排序

  7.6.2   基数排序

  7.6.3   单关键字的基数分解

 7.7   外部排序

 7.8   排序的比较和应用

  7.8.1   排序算法的比较

  7.8.2   排序算法应用案例

  本章小结

  习题

第8章   综合应用案例分析

 8.1   银行排队问题

  8.1.1   单队列多窗口服务

  8.1.2   单队列多窗口+VIP服务

 8.2   畅通工程问题

  8.2.1   建设道路数量问题

  8.2.2   最低成本建设问题

  本章小结

  习题

参考文献

×

【提醒】购买纸书后,扫码即可免费领取购书大礼包!

如果你已购买本书,请扫一扫封面右上角的二维码,如下图:

如果你未购买纸书,请先购买:

立即购买

长按图片下载到相册
分享到微信、朋友圈、微博、QQ等
朋友注册并购买后,您可赚
取消