内容简介
本书可分为6个部分,分别为绪论、线性表、树、图、查找与排序、文件。
第1章概述数据结构可能涉及的内容和分析方法,讲述了算法和程序的差异,算法的评价等问题。
第2、3、4、5章讲述线性表结构、特殊线性表——栈和队列、字符串和数组与广义表。从顺序存储结构和链表结构两个方面来阐述线性表的存储结构和建立在存储结构之上的算法设计,以及线性表的广泛应用,如栈、队列、字符串、数组、广义表等,并进一步讨论了这些数据结构的应用,如程序调用、中断、皇后问题、火车编组问题等。
第6章讨论树。本书与其他教材不同的是,深入讨论了一般树的记数、层次、树高等基本问题。在二叉树的生成中讲解了多种生成算法。在二叉树的前序、中序和后序遍历运算中讨论了树的递归和非递归算法遍历算法,除此之外,还讨论了欧拉遍历和按层次遍历,讨论了线索二叉树及其应用,二叉树的典型应用——哈夫曼树和哈夫曼编码、排序树、平衡树、2—3树、红黑树、表示树、判定树等问题。
第7章讨论图。内容包括图、图的遍历、生成树问题、最短路径问题、拓扑排序和关键路径等。
第8、9章讨论目前常见的查找算法和排序算法。在查找算法中,从静态表、动态表和哈希表三个方面来研究查找算法。静态表的数据结构是线性表,动态表的查找主要有二叉树查找、B树查找和键树查找等,哈希表的构造和查找则用哈希算法来实现。在排序中分为内排序和外排序两个部分。内排序中主要讨论了插入排序、交换排序、选择排序、归并排序、基数排序等8种经典的排序算法。外排序讨论了磁盘排序、胜者树和败者树、最佳归并树和磁带排序等。
第10章讨论了文件。从文件的存储结构入手讨论文件的管理,有顺序文件、索引文件、索引顺序文件、散列文件、多关键字文件等。
上述内容涵盖了目前国内数据结构教材的几乎所有内容,有的进行了深入的讨论,有的比较初步,这与教材编写的指导思想有关。
本书由王震江担任主编,何英、吴绍兵任副主编。其中第1章、第2章(部分)、第3章、第4章、第6章由王震江编写,第2章(部分)、第5章、第8章、第9章由吴绍兵编写,第7章、第10章由何英编写。王震江对全书进行了主审,统一了图例。俞锐刚调试通过了全部算法,统编了全书的习题。邱莎审改了全文。