数据结构与算法——C++版(第2版)

作者:陈曙晖译

丛书名:计算机与智能科学丛书

定价:69元

印次:1-1

ISBN:9787302063964

出版日期:2003.04.01

印刷日期:2003.04.16

图书责编:王军

图书分类:教材

电子书
在线购买
分享
内容简介
作者简介
前言序言
资源下载
查看详情 查看详情 查看详情

本书是一本介绍数据结构与算法的优秀书籍。;本书系统介绍了C+十面向对象程序设计、算法复杂度、链表、栈、队列、递归、树、图、排序和查找算法、散列技术、数据压缩算法、内存管理等内容;尤其对递规算法进行了深入剖析。在附录中详细介绍了大O符号与标准模板库:在大多数章中提供了相应的实例分析和程序设计作业。;本书适合作为计算机软件专业或其他相关专业的教科书。对于需要参加计算机考试,或者希望自学计算机软件开发的人员也有非常大的帮助。

前 言 数据结构知识是计算机科学教育的一个基本组成部分,其他许多计算机科学领域都是构建在这个基础之上。对于想要从事实际的软件设计、实现、测试、维护工作的学生而言,掌握基本数据结构的知识是非常必要的。本书介绍的内容将会给从事以上工作的读者提供必要的知识。 本书突出了数据结构中三个重要方面。首先,强调了数据结构与它们的算法之间的联系,包括分析算法的复杂度。接着,依照当前的设计和实现范例,使用面向对象的方法来介绍数据结构。特别强调了有助于信息的封装与分解的信息隐藏原理。最后,本书的一个重要组成部分是数据结构的实现,它选择C++作为程序语言。 C++语言,作为C语言面向对象的后裔,在业界和学术界得到了广泛的应用,是一种非常优秀的程序语言。自然地,我们就选用C++来介绍数据结构。虽然人们也使用过Modula-2和Ada语言来讲授数据结构,但是传统上一直是使用Pascal来讲授数据结构。而且,由于C++语言在应用程序设计中的广泛使用以及这门语言面向对象的特性,使用它来讲授数据结构和算法课程(即使是入门级的课程)是非常合理的。 这本书适合作为教材,它包括旧的ACM(美国计算机协会)课程中CS2和CS7下所列的全部主题。同样,它也能满足新的ACM课程中CA202、CD202和CF204的大部分要求。 我们在大多数章节中都包括了一个实例分析,它阐明了一个完整的、使用特定算法和数据结构的环境为了说明所论述的主题的广泛应用范围,这些实例分析都是从计算机科学的不同领域中挑选出来,包括解释程序、符号计算和文件处理。 本书自始至终包含了简要的C++程序例子,举例说明数据结构在实践中的重...

目录
荐语
查看详情 查看详情
目    录

第1章  C++面向对象程序设计 1

1.1  抽象数据类型 1

1.2  封装 1

1.3  继承 5

1.4  指针 8

1.4.1  指针和数组 10

1.4.2  指针和复制构造函数 12

1.4.3  指针和析构函数 15

1.4.4  指针和引用变量 15

1.4.5  函数指针 17

1.5  多态性 18

1.6  C++和面向对象程序设计 20

1.7  标准模板库 21

1.7.1  容器 21

1.7.2  迭代器 22

1.7.3  算法 22

1.7.4  函数对象 23

1.8  标准模板库中的向量 25

1.9  数据结构与面向对象编程 32

1.10  实例分析:随机访问文件 32

1.11  习题 43

1.12  程序设计作业 45

第2章  复杂度分析 48

2.1  计算复杂度和渐进复杂度 48

2.2  大O符号 49

2.3  大O符号的性质 51

2.4  Ω符号与Θ符号 52

2.5  可能的问题 53

2.6  复杂度举例 54

2.7  寻找渐近复杂度举例 55

2.8  最好、平均和最坏情况 57

2.9  阻尼复杂度 59

2.10  习题 63

第3章  链表 67

3.1  单链表 67

3.1.1  插入 72

3.1.2  删除 74

3.1.3  查找 79

3.2  双链表 80

3.3  循环链表 84

3.4  跳跃链表 86

3.5  自组织链表 90

3.6  稀疏表 94

3.7  标准模板库中的链表... 查看详情

查看详情