出版时间:2007-6 出版社:清华大学 作者:殷人昆 页数:512 字数:799000
Tag标签:无
内容概要
“数据结构”是计算机专业的核心课程,是从事计算机软件开发和应用人员必备的专业基础。随着计算机的日益普及,“数据结构”课程也在不断地发展。 本书按照清华大学计算机系本科“数据结构”大纲的要求,从面向对象的概念、对象类设计的风格和数据结构的层次开始,从线性结构到非线性结构,从简单到复杂,深入地讨论了各种数据结构内在的逻辑关系及其在计算机中的实现方式和使用。此外,对常用的迭代、递归、回溯等算法设计技巧,搜索和排序算法等都做了详尽的描述,并引入了简单的算法分析。 全书采用面向对象的观点讨论数据结构技术,并以兼有面向过程和面向对象双重特色的C++语言作为算法的描述工具,强化基本知识和基本能力的双基训练。全书条理清晰,通俗易懂,图文并茂,适于自学。 与本书配套的《数据结构习题解析——用面向对象方法与C++语言描述》一书已经由清华大学出版社出版。本书适合大专院校计算机、软件专业本科生使用,也可作为教师和有关科研人员的参考书。
书籍目录
第1章 数据结构概论 1.1 数据结构的概念 1.1.1 数据结构举例 1.1.2 数据与数据结构 1.1.3 数据结构的分类 1.1.4 数据结构课程的内容 1.2 数据结构的抽象形式 1.2.1 数据类型 1.2.2 数据抽象与抽象数据类型 1.3 作为ADT的C++类 1.3.1 面向对象的概念 1.3.2 C++中的类 1.3.3 C++中的对象 1.3.4 C++的输入输出 1.3.5 C++中的函数 1.3.6 动态存储分配 1.3.7 C++中的继承 1.3.8 多态性 1.3.9 C++的模板 1.4 算法定义 1.5 算法性能分析与度量 1.5.1 算法的性能标准 1.5.2 算法的后期测试 1.5.3 算法的事前估计 1.5.4 算法的渐进分析 **1.5.5 最坏、最好和平均情况 习题第2章 线性表 2.1 线性表 2.1.1 线性表的概念 2.1.2 线性表的类定义 2.2 顺序表 2.2.1 顺序表的定义和特点 2.2.2 顺序表的类定义及其操作 2.2.3 顺序表的性能分析 2.2.4 顺序表的应用 2.3 单链表 2.3.1 单链表的概念 2.3.2 单链表的类定义 2.3.3 单链表中的插入与删除 2.3.4 带附加头结点的单链表 2.3.5 单链表的模板类 2.4 线性链表的其他变形 2.4.1 循环链表 2.4.2 双向链表 2.5 单链表的应用:多项式及其运算 **2.5.1 多项式的表示 **2.5.2 多项式的类定义 **2.5.3 多项式的加法 **2.5.4 多项式的乘法 2.6 静态链表 习题第3章 栈和队列 3.1 栈 3.1.1 栈的定义 3.1.2 顺序栈 3.1.3 链式栈 **3.1.4 栈的应用之一——括号匹配 **3.1.5 栈的应用之二——表达式的计算 3.2 栈与递归 3.2.1 递归的概念 3.2.2 递归过程与递归工作栈 **3.2.3 用回溯法求解迷宫问题 3.3 队列 3.3.1 队列的概念 3.3.2 循环队列 3.3.3 链式队列 3.3.4 队列应用举例:打印二项展开式(a+b)i的系数 **3.3.5 队列应用举例:电路布线 3.4 优先级队列 3.4.1 优先级队列的概念 **3.4.2 优先级队列的存储表示和实现 3.5 双端队列 3.5.1 双端队列的概念 3.5.2 双端队列的数组表示 3.5.3 双端队列的链表表示 习题第4章 数组、串与广义表第5章 树第6章 集合与字典第7章 搜索结构第8章 图第9章 排序第10章 文件、外部排序与搜索附录A 程序索引附录B 词汇索引参考文献
章节摘录
版权页: 插图: 4.多关键码文件 在对包含有大量数据记录的数据表或文件进行搜索时,最常用的是针对记录的主关键码建立索引,因为主关键码可以唯一地标识该记录。用主关键码建立的索引叫做主索引。每个索引项给出记录的关键码和记录在表或文件中的存放地址。 但是,在实际应用中有时需要针对其他属性进行搜索。例如,查询如下的职工信息:列出所有教师的名单,列出已婚的女职工。这些查询所询问的属性,如职务、性别、婚否等都不是主关键码,为回答以上问题,只能到表或文件中去顺序搜索,搜索效率极低。有鉴于此,除主关键码外,可以把一些经常搜索的属性设定为次关键码,并针对每一个作为次关键码的属性,建立一个称之为次索引的索引表。在次索引中,列出该属性的所有取值,并对每一个取值建立有序链表,把所有具有相同属性值的记录按存放地址递增的顺序或按主关键码递增的顺序链接在一起。 下面讨论两种多关键码文件的组织方法。 (1)多重表文件 多重表文件的特点是:除了建立主关键码的索引(称为主索引)外,对每一个次关键码项建立次关键码索引(称为次索引),所有具有同一次关键码的记录构成一个链表。每个次索引的索引项包括次关键码、存储头指针和链表长度。
编辑推荐
《普通高等教育"十一五"国家级规划教材•清华大学计算机系列教材:数据结构(用面向对象方法与C++语言描述)(第2版)》采用面向对象的观点讨论数据结构技术,并以兼有面向过程和面向对象双重特色的C++语言作为算法的描述工具,强化基本知识和基本能力的双基训练。全书条理清晰,通俗易懂,图文并茂,适于自学。
图书封面
图书标签Tags
无
评论、评分、阅读与下载