数据结构

出版时间:2012-10  出版社:清华大学出版社  作者:殷人昆  页数:426  字数:671000  

内容概要

  《数据结构(c语言描述)》是根据2007年教育部颁发的《高等学校计算机科学与技术专业公共核心知识体系与课程》规范和2011年修订的《全国硕士研究生入学统一考试计算机科学与技术学科联考计算机学科专业基础综合考试大纲》编写的数据结构主教材。全书共分10章。第1章介绍数据结构的地位和主要知识点、数据结构和算法的基本概念和算法分析的简单方法,以及c语言编程的要点。第2章~第10章对应考试大纲的6个知识单元,包括线性表,栈、队列与数组,树与二叉树,图,查找,排序等,并做了适当延伸。作者在讨论每一个知识单元时,结合30多年教学的经验和考试辅导的体会,合理安排了教材内容,力求透彻、全面。对学生读书容易忽略的地方和隐藏在书中所讨论问题背后的东西都有适当的提示。
  
《数据结构(c语言描述)》既可作为高校计算机科学与技术专业和软件工程专业本科生学习数据结构与算法课程的教材,也可以作为计算机专业考研的辅导教材或其他计算机及软件考试的复习教材,还可以作为从事计算机或软件系统开发的人员参考的学习资料。

作者简介

殷人昆,清华大学计算机系教授,1985年赴日本国东京理科大学做访问学者,研究方向为软件工程过程的质量管理和软件产品的质量评价。主要教学工作为计算机系大学本科“数据结构”,“软件工程”和研究生“软件工程设计与技术”、“软件项目管理”课程负责人,主持教育部一微软精品课程“数据结构”的建设。曾与人合作或单独编写和出版教材N0余部,其中,《数据结构》教材被评为教育部普通高等教育“十一五”国家级规划教材,并于2005年获“北京市精品教材”。曾在核心刊物私专业会议发表论文多篇,并参加或主持多项科研项目。

书籍目录

第1章 绪论
 1.1数据结构的概念及分类
 1.2使用c语言描述数据结构
 1.3算法和算法设计
 1.4算法分析与度量
 小结
 习题
第2章 线性表
 2.1线性表
 2.2顺序表
 2.3单链表
 2.4顺序表与线性链表的比较
 2.5线性链表的其他变形
 2.6线性表的应用:一元多项式及其运算
 小结
 习题
第3章 栈和队列
 3.1栈
 3.2队列
 3.3栈的应用
 3.4队列的应用
 3.5在算法设计中使用递归
 3.6双端队列
 小结
 习题
第4章 数组、串和广义表
 4.1数组
 4.2特殊矩阵的压缩存储
 4.3稀疏矩阵
 4.4字符串
 4.5广义表
 小结
 习题
第5章 树与二叉树
 5.1树的基本概念
 5.2二叉树
 5.3二叉树的存储表示
 5.4二叉树的遍历
 5.5线索二叉树
 5.6树与森林
 小结
 习题
第6章 树与二叉树的应用
 6.1二叉查找树
 6.2avl树
 6.3huffman树
 6.4堆
 6.5并查集
 6.6八皇后问题与树的剪枝
 小结
 习题
第7章 图
 7.1图的基本概念
 7.2图的存储结构
 7.3图的遍历
 7.4最小生成树
 7.5最短路径
 7.6活动网络
 小结
 习题
第8章 查找
 8.1查找的基本概念
 8.2顺序查找法
 8.3折半查找法
 8.4b树
 8.5散列表及其查找
 小结
 习题
第9章 内排序
 9.1排序的概念
 9.2插入排序
 9.3交换排序
 9.4选择排序
 9.5归并排序
 9.6基数排序
 9.7内排序算法的分析和比较
 小结
 习题
第10章 外排序
 10.1主存储器和外存储器
 10.2基于磁盘的外排序过程
 10.3m路平衡归并
 10.4初始归并段的生成
 10.5最佳归并树
 10.6并行操作的缓冲区处理
 10.7磁带归并排序
 小结
 习题
附录a程序索引
附录b实训作业要求与样例
参考文献

章节摘录

版权页:   插图:   此外,函数每递归调用一层,必须重新分配一批工作单元,包括本层使用的局部变量和形式参数(实际是上一层传来的实际参数的副本)等,这样可以防止使用数据的冲突,还可以在退出本层返回到上一层后恢复上一层的数据。 2.递归工作栈 为了保证递归过程每次调用和返回的正确执行,必须解决调用时的参数数据传递和返回地址问题。因此,在每次递归过程调用时,必须做参数保存和参数传递等工作。在高级语言的处理程序中,是利用一个“递归工作栈”来进行处理的。 每一层递归调用所需保存的信息构成一个工作记录,它通常包括如下内容: (1)返回地址:即上一层中调用自己的语句的后继语句处。 (2)在本次过程调用时,为与形式参数对应的实际参数创建副本。包括传值参数的副本空间、引用型参数和返回值的地址空间。 (3)为本层的局部变量值分配的存储空间。递归工作记录的结构如图3—16(b)所示。 在每进入一层递归时,系统就要建立一个新的王作记录,把上述项目登入,加到递归工作栈的栈顶。它构成函数可用的活动框架。每退出一层递归,就从递归工作栈退出 一个工作记录。因此,栈顶的工作记录必定是当前正在执行的这一层的工作记录,所以又称为活动记录。 以图3—15所示的计算Factorial(4)的过程为例,看递归计算的过程中递归工作栈和活动记录是如何使用的,如图3—17所示。 最初对Factorial(4)的调用由主程序执行。当函数运行结柬后控制返回到主程序RetLocl处,主程序将使用函数的返回值24(即4!)继续做计算或赋值。而在Factorial(4)函数过程内部递归调用Factorial(3)时,调用返回到Factorial程序内部RetLoc2处,计算n*(n—1)!,RetLoc2在乘法运算符*处。 就Factorial函数而言,每一层递归调用所创建的活动记录山3部分组成:实际参数值n的副本、返回上一层的指令地址和局部变量存储单元trmp。如图3—17(a)所示。 Factorial(4)的执行启动了一连串5个函数调用。图3—17(b)描述厂每一次函数调用吋的活动记录。主程序外部调用的活动记录在栈的底部,随内部调用一层层地进栈。递归结束条件出现于函数Factorial(0)的内部,从此开始一连串的返回语句。退出栈顶的活动记录,控制按返回地址转移到上一层调用递归过程处。 递归工作栈是编译程序实现递归机制时在内部建立的,使用者看不到。但是,分析算法的时间复杂度和空间复杂度时应考虑它的时间和空间开销,因此必须了解它的工作。 3.4 队列的应用 队列在计算机中也有广泛的应用,除了用作输入/输出缓冲区、为实现调度算法而创建的任务队列和进程队列之外,在数据结构方面还有很多用途。

编辑推荐

《清华大学计算机系列教材:数据结构(C语言描述)》既可作为高等学校计算机科学与技术专业和软件工程专业本科生学习数据结构与算法课程的教材,也可以作为计算机专业考研的辅导教材或其他计算机或软件考试的复习教材,还可以作为从事计算机或软件系统开发的人员参考的学习资料。

图书封面

评论、评分、阅读与下载


    数据结构 PDF格式下载


用户评论 (总计12条)

 
 

  •   作为教材来不错,不过数据结构这东西需要下苦功夫啊
  •   国内数据结构书写得好的,就三人,严蔚敏、李春葆、殷人昆。个人认为后两位更好,殷人昆的书最好,很深入,李春葆的书有上机题,当然内容本身也很好。严蔚敏的书,可能被稍稍夸大了点,考研的指定书,但其内容绝对不如后两位的好,不信自己买来对比。三个人的书我都有。这本推荐!
  •   讲解深入浅出,很容易理解
  •   内容齐全,版本新颖,值得一读!
  •   发货挺快的,挺好的样子.
  •   以前一直知道这本书的,一直想买,没有让我失望。
  •   这个商品不错,讲解经典
  •   通俗易懂,周到细致,认真耐心地读下去,受益匪浅!
  •   还可以,建议看看
  •   这本教材还是相当好理解的,前提是有c基础
  •   内容完善,正是我现在需要的。谢谢
  •   读了一半,还不错
 

250万本中文图书简介、评论、评分,PDF格式免费下载。 第一图书网 手机版

京ICP备13047387号-7