有关此电子图书的说明 本人愿意与大家分享些好的电子图书,毕竟每个朋友的兴趣爱好是广泛的,而经济实 力也是有限的。文学、法律、计算机、学术等方面的图书,我都可以帮你找找,所以,当你 想要看什么图书时,可以联系我。我的QQ是:8501385 此PDF文件为本人亲自制作,请各位爱书之人尊重个人劳动,敬请您不要修改此PDF 文件
有关此电子图书的说明 本人愿意与大家分享些好的电子图书,毕竟每个朋友的兴趣爱好是广泛的,而经济实 力也是有限的。文学、法律、计算机、学术等方面的图书,我都可以帮你找找,所以,当你 想要看什么图书时,可以联系我。我的 QQ 是:8 5 0 1 3 8 5 5 此 PDF 文件为本人亲自制作,请各位爱书之人尊重个人劳动,敬请您不要修改此 PDF 文件
21 世纪高等职业教育 计算机技术规划教材 n数据结构 孙凌李丹主编 人民邮电出版社 POSTS TELECOM PRESS
封面设计胡平利 2,1 世纪高等职业教育 计算机技术规划教材 数据结构 ISBN7-115-13994-6 9"787115139948> SBN7-115-13994-6/TP·4965 定价:20.00元 大民邮电出版社网址www.ptpress.com.cn
21世纪高等职业教育计算机技术规划教材 数据结构 孙凌李丹主编 人民邮电出版社
图书在版编目(CIP)数据 数据结构/孙凌,李丹主编.一北京:人民邮电出版社,20059 21世纪高等职业教育计算机技术规划教材 ISBN7-115-13994-6 .数….Ⅱ.①孙.⑨②李..Ⅲ.数据结构一高等学校:技术学校一教材Ⅳ.TP3.12 中国版本图书馆CP数据核字(2005)第097021号 内容提要 本书共分9章。第1章概述,主要介绍数据、数据结构和算法等基本概念。第2章至第6章分别讨论线性 表、栈、队列、串、数组和广义表、树及图等基本类型的数据结构,内容包括它们的逻辑结构、存储结构以及 在各种存储结构下相应运算的算法,并在讨论基本运算的基础上给出一些应用例子。第7章和第8章讨论查找 和排序,并介绍几种常用的查找和排序方法。第9章上机实验,给出4个完整的实例,并全部在ⅤC++60环 境下调试通过。 本书基础理论知识的阐述由浅入深、通俗易懂。各章节列举了很多实用的例子,有助于学生加深对基础 理论知识的理解,培养实际应用的能力。除第9章的算法外,其余章节的算法和程序的描述都采用了类C 语言,便于学生理解和在上机时参考使用。 本书适用于高职高专院校数据结构课程的教学,讲授学时为60~70学时,还可以作为计算机专业技术 人员自学或参加等级考试的参考用书。 21世纪高等职业教育计算机技术规划教材 数据结构 ◆主编孙凌李丹 责任编辑赵慧君 ◆人民邮电出版社出版发行北京市崇文区夕照寺街14号 邮编100061电子函件315@ptpress.com.cn 网址htp/www.ptpress.com.cn 北京艺辉印刷有限公司印刷 新华书店总店北京发行所经销 ◆开本:787×1092116 印张:14 字数:332千字 2005年9月第1版 印数:1-4000册 2005年9月北京第1次印刷 ISBN7-115-13994-6TP·4965 定价:20.00元 读者服务热线:(010)67170985印装质量热线:(010)67129223
编者的话 “数据结构”是计算机程序设计的重要理论基础,是计算机及其应用专业的一门重要基础 课程和核心课程,是计算机软件专业课程的必学课程。 随着计算机软件和硬件的发展,计算机应用己经深入到社会的各个领域,各行各业都需 要对大量的非数值数据进行存储、加工和管理。如何根据实际应用的要求,对数据进行有效 的组织、存储和处理,进而编制出相应的高效率算法,这是数据结构这门课程所要研究并加 以解决的问题。通过数据结构课程的学习,应使学生能够应用数据结构的知识和技巧,更好 地进行算法和程序的设计,并为学习操作系统、编译技术和数据库等后续课程打下良好的 基础。 本书共分9章。第1章概述,主要介绍数据、数据结构和算法等基本概念。第2章至第 6章分别讨论线性表、栈、队列、串、数组和广义表、树及图等基本类型的数据结构,内容 包括它们的逻辑结构、存储结构以及在各种存储结构下相应运算的算法,并在讨论基本运算 的基础上给出一些应用例子。第7章和第8章讨论查找和排序,并介绍了几种常用的查找和 排序方法。第9章上机实验,给出4个完整的实例,并全部在vC++6.0环境下调试通过。 本书基础理论知识的阐述由浅入深、通俗易懂。各章节列举了很多实用的例子,有助于 学生加深对基础理论知识的理解,培养实际应用的能力。除第9章的算法外,其余章节的算 法和程序的描述都采用了类C语言,便于学生理解,和在上机时参考使用。 本书第章、第3章、第4章、第9章由周琳编写;第2章由王桂芝编写;第5章由李 丹编写;第6章由高大利编写;第7章、第8章由孙凌编写。孙凌、李丹任主编,王桂芝、 周琳和高大利任副主编。 由于作者水平有限,书中难免出现错误和缺点,希望读者批评指正。 作者 2005年7月
目录 第1章概述…… 1.1什么是数据结构……… 12基本概念和术语……………………3 1.3数据结构的重要性……………… 14算法评价…… 6 14.1算法的定义及表示……………6 142算法的特征及评价方法… 1.5算法分析 15.1算法的时间复杂度分析 8 152算法的空间复杂度分析 ,中示非非卡分非 12 习题… ……12 第2章线性表 …65 21基本概念和运算………………………………………15 2LI1线性表的定义…………………………………… 15 21.2线性表的运算 ………15 22顺序表 ……6 221顺序表的结构 16 22.2顺序表的运算… 17 23链表……………… 19 231单链表和循环单链表…… ………20 232双向链表和双向循环链表………4 24限定性线性表及其应用………………… ……26 24l栈………………………………………27 24.2队列……………………………………… 习题… 42 第3章串 …………………4 3.1串类型的定义 32串的基本操作 …………………48 33串的存储结构 ,,, 3.31串的顺序存储及运算…………………………………49 332字符串的链式存储及运算 34串操作应用举例 …52 习题
数据结构 第4章数组和广义表……………………………………………55 4]多维数组… 55 411数组的逻辑结构… …………5 4L.2数组的顺序存储结构… 42特殊矩阵的压缩存储…………… 42.1对称矩阵……………57 42.2三角矩阵……………58 43稀疏矩阵…… …59 43.1三元组表存储…… 43.2十字链表存储…………60 44广义表 441广义表的定义和基本运算………………………………………………61 442广义表的存储 63 443广义表基本操作的实现 习题 ……………………67 第5章树…… 5l树的定义和基本术语………………………70 511树的定义………………………………… 70 512树的基本术语……………… ………………………72 513树的基本运算…………………………………………………………72 52二叉树… 52二叉树的定义……………………73 522二又树的重要性质……………………………………74 523二叉树的存储结构………………………………………76 53遍历二叉树………… 531先序遍历 ……78 532中序遍历………………………………… 533后序遍历……………………………………… ……81 534应用举例…………82 54线索二叉树………………………………85 54线索二叉树的定义… ………………………85 542线索二叉树的存储结构…… 543遍历线索二叉树… 897 55树和森林 …………90 55树的存储结构…… ,,,,,,,,,,, 552树、森林和二叉树的转换……… 553树和森林的遍历 ……95 56哈夫曼树…… …………96 56|哈夫曼树的定义…………………………96
目录 562哈夫曼树的构造 98 563哈夫曼编码……………… 习题………………………100 第6章图 …………………………………104 61图的定义和基本术语………… …………104 62图的存储结构……………105 621邻接矩阵表示法… 622邻接表表示法…………107 63图的遍历 631深度优先搜索 63.2广度优先搜索 64生成树和最小生成树…… ……ll1 641基本概念 …………1 642普里姆(Prim)算法 ,,,,,,,,,非,a.非,,非非,非 …………112 643克鲁斯卡尔( Kruskal)算法……………………… 114 65拓扑排序………………116 66关键路径… ,,,,,,,,,,,,,,,,,,,,,,,·,,,,,,,,,,,,,,非,,,,,,非,着 118 67最短路径………………………122 67.1单源最短路径……………… 122 672所有顶点之间的最短路径…… …………125 习题 128 第7章查找…… ,, ……133 7.1线性表查找… ……134 71.1顺序查找………………………………134 712折半查找………… 713索引查找 …438 7.2树表查找…… ………140 7.21二叉排序树………………………………140 *7.22平衡二叉树……………46 7.3哈希表查找…………………………………153 7.3.哈希表的定义……153 732哈希函数的构造 733冲突处理方法 … 7.34哈希表的查找及其分析…………………… ………156 习题…………………………159 第8章内部排序 ……163 81插入排序………… 、,,,, 811直接插入排序… ……164 812折半插入排序… ………167 3
数据结构 813希尔排序………………………… 82交换排序 170 821冒泡排序………………………………………………170 822快速排序………… 8.3选择排序……………………………………… 831简单选择排序 …177 832树形选择排序…………………78 83.3堆排序……………………………………………………………………………179 84归并排序……………………………………184 85基数排序 …………………………………187 851多关键字排序………… ……187 8.52链式基数排序 ……188 86各种内部排序方法的比较与讨论………192 习题………………………194 第9章上机实训………………………… 91《线性表》实训——学生成绩管理………………………………198 92《栈和队列》实训——利用队列解决分油问题 202 93《树》实训——借助二叉树实现排序 207 94《图》实训—最小生成树… ……9 参考文献……… …213