数据结构(用面向对象方法与C++语言描述)第二版
普通高等教育“十一五”国家级规划教材 课件处为本书PPT教案、教学计划、例题等资源,咨询QQ:2301891038(仅限教师)。

作者:殷人昆

丛书名:清华大学计算机系列教材

定价:69.8元

印次:2-24

ISBN:9787302148111

出版日期:2007.06.01

印刷日期:2021.06.22

图书责编:杨帆

图书分类:教材

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

错误修订:162页第5行“这个模式……算法。”改为“朴素算法英文叫 brute-force search,其中 brute-force 是暴力或者是穷举的意思。”。 --- 内容简介:“数据结构”是计算机专业的核心课程,是从事计算机软件开发和应用人员必备的专业基础。随着计算机的日益普及,“数据结构”课程也在不断地发展。 本书按照清华大学计算机系本科“数据结构”大纲的要求,从面向对象的概念、对象类设计的风格和数据结构的层次开始,从线性结构到非线性结构,从简单到复,深入地讨论了各种数据结构内在的逻辑关系及其在计算机中的实现方式和使用。此外,对常用的迭代、递归、回溯等算法设计技巧,搜索和排序算法等都做了详尽的描述,并引入了简单的算法分析。 全书采用面向对象的观点讨论数据结构技术,并以兼有面向过程和面向对象双重特色的C++语言作为算法的描述工具,强化基本知识和基本能力的双基训练。全书条理清晰,通俗易懂,图文并茂,适于自学。 与本书配套的《数据结构习题解析——用面向对象方法与C++语言描述》一书已经由清华大学出版社出版。本书适合大专院校计算机、软件专业本科生使用,也可作为教师和有关科研人员的参考书。

计算机的普及极大地改变了人们的工作和生活。目前各个行业、各个领域都与计算机建立了紧密的联系,也随之带来了开发各种软件的需求。为了能够以最少的成本,最快的速度,最好的质量开发出合乎需要的软件,必须遵循软件工程的原则,把软件的开发、维护标准化、工程化,不能再像以前那样,把软件看作是个人雕琢的精品。就软件产品而言,最重要的就是建立合理的软件体系结构和程序结构,设计有效的数据结构。因此,要做好软件开发工作,必须了解如何组织各种数据在计算机中的存储、传递和转换。这样,《数据结构》这门课程显得格外重要。自1978年美籍华裔学者冀中田在国内首开这门课程以来(当时作者也在场),经过20余年的发展,本课程已成为各大学计算机专业本科的主干课程,也成为非计算机类学生和研究生学习计算机的必修课程。 “数据结构”课程脱胎于“离散数学结构”,它涉及各种离散结构(如向量、集合、树、图、代数方程、多项式等)在计算机上如何存储和处理。其内容丰富,涉及面广泛,而且还在随各种基于计算机的应用技术的发展,不断增加新的内容。特别是面向对象技术出现以后,人们认识到,用它开发出来的软件体系结构更加符合人们的习惯,质量更容易得到保证,尤其是更容易适应使用者和用户不断提出的新的需求。因此,在国际上,面向对象技术得到迅速普及,出现了大批面向对象的软件开发工具。为了适合形势的要求,有必要开设结合面向对象技术的数据结构课程。 用面向对象的观点讨论数据结构,与传统的面向过程的讲法相比,变化较大。各种数据结构的讨论都是基于抽象数据类型和软件复用的,有新意,也有继承。我们力图与过去的讲授体系保持一致,但又必须引入一些新的概念。...

课件下载

样章下载

暂无网络资源

扫描二维码
下载APP了解更多

目录
荐语
查看详情 查看详情
第1章数据结构概论1

1.1数据结构的概念1

1.1.1数据结构举例1

1.1.2数据与数据结构2

1.1.3数据结构的分类3

1.1.4数据结构课程的内容4

1.2数据结构的抽象形式6

1.2.1数据类型6

1.2.2数据抽象与抽象数据类型7

1.3作为ADT的C++类9

1.3.1面向对象的概念9

1.3.2C++中的类10

1.3.3C++中的对象12

1.3.4C++的输入输出13

1.3.5C++中的函数14

1.3.6动态存储分配17

1.3.7C++中的继承18

1.3.8多态性19

1.3.9C++的模板23

1.4算法定义24

1.5算法性能分析与度量26

1.5.1算法的性能标准26

1.5.2算法的后期测试26

1.5.3算法的事前估计27

1.5.4算法的渐进分析32

1.5.5最坏、最好和平均情况36

习题37

第2章线性表43

2.1线性表43

2.1.1线性表的概念43

2.1.2线性表的类定义44

2.2顺序表45

2.2.1顺序表的定义和特点45

2.2.2顺序表的类定义及其操作45

2.2.3顺序表的性能分析50

2.2.4顺序表的应用52

2.3单链表52

2.3.1单链表的概念53

2.3.2单链表的类定义54

2.3.3单链表中的插入与删除56

2.3.4带附加头结点的单链表59

2.3.5单链表的模板类60

2.4线性链表的其他变形66

2.4.1循环链表66

2.4.2双向链表69

2.5单链表的应用:多项式及其运算73

2.5.1多项式...