本书在描述数据结构和算法时,程序结构清晰,可读性强,符合软件工程的规范要求。讲解的内容由浅入深,易于理解。文字表达简练清晰、通俗易懂。主要介绍了线性表、串、栈、队列、树和图等基本数据类型的基本概念,以及表示和算法实现,还介绍了静态、动态查找表的寒现算法,各种内部排序的算法和文件的组织形式等。本书的算法均用类C语言描述。各章后均附有内容小结及习题,以帮助学生加深对所学知识的理解和掌握。
“数据结构”课程是计算机科学与技术、计算机通信及相关专业的专业基础课,本教材是依据教育部制订的关于计算机科学与技术及相关专业的培养目标及教学大纲的要求,以培养生产、建设、管理、服务等一线所需的技术应用型人才为目标,突出理论知识和应用能力的培养。通过这门课程的学习,使学生能够掌握执行速度快、占用空间少、可靠性高、可读性好的程序的编写方法与技巧,最终达到面对一个具体应用问题时,能选择最佳的逻辑结构、存储结构及实现算法,并能初步使用时间复杂度和空间复杂度来正确地评价算法的水平。
本书内容安排合理,详略得当;讲解时始终贯穿由浅入深、易于理解的宗旨,对于重要和复杂的概念,讲述时配有例题进行示范;在文字表达上力求简练清楚、概念清晰、通俗易懂;实现的算法具体,易于调试;描述的数据结构和算法结构清晰、可读性高、符合软件工程的规范,学生的学习过程也就是复杂程序的设计过程。本书的算法使用类C语言进行描述,配有相关的解释,以帮助读者理解。
全书共分10章。第1章介绍数据结构基本概念、数据的逻辑结构、数据的存储结构、数据的运算、算法的评估;第2章介绍线性表基本概念、各种存储结构及应用;第3章介绍栈与队列基本概念、各种存储结构及应用;第4章介绍串的基本概念、各种存储结构及应用;第5章介绍数组和广义表的基本概念、存储结构及应用;第6章介绍树和二叉树基本概念、各种存储结构及遍历、线索化二叉树、哈夫曼树及其应用;第7章介绍图的基本概念、各种存储结构及遍历、最小生成树、拓扑排序、关键路径、最短路径;第8章介绍查找的基本概念、静态查找表及动态查找表的实现算法、哈希表的构造与查找算法;第9章介绍各种内部排序的算法、算法比较;第10章介绍文件的基本概念、不同文件结构的应用。每一章后面均附有小结与习题,以帮助学生加深对内容的理解,巩固知识,提高学习效率。
本书的第1章和第9章由张风琴编写;第2,3,4章由王蓉编写;第5章和第7章由杜炜编写;第6章由张水平编写;第8章由万映辉编写;第10章由马礼举编写。张凤琴和张水平制定了编写大纲,最后由张凤琴和王蓉对全文进行通审和定稿。
本教材由高等院校具有丰富教学和开发经验的一线教师和科研人员精心设计和撰写,将充分体现实践要求与教学目标统一的原则。在本书的编写过程中,西北工业大学赵正文教授,以及空军工程大学刘守义教授、殷肖川副教授和张月玲副教授对本书的编写提出了宝贵的意见;杨利和陈爱网对本书的代码进行调试;朱涛和王东对本书的图进行加工处理。编者在此对他们表示衷心的感谢。
由于作者水平有限,书中错误和疏漏之处敬请读者指正。欢迎读者用E—mail与作者联系,作者邮箱:fengqin—zhang@126.com。
编 者
2005年7月