第5版 数据结构:使用C语言

数据结构:使用C语言(第5版)基本介绍书名:数据结构——使用C语言(第5版)
作者:朱战立
原版名称:数据结构——使用C语言
ISBN:9787121216992
类别:计算机科学
页数:320
定价:33.50¥
出版社:电子工业出版社
出版时间:2014-01-01
装帧:平装
开本:185×260 1/16
正文语种:中文
版次:5
基本信息数据结构——使用C语言(第5版)丛书名 :计算机类本科规划教材作 译 者:朱战立出版时间:2014-01千 字 数:537版 次:01-01页 数:320开 本:16(185*260)I S B N :9787121216992内容简介数据结构是计算机学科各专业的一门重要的专业基础课 。本书包含了2009年研究生入学统考大纲的全部内容 。本书系统地介绍了线性表、堆叠、伫列、串、数组、广义表、树、二叉树、图等典型数据结构,以及递归、查找和排序的方法 。本书理论叙述简洁準确、实践套用举例丰富完整,从而达到理论和实践密切结合的教学目的 。本书採用C语言描述算法 。本书内容丰富,难度适中,文字简洁準确,图文并茂,套用实例多,教学参考资料丰富 。本书免费提供教学课件,可登录华信教育资源网注册后下载 。目录信息第1章 绪论11.1 数据结构的基本概念11.1.1 数据、数据元素、数据元素的数据类型11.1.2 数据的逻辑结构21.1.3 数据的存储结构31.1.4 数据的操作31.1.5 “数据结构”课程讨论的主要内容41.2 抽象数据类型41.3 算法和算法的时间複杂度51.3.1 算法51.3.2 算法的性质和设计目标61.3.3 算法的时间效率分析71.3.4 算法耗时的实际测试101.3.5 数据元素个数和时间複杂度12习题113第2章 线性表162.1 线性表概述162.1.1 线性表的定义162.1.2 线性表的抽象数据类型162.2 线性表的顺序表示和实现172.2.1 顺序表的存储结构172.2.2 顺序表操作的实现182.2.3 顺序表操作的效率分析212.2.4 顺序表套用举例212.3 线性表的链式表示和实现242.3.1 单鍊表的存储结构242.3.2 单鍊表的操作实现272.3.3 单鍊表操作的效率分析312.3.4 单鍊表套用举例322.3.5 循环单鍊表332.3.6 双向鍊表332.4 静态鍊表372.5 算法设计举例372.5.1 顺序表算法设计举例372.5.2 单鍊表算法设计举例38习题240第3章 堆叠和伫列443.1 堆叠443.1.1 堆叠的基本概念443.1.2 堆叠的抽象数据类型453.1.3 堆叠的顺序表示和实现463.1.4 堆叠的链式表示和实现483.2 堆叠套用503.2.1 括弧匹配问题513.2.2 算术表达式计算问题533.3 伫列583.3.1 伫列的基本概念583.3.2 伫列的抽象数据类型583.3.3 顺序伫列以及存在的问题583.3.4 顺序循环伫列的表示和实现593.3.5 链式伫列623.3.6 伫列的套用653.4 优先权伫列693.4.1 顺序优先权伫列的设计和实现693.4.2 优先权伫列的套用71习题373第4章 串774.1 串概述774.1.1 串及其基本概念774.1.2 串的抽象数据类型784.1.3 C语言的串函式784.2 串的存储结构804.3 串基本操作的实现算法824.4 串的模式匹配算法874.4.1 Brute-Force算法874.4.2 KMP算法894.4.3 Brute-Force算法和KMP算法的比较94习题497第5章 数组995.1 数组概述995.1.1 数组的定义995.1.2 数组的实现机制995.1.3 数组的抽象数据类型1005.2 动态数组1005.2.1 动态数组的设计方法1005.2.2 动态数组和静态数组对比1035.3 特殊矩阵的压缩存储1045.4 稀疏矩阵的压缩存储1065.4.1 稀疏矩阵的三元组顺序表1065.4.2 稀疏矩阵的三元组鍊表109习题5110第6章 递归算法1136.1 递归的概念1136.2 递归算法的执行过程1146.3 递归算法的设计方法1166.4 递归过程和运行时栈1196.5 递归算法的时间效率分析1206.6 递归算法到非递归算法的转换1236.7 设计举例1256.7.1 一般递归算法设计举例1256.7.2 回溯算法及设计举例127习题6130第7章 广义表1337.1 广义表概述1337.1.1 广义表的概念1337.1.2 广义表的抽象数据类型1347.2 广义表的存储结构1357.2.1 头链和尾链存储结构1357.2.2 原子和子表存储结构1357.3 广义表的操作实现1367.3.1 头链和尾链存储结构下的操作实现136 7.3.2 头链和尾链存储结构套用举例1407.3.3 原子和子表存储结构下的操作实现1427.3.4 原子和子表存储结构套用举例144习题7145第8章 树和二叉树1478.1 树1478.1.1 树的定义1478.1.2 树的表示方法1488.1.3 树的抽象数据类型1498.1.4 树的存储结构1498.2 二叉树1528.2.1 二叉树的定义1528.2.2 二叉树的抽象数据类型1538.2.3 二叉树的性质1538.3 二叉树的设计和实现1558.3.1 二叉树的存储结构1558.3.2 二叉树的操作实现1578.4 二叉树遍历1598.4.1 二叉树遍历的方法和结构1598.4.2 二叉链存储结构下二叉树遍历的实现1608.4.3 二叉树遍历的套用1618.4.4 非递归的二叉树遍历算法1648.5 线索二叉树1658.5.1 线索二叉树及其用途1658.5.2 中序线索二叉树的设计1678.5.3 中序线索二叉树循环操作的设计1688.5.4 设计举例1698.6 哈夫曼树1708.6.1 哈夫曼树的基本概念1708.6.2 哈夫曼编码问题1718.6.3 哈夫曼编码问题设计和实现1738.7 等价问题1778.8 树与二叉树的转换1818.9 树的遍历182习题8182第9章 图1869.1 图概述1869.1.1 图的基本概念1869.1.2 图的抽象数据类型1889.2 图的存储结构1899.2.1 图的邻接矩阵存储结构1899.2.2 图的邻接表存储结构1909.3 图的实现1919.3.1 邻接矩阵存储结构下图操作的实现1919.3.2 邻接表存储结构下图操作的实现1949.4 图的遍历1989.4.1 图的深度和广度优先遍历算法1989.4.2 图的深度和广度优先遍历算法实现2009.5 最小生成树2029.5.1 最小生成树的基本概念2029.5.2 普里姆算法2039.5.3 克鲁斯卡尔算法2079.6 最短路径2089.6.1 最短路径的基本概念2089.6.2 每对顶点之间的最短路径212 9.7 拓扑排序2159.8 关键路径217习题9221第10章 排序22410.1 排序的基本概念22410.2 插入排序22610.2.1 直接插入排序22610.2.2 希尔排序22810.3 选择排序22910.3.1 直接选择排序22910.3.2 堆排序23110.4 交换排序23510.4.1 冒泡排序23510.4.2 快速排序23610.5 归併排序23910.6 基数排序24110.7 排序算法性能比较244习题10245第11章 查找24911.1 查找的基本概念24911.2 静态查找25011.2.1 顺序表25011.2.2 有序顺序表25111.2.3 索引顺序表25311.3 动态查找25511.3.1 二叉排序树和平衡二叉树25511.3.2 B_树和B+树26111.4 哈希查找26711.4.1 哈希表的基本概念26711.4.2 哈希函式构造方法26911.4.3 哈希冲突解决方法27011.4.4 哈希表设计272习题11275附录A 上机实习报告内容规範和上机实习报告实例279附录A.1 上机实习报告内容规範279附录A.2 上机实习报告实例279附录B 部分习题解答284参考文献311