新書推薦:
《
别怕,试一试
》
售價:HK$
67.9
《
人才基因(凝聚30年人才培育经验与智慧)
》
售價:HK$
103.4
《
深度学习详解
》
售價:HK$
114.8
《
李白传(20世纪文史学家李长之经典传记)
》
售價:HK$
45.8
《
津轻:日本无赖派文学代表太宰治自传性随笔集
》
售價:HK$
66.7
《
河流之齿
》
售價:HK$
59.8
《
新经济史革命:计量学派与新制度学派
》
售價:HK$
89.7
《
盗墓笔记之秦岭神树4
》
售價:HK$
57.3
|
內容簡介: |
《数据结构(第二版)》介绍了数据结构的基本概念、基本理论和基本方法,包括线性表、栈和队列、字符串、多维矩阵和广义表、树和二叉树、图、排序、查找、索引技术以及相关操作的算法,并分析了算法复杂度,用应用实例说明了常用数据结构在计算机中的存储和实现。《数据结构(第二版)》算法采用C++语言描述,适合在MS VC++下使用,也可做适当修改后在DEV C++或MS VC++.NET中使用。《数据结构(第二版)》内容由浅入深,概念清晰,强调程序设计书写风格,提高算法可读性和实用性。
|
目錄:
|
目录第1章 绪论 11.1 数据结构的研究对象 11.2 概念术语 21.3 算法和算法描述 91.3.1 算法的概念 91.3.2 算法的描述方法 91.4 算法的评价方法 111.4.1 评价算法的准则 111.4.2 算法的复杂度 111.4.3 算法描写的一些说明 17本章 小结和学习要点 19习题1 19思考题1 21上机题1 21实验1 21第2章 线性表 222.1 线性表及其基本操作 222.1.1 线性表的逻辑结构定义 222.1.2 线性表的抽象数据类型定义 232.2 线性表的顺序存储结构——顺序表 252.2.1 顺序表的基本表示 252.2.2 顺序表的基本操作 282.2.3 顺序表下的其他操作 332.3 线性表的链式存储结构 352.3.1 单链表 352.3.2 循环单链表 442.3.3 双链表及循环双链表 452.3.4 静态链表* 462.4 线性表的应用 482.4.1 删除整数表中值相同而多余的元素 482.4.2 合并两个有序单链表 482.4.3 逆置单链表 492.4.4 约瑟夫环问题求解 502.5 顺序表和单链表的比较 512.5.1 时间性能比较 512.5.2 空间性能比较 52本章 小结和学习要点 53习题2 53思考题2 57上机题2 57实验2 57第3章 栈和队列 583.1 栈 583.1.1 栈的逻辑定义 583.1.2 顺序栈 583.1.3 链栈 633.2 队列 663.2.1 队列的定义 663.2.2 队列的顺序存储结构 663.2.3 队列的链式存储结构 703.3 栈和队列的应用 733.3.1 栈的应用——算术表达式求值 733.3.2 队列的应用 753.3.3 栈和队列联合应用——停车场管理 78本章 小结和学习要点 79习题3 80思考题3 82上机题3 82实验3 82第4章 字符串 834.1 字符串的逻辑结构 834.2 字符串的顺序存储结构 844.3 字符串的链式存储结构 854.4 串的模式匹配算法 864.5 字符串的应用 914.5.1 大整数加法 914.5.2 名字#征数 92本章 小结和学习要点 92习题4 92思考题4 94上机题4 94实验4 94第5章 多维矩阵和广义表 955.1 多维矩阵的操作和简单存储 955.2 矩阵的压缩存储 985.2.1 特殊矩阵的压缩存储 995.2.2 稀疏矩阵的压缩存储 102*5.3 广义表 1065.3.1 广义表的概念 1065.3.2 广义表的操作 107本章 小结和学习要点 108习题5 108思考题5 110上机题5 110实验5 110第6章 树和二叉树 1116.1 树 1116.2 二叉树 1146.2.1 二叉树的定义和基本操作 1146.2.2 二叉树的性质 1156.2.3 二叉树的存储结构 1186.3 遍历和建立二叉树 1226.3.1 遍历二叉树 1226.3.2 建立和释放二叉链表 1266.3.3 二叉树的三种遍历的非递归算法 1286.3.4 二叉树的其他应用算法 1306.4 树和森林 1316.5 哈夫曼树及其应用 1376.6 森林结构的置信度推理 142本章 小结和学习要点 144习题6 145思考题6 149上机题6 149实验6 149第7章 图 1507.1 图的定义、基本术语和操作 1507.2 图的存储结构 1517.2.1 邻接矩阵 1517.2.2 边数组 1527.2.3 邻接表 1527.2.4 图的十字链表 1577.3 图的遍历 1597.3.1 深度优先搜索遍历图 1597.3.2 广度优先搜索遍历图 1617.3.3 图的遍历 1627.4 图的连通性和生成树 1637.5 最小生成树 1647.5.1 普里姆算法 1647.5.2 克鲁斯卡尔算法 1677.6 最短路径问题 1697.6.1 求单源顶点最短路径的Dijkstra算法 1697.6.2 求顶点间最短路径的Floyd算法 1727.7 拓扑排序 1747.8 求关键路径 1757.9 图的着色问题 1807.10 隐式图与启发式搜索 180本章 小结和学习要点 183习题7 184思考题7 188上机题7 189实验7 189第8章 排序 1908.1 排序的基本概念 1908.2 插入排序 1918.2.1 直接插入排序 1918.2.2 谢尔排序 1948.3 选择排序 1958.3.1 直接选择排序 1958.3.2 堆排序 1978.4 交换排序 2008.4.1 胃泡排序 2008.4.2 快速排序 2028.5 归并排序 2058.6 基数排序 2078.7 各种内排序算法的比较 208本章 小结和学习要点 211习题8 212思考题8 216上机题8 217实验8 217第9章 查找 2189.1 查找的基本概念和术语 2189.2 以顺序表为基础的查找 2199.2.1 顺序表的顺序查找 2199.2.2 有序表的二分法查找 2229.2.3 分块查找 2269.3 树形结构的查找 2289.3.1 二叉排序树 2299.3.2 平衡二叉树 2369.4 散列查找 2429.4.1 散列查找中的几个主要概念 2429.4.2 散列函数设计方法 2439.4.3 冲突的处理方法 2469.4.4 散列表上的查找算法 2499.4.5 散列表查找的时间复杂度分析 250本章 小结和学习要点 253习题9 253思考题9 256上机题9 256实验9 256第10章 索引技术 25710.1 索引的基本概念 25710.2 线性索引 25810.2.1 稠密索引 25810.2.2 稀疏索引 25910.3 树形索引 26010.3.1 树 26010.3.2 B+树 26210.3.3 键树 263本章 小结和学习要点 268习题10 268思考题10 270上机题10 270主要参考文献 271附录上机实验报告格式 272
|
|