网站首页 软件下载 游戏下载 翻译软件 电子书下载 电影下载 电视剧下载 教程攻略
书名 | 数据结构——使用C语言(第6版) |
分类 | 教育考试-大中专教材-大学教材 |
作者 | 朱战立 |
出版社 | 电子工业出版社 |
下载 | ![]() |
简介 | 内容推荐 数据结构是计算机学科各专业的一门重要的专业基础课。本书包含了近期新的研究生入学统考大纲的全部内容。本书系统地介绍了线性表、堆栈、队列、串、数组、广义表、树、二叉树、图等典型数据结构,以及递归、查找和排序的方法。本书理论叙述简洁准确、实践应用举例丰富完整,从而达到了理论和实践密切结合的目的。本书采用C语言描述算法并提供了大量上机调试通过的程序实例。本书内容丰富,难度适中,图文并茂,应用实例多,教学参考资料丰富。使用本书的读者可登录华信教育资源网(www.hxedu.com.cn)注册后免费下载教学课件。本书既可作为高等学校计算机相关专业本科、专科学生的教材,也可供从事计算机工程和应用工作的科技工作者参考。 目录 第1章绪论1 1.1数据结构的基本概念1 1.1.1数据、数据元素、数据元素的数据类型1 1.1.2数据的逻辑结构2 1.1.3数据的存储结构3 1.1.4数据的操作3 1.1.5本书的结构和主要内容4 1.2抽象数据类型4 1.3算法和算法的时间复杂度5 1.3.1算法5 1.3.2算法的性质和设计目标6 1.3.3算法的时间效率分析7 1.3.4算法耗时的实际测试10 1.3.5数据元素个数和时间复杂度12 习题113 第2章线性表15 2.1线性表概述15 2.1.1线性表的定义15 2.1.2线性表的抽象数据类型15 2.2线性表的顺序表示和实现16 2.2.1顺序表的存储结构16 2.2.2顺序表操作的实现17 2.2.3顺序表操作的效率分析19 2.2.4顺序表应用举例20 2.3线性表的链式表示和实现22 2.3.1单链表的存储结构22 2.3.2单链表的操作实现25 2.3.3单链表操作的效率分析29 2.3.4单链表应用举例30 2.3.5循环单链表31 2.3.6双向循环链表31 2.4静态链表34 2.5算法设计举例35 2.5.1顺序表算法设计举例35 2.5.2单链表算法设计举例36 习题237 第3章堆栈和队列41 3.1堆栈41 3.1.1堆栈的基本概念41 3.1.2堆栈的抽象数据类型42 3.1.3堆栈的顺序表示和实现42 3.1.4堆栈的链式表示和实现44 3.2堆栈应用47 3.2.1括号匹配问题47 3.2.2算术表达式计算问题49 3.3队列53 3.3.1队列的基本概念53 3.3.2队列的抽象数据类型54 3.3.3顺序队列及其存在的问题54 3.3.4顺序循环队列的表示和实现55 3.3.5链式队列58 3.3.6队列应用举例60 3.4优先级队列64 3.4.1顺序优先级队列的设计和实现64 3.4.2优先级队列应用举例66 习题367 第4章串71 4.1串概述71 4.1.1串及其基本概念71 4.1.2串的抽象数据类型72 4.1.3C语言的串函数72 4.2串的存储结构74 4.3串基本操作的实现算法76 4.4串的模式匹配算法80 4.4.1Brute-Force算法81 4.4.2KMP算法83 4.4.3Brute-Force算法和KMP算法的比较88 习题490 第5章数组92 5.1数组概述92 5.1.1数组的定义92 5.1.2数组的实现机制92 5.1.3数组的抽象数据类型93 5.2动态数组93 5.2.1动态数组的设计方法93 5.2.2动态数组和静态数组对比96 5.3特殊矩阵的压缩存储97 5.4稀疏矩阵的压缩存储99 5.4.1稀疏矩阵的三元组顺序表99 5.4.2稀疏矩阵的三元组链表100 习题5101 第6章递归算法104 6.1递归的概念104 6.2递归算法的执行过程105 6.3递归算法的设计方法107 6.4递归过程和运行时栈109 6.5递归算法的时间效率分析110 6.6算法设计举例113 6.6.1一般递归算法设计举例113 6.6.2回溯算法及设计举例115 习题6118 第7章广义表120 7.1广义表概述120 7.1.1广义表的概念120 7.1.2广义表的抽象数据类型121 7.2广义表的存储结构121 7.2.1头链和尾链存储结构122 7.2.2原子和子表存储结构122 7.3广义表操作的实现123 7.3.1头链和尾链存储结构下操作的实现123 7.3.2头链和尾链存储结构应用举例126 7.3.3原子和子表存储结构下操作的实现128 7.3.4原子和子表存储结构应用举例130 习题7130 第8章树和二叉树132 8.1树132 8.1.1树的定义132 8.1.2树的表示方法133 8.1.3树的抽象数据类型134 8.1.4树的存储结构134 8.2二叉树137 8.2.1二叉树的定义137 8.2.2二叉树的抽象数据类型138 8.2.3二叉树的性质138 8.3二叉树的设计和实现140 8.3.1二叉树的存储结构140 8.3.2二叉树的操作实现142 8.4二叉树遍历144 8.4.1二叉树遍历的方法和结构144 8.4.2二叉链存储结构下二叉树遍历的实现145 8.4.3二叉树遍历应用举例146 8.4.4非递归的二叉树遍历算法148 8.5线索二叉树150 8.5.1线索二叉树及其用途150 8.5.2中序线索二叉树的设计152 8.5.3中序线索二叉树循环操作的设计153 8.5.4中序线索二叉树应用举例154 8.6哈夫曼树155 8.6.1哈夫曼树的基本概念155 8.6.2哈夫曼编码问题156 8.6.3哈夫曼编码问题设计和实现157 8.7等价问题161 8.8树与二叉树的转换164 8.9树的遍历166 习题8166 第9章图170 9.1图概述170 9.1.1图的基本概念170 9.1.2图的抽象数据类型172 9.2图的存储结构173 9.2.1图的邻接矩阵存储结构173 9.2.2图的邻接表存储结构174 9.3图的实现175 9.3.1邻接矩阵存储结构下图操作的实现175 9.3.2邻接表存储结构下图操作的实现178 9.4图的遍历181 9.4.1图的深度和广度优先遍历算法181 9.4.2图的深度和广度优先遍历算法实现183 9.5最小生成树185 9.5.1最小生成树的基本概念185 9.5.2普里姆算法186 9.5.3克鲁斯卡尔算法190 9.6最短路径191 9.6.1最短路径的基本概念191 9.6.2每对顶点之间的最短路径195 9.7拓扑排序197 9.8关键路径200 习题9203 第10章排序206 10.1排序的基本概念206 10.2插入排序207 10.2.1直接插入排序208 10.2.2希尔排序209 10.3选择排序211 10.3.1直接选择排序211 10.3.2堆排序212 10.4交换排序216 10.4.1冒泡排序216 10.4.2快速排序217 10.5归并排序220 10.6基数排序222 10.7排序算法性能比较225 习题10225 第11章查找229 11.1查找的基本概念229 11.2静态查找230 11.2.1顺序表230 11.2.2有序顺序表231 11.2.3索引顺序表232 11.3动态查找235 11.3.1二叉排序树和平衡二叉树235 11.3.2B-树和B+树241 11.4哈希查找246 11.4.1哈希表的基本概念246 11.4.2哈希函数构造方法248 11.4.3哈希冲突解决方法249 11.4.4哈希表设计251 习题11254 参考文献258 |
随便看 |
|
霍普软件下载网电子书栏目提供海量电子书在线免费阅读及下载。