出版时间:2009-3 出版社:清华大学出版社 作者:[美]Ellis Horowitz 霍罗维兹 页数:470 译者:朱仲涛
Tag标签:无
前言
《数据结构基础》是一本优秀的数据结构教材,取材全面,难易适中,内容组织合理,详略得当,深入浅出,而且论证逻辑性强,所以广为国内外高校计算机专业选用。此外,这本英文教材对国内许多数据结构教材的编写也有显著影响。此中译本是《数据结构基础》c语言版第2版的译本,与第1版相比,新版篇幅扩张很大,内容全面更新,全书覆盖①线性(序)数据类型、②树型数据类型、③网状数据类型,以及④排序算法与⑤查找算法。基本数据结构包括线性表(数组与链表)、栈与队列、树、图等经典内容,特点为运用抽象数据类型(ADT)观点一一呈现。另外,书中包含大量符合ANSIC标准的程序,实例丰富,习题众多,并有大量图表。《数据结构基础(C语言版)第2版》最鲜明的特点是:用几乎一半篇幅,即第8~12章,详细讨论了各种查找表结构及其查找算法,而且内容组织很新颖。这最后5章既包括查找法的经典内容,如Hash法和AVL树等;也包括数据结构研究的新进展,如分摊复杂度分析等;还包括当前数据结构研究的热点,即各种堆结构。这部分内容特别适合数据结构提高课程,也特别适合学过基本数据结构的读者自学提高。以下列出《数据结构基础(C语言版)第2版》有关查找的内容及其编排体系。
内容概要
本书是最经典数据结构教材的最新版本,国内外大多数的同类教材都是以本书为蓝本编写而来的。 本书用C作为描述语言,全面而生动地介绍了数据结构的有关知识,如数组、栈、队列、链表、树和图,以及构成所有软件基础的排序散列技术。此外,本书还介绍了各种高级或特殊数据结构,如优先级队列、高效二叉查找树、多路查找树等。本书对大多数算法都给出了计算时间在最优、最差情形下的复杂度分析。 本书不仅可以作为计算机及相关专业本科生“数据结构”课程的教材,也可以作为研究生第一学年的“高等数据结构”课程的教材,同时,本书所介绍的各种算法的C语言实现,对有关专业人员也具有很好的参考价值。
作者简介
Ellis Horowitz是南加州大学计算机与电子工程系的教授。Horowitz博士已编著了10多本教材,并发表了大量学术论文。
书籍目录
第1章 基本概念 1.1 概观:系统生命周期 1.2 指针和动态存储分配 1.3 算法形式规范 1.4 数据抽象 1.5 性能分析 1.6 性能度量 1.7 参考文献和选读材料 第2章 数组和结构 2.1 数组 2.2 数组的动态存储分配 2.3 结构体和联合体 2.4 多项式 2.5 稀松矩阵 2.6 多维数组的表示 2.7 字符串 2.8 参考文献和选读材料 2.9 补充习题 第3章 栈与队列 3.1 栈 3.2 动态栈 3.3 队列 3.4 动态循环队列 3.5 迷宫问题 3.6 表达式求值 3.7 多重栈与多重队例 3.8 补充习题第4章 链表第5章 树第6章 图第7章 排序第8章 Hash法第9章 优先级队例第10章 高效二叉查找树第11章 多路查找树第12章 数字查找结构索引
章节摘录
第1章 基本概念 1.1 概观:系统生命周期 本书读者应具备扎实的结构化程序设计技能。要获得这些技能,读者通常应学过程序设计基础一类课程。这类课程的培养目标就是传授结构化程序设计技能,但课程强调的是语言本身的语法形式与语句使用规则,学生在这个阶段通常只能编写很简单的程序,解决的问题不用说也是很简单的。这类简单问题,一般而言,只要直接选用程序设计语言提供的某语句也许就能完成求解,例如,用数组存储数据,再利用while循环语句,可能就足以解决这一阶段的许多问题了。 本书要指导读者向前迈一大步,大幅度提高编程能力,因为以后编写的程序,其规模要大很多,功能也要复杂得多。不用说,编写规模庞大而复杂的程序,不但需要更强有力的工具,还一定需要更高级的编程技术。我们希望在随后的学习过程,读者应扎实掌握数据的抽象思维方法,同时必须熟练掌握算法的规范声明、算法的性能分析、算法的性能评价等诸多技能。设置本章的目的就是要详细论述这些内容。此外,递归程序设计方法同样至关重要,读者也必须熟练掌握,因此也是本章讨论的内容,但论述得较为简明而且篇幅不很大。我们提请读者注意,如果读者以前对递归程序设计基础未给予足够重视,了解流于肤浅,那么必须仔细研读这方面内容,以后一定会深感大有益处。然而,在讨论各种工具与各项技术之前,我们必须强凋,编程可不仅仅是写程序代码,即写完一条条程序语句就万事大吉了。与之截然相反,优秀的程序员有完全不同的观点。程序设计的首要问题,应该是首先把大规模程序系统分解成许许多多自成体系且相对独立的组成部件,然后再为各部分之间存在的相互调用,定义严格的调用格式。
图书封面
图书标签Tags
无
评论、评分、阅读与下载