丛 书 前 言
当今世界,科学技术突飞猛进,知识经济已见端倪,国际竞争日趋激烈。教育在综合国力
的形成中处于基础地位,国力的强弱将越来越取决于劳动者的素质,取决于各类人才的质量和
数量,这对于培养和造就我国 21 世纪的一代新人提出了更加迫切的要求。21 世纪初,我国高
等教育呈快速发展的势头。教材是体现教学内容和教学方法的知识载体,是进行教学的基本工
具,也是深化教育教学改革、全面推进素质教育、培养创新人才的重要保证。因此,高等教育
教材建设必须有一个与之相适应的快速发展。
随着计算机软硬件的不断升级换代,计算机教学内容也随之更新,尤其随着教育部“高等
教育面向21 世纪教育内容与课程体系改革”计划的实施,对教材也提出了新的要求。为此我们
聘请了国内高校计算机教学方面知名的专家教授,精心策划编写了这套“高等学校 21 世纪教
材”。
为真正实施精品战略,组织编写好这套教材,我们在国内高校做了系统、详细的调查,对
教育部制订的教育计划做了认真的研究,还对国内外已出版的教材做了理性的分析,确立了依
托国家教育计划、传播先进教学理念、为培养符合社会需要的高素质创新型人才服务的宗旨。
在本套教材的策划过程中,我们多次组织了由专家及高校一线教师参加的研讨会,对现有
比较出色的教材的特点及优点进行了分析,博采众长,力求实现教材权威性与实用性的完美结
合。
本套教材有如下特点:
1.考虑到全国普通高等院校学生的知识、能力、素质的特点和实际教学情况,在编写教材
时把重点放在基本理论、基础知识、基本技能与方法上。
2 .紧密结合当前技术的新发展,在阐述理论知识的同时侧重实用性。
3.力求在概念和原理的讲述上严格、准确、精练,理论适中,实例丰富,写作风格上深入
浅出,图文并茂,便于学生学习。
4 .为适应当前高校课程种类多、课时数要压缩的教学特点,教材不仅篇幅有很大的压缩,
而且均配有电子教案,以满足现代教学新特点的需要,做到易教易学。
5.所选作者均是国内有丰富教学实践经验的知名专家、教授,所编教材具有较高的权威性。
教育的改革将不会停止,教材也将会不断推陈出新。目前本套教材即将推出,将接受广大
教学第一线教师的检验。
由于我们的水平和经验有限,这批教材在编审、出版工作中还存在不少缺点和不足,希望
使用本套教材的学校师生和广大读者提出批评和建议,以便改进我们的工作,使教材质量不断
提高。
编 者 的 话
计算学科教学计划2001 (简称CC2001 )将计算机学科分成14 个领域,每个领域分成若干
知识单元,每个知识单元又包括若干主题。
数据结构知识主要属于程序设计基础(PF )、算法与复杂性(AL )和程序设计语言(PL )等
领域。掌握这些领域的知识对于利用计算机资源,开发高效的计算机程序是非常必要的。CC2001
将这些领域的大多数知识单元规定为计算机及相关学科的本科学生必须掌握的核心知识单元。主
要包括PF3,PF4,PL4,PL6,PL9,AL1 和AL3 等知识单元,其中,PF3 为基本数据结构,包
括数组、字符串、堆栈、队列、树、图和散列表等主题;PF4 涉及递归技术;PL4 和PL9 分别为
数据类型和数据抽象;PL6 为面向对象程序设计;AL1 为算法分析的基本方法;AL3 是基本的计
算算法,包括查找、排序、哈希表算法、搜索树及图算法等主题。本书的内容涵盖上述知识单元。
“数据结构”是计算机科学与技术专业的一门核心课程,也是计算机软件和应用工作者必备
的专业基础。掌握扎实的数据结构知识有助于理工科学生进一步学习计算机技术,适应更广泛
的职业挑战。目前,我国计算机类专业和大多数理工科类专业都开设课程讲授这方面的知识。
本书在内容上注意兼顾广度和深度,不仅系统地介绍了各种传统的数据结构和各种搜索、
内外排序方法,还引入了一些比较高级的数据结构,如伸展树和跳表。本书重视算法的时间和
空间分析,对许多算法都作了详细的性能分析,包括搜索和排序时间的下界分析。
近年来,“数据结构”课程的内容和讲授体系有了很大的变革。该课程在介绍数据结构知识
的同时,普遍重视软件设计原理和程序设计方面的训练,如面向对象方法和C++程序设计。本
书采用抽象数据类型和面向对象方法研究数据结构,并使用C++语言描述。读者通过学习,掌
握数据抽象