|
作者: | |
ISBN: |
9787111187981 , 7111187989
|
出版社: | |
出版日期: | 2006-7-1 |
定价: |
¥48.00 元
|
|
|
|
内容提要 :
本书针对采用ANSI C实现数据结构进行了全面的描述和深入的讨论。书中详细讨论了栈、队列、链表以及查找结构、高级树结构等功能,对裴波那契堆、伸展树、红黑树、2-3树、2-3-4树、二项堆、最小-最大堆、双端堆等新的数据结构进行了有效分析。
本书对一些特殊形式的堆结构,诸如应用在双端优先队列中的最小-最大堆和双端堆的数据结构以及左高树、裴波那契堆、二项堆等数据结构,提供了经过编译和测试的程序和算法。本书深入阐述了平摊复杂性问题,对大多数算法进行了时间复杂性的分析。
本书适合作为高等院校计算机专业算法与数据结构课程(C语言实现)的本科和研究生教材,也可供算法与数据结构受好者自学参考。
编辑推荐 :
本书针对采用ANSI C实现数据结构进行了全面的描述和深入的讨论。书中详细讨论了栈、队列、链表以及查找结构、高级树结构等功能,对裴波那契堆、伸展树、红黑树、2-3树、2-3-4树、二项堆、最小-最大堆、双端堆等新的数据结构进行了有效分析。
本书对一些特殊形式的堆结构,诸如应用在双端优先队列中的最小-最大堆和双端堆的数据结构以及左高树、裴波那契堆、二项堆等数据结构,提供了经过编译和测试的程序和算法。本书深入阐述了平摊复杂性问题,对大多数算法进行了时间复杂性的分析。
本书适合作为高等院校计算机专业算法与数据结构课程(C语言实现)的本科和研究生教材,也可供算法与数据结构受好者自学参考。
作者简介 :
Ellis Horowitz于成斯康星-麦迪逊大学获得计算机科学博士学位。他从事数据结构、算法和软件设计等领域的计算机科学教育。
Sartaj Sahni于康奈尔大学获得计算机科学博士学位,是佛罗里达大学计算机和信息工程系的资深教授和系主任,是数据结构研究和算法开发方面的资深专家。
Susan Anderson-Freed是lllinosi Wesleyan大学计算机科学系的资深教授。她在网络编程方面有着20多年丰富的教学经验。她是数据结构研究领域的资深专家。
目录 :
出版者的话
专家指导委员会
译者序
前言
第1章 基本概念
1.1 综述:系统性命周期
1.2 算法描述
1.3 数据抽象
1.4 算法的性能分析
1.5 性能测量
1.6 参考文献和文献选读
第2章 数组与结构
2.1 ADT数组
2.2 结构与共用体
2.3 ADT多项式
2.4 ADT稀疏矩阵
2.5 多维数组的存储表示
2.6 ADT字符串
2.7 参考文献和文献选读
2.8 附加习题
第3章 栈与队列
3.1 ADT栈
3.2 ADT队列
3.3 迷宫问题
3.4 表达式求值
3.5 多栈和多队列
3.6 参考文献
3.7 附加习题
第4章 链表
4.1 指针
4.2 单向链表
4.3 动态链栈与动态链队
4.4 多项式
4.5 链表的其他操作
4.6 等价关系
4.7 稀疏矩阵
4.8 双向链表
4.9 参考文献和文献选读
4.10 附加习题
第5章 树
5.1 概述
5.2 二叉树
5.3 二叉树的遍历
5.4 二叉树的其他操作
5.5 线索二叉树
5.6 堆
5.7 二叉查找树
5.8 选择树
5.9 森林
5.10 集合表示
5.11 二叉树计数
5.12 参考文献和文献选读
5.13 附加习题
第6章 图
6.1 ADT图
6.2 图的基本操作
6.3 最小代价生成树
6.4 最短路径与传递闭包
6.5 活动网络
6.6 参考文献和文献选读
6.7 附加习题
第7章 排序
第8章 散列
第9章 堆结构
第10章 查找结构
附录 ANSI C和K&RC
索引
译者序:
数据结构在计算机科学技术中,尤其是在软件设计和发展中起到了举足轻重的作用。几乎所有的计算机软件系统,如操作系统,编辑工具,编译器等都要用到数据结构的基本知识。因此,数据结构是计算机专业教学的核心课程之一,是许多后续课程的重要基础。该课程的学习质量将直接影响计算机软件系列课程的学习效果。目前,国内外有很多介绍数据结构方面的书籍。这些书籍各具特色。本书以内容全面,论述深刻,实践性强等突出特点,可以作为一部优秀的数据结构教材。.
本书是由Ellis Horowitz、Sartaj Sahni和Susan Anderson-Freed三人合著的。作者Ellis Horowitz是南加利福尼亚大学计算机科学系的教授,曾讲授数据结..
前言:
本书为什么用C语言作为描述语言呢?有以下几个方面的原因:首先,也是最重要的原因,是因为C语言已逐渐成为目前教师授课的首选语言。当然,这与目前C语言已经是个人计算机(PC和Mac)和UNIX32作站的主要开发语言有很大关系。另一个原因是C编译器和C程序开发环境已发展得较为成熟,可以很好地帮助C语言新手学习和使用。最后一个原因是在计算机科学的编程领域中使用的许多概念,诸如虚拟内存、文件系统、解析器的自动生成、词法分析器以及网络等,都是用C实现的。因此,目前C语言在大学教学规划中开设得较早,其目的就是为学生能够充分理解后来要学的计算机基本概念做准备。.
本书中出现的程序选用ANSI C描述。AN..