数据结构与算法(C++版)
“十二五”普通高等教育本科国家级规划教材 ,课程网站:http://teachhelp.changeip.net:9988/

作者:游洪跃、唐宁九

丛书名:高等学校计算机课程规划教材

定价:49元

印次:1-8

ISBN:9787302188940

出版日期:2009.02.01

印刷日期:2019.07.12

图书责编:汪汉友

图书分类:教材

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

书结合C++面向对象程序设计的特点,构建了数据结构与算法,对所有算法都在Visual C++ 6.0、Visual C++ 2005、Visual C++ 2005 Express、Dev-C++和MinGW Developer Studio开发环境中进行了严格的测试,作者教学网站(http://cs.scu.edu.cn/~youhongyue)提供了大量的教学支持内容。同时本书配有《数据结构与算法(C++版)实验和课程设计教程》 (ISBN 978-7-302-17503-2)供读者学习参考。 本书共分11章,第1章是基础知识,介绍了基本概念及其术语,并讨论了实用程序软件包;第2章引入线性表;第3章介绍了栈和队列,用栈实现了表达式求值;第4章介绍串,详细讨论了串的存储结构与模式匹配算法;第5章介绍数组和广义表,首次提出了广义表的使用空间表存储结构;第6章介绍了树结构,应用哈夫曼编码实现了压缩软件;第7章介绍图结构,实现了图的常用存结构,讨论了图的相关应用,并实现了相应算法;第8章介绍查找,讨论了静态查找表、动态查找表与散列表,实现了所有算法;第9章介绍排序,以简洁方式实现各种排序算法;第10章介绍了文件,讨论了各种常用文件结构;第11章介绍了算法设计技术、分析技术与可计算问题。 通过本书的学习,不但能迅速提高数据结构与算法的水平,同时还能提高C++程序设计的能力,经过适当的选择,本书能作为高等院校计算机及相关专业“数据结构”、“数据结构与算法”、“数据结构与算法分析”和“数据结构与算法设计”等课程的教材,也可供其他从事软件开发工作的读者参考。

前 言 数据结构与算法内容丰富,包含了计算机科学与技术的许多重要方面。分析和解决问题的思路和方法新颖,技巧性强,对学生的计算机软件素质的培养作用明显。培养和训练学生选用合适的数据结构与算法设计方法编写质量高、风格好的应用程序,并具备评价算法优劣的能力至关重要。 本书采用C++面向对象的观点介绍数据结构与算法,并使用模板程序设计技术,与采用面向过程的传统观点相比优势较大,使所设计的程序更容易实现代码重用,在提供通用性和灵活性的同时,又保证了效率。本书已将面向对象程序设计的思想融合到数据结构与算法中,读者通过学习可进一步提高面向对象程序设计的能力。 全书共分为11章。 第1章是基础知识,介绍了基本概念及其术语,抽象数据类型的实现,还讨论算法的概念和算法分析的简单方法。作为预备知识,读者应具有一定的C++程序设计的基础。但是为了降低读者的门槛,本章还介绍了要用的C++的主要知识点,并介绍了实用程序软件包。 第2章引入线性表,详细讨论线性表的顺序存储结构与链式存储结构。在讨论链式存储结构时,首先仿照传统方法实现线性表,然后在此基础之上,在链表结构中保存当前位置和元素个数。这样,在难度增加不大的情况下提高算法效率,使学生逐步体会改进算法的途径与方法。 第3章介绍了栈和队列,讨论了栈和队列的顺序存储结构与链式存储结构,用栈实现了表达式求值。通过学习能掌握各种栈和队列的实现与使用方法,对后继课程(如操作系统原理和编译原理)的学习打下良好的基础。本章还讨论了优先队列,使队列应用更加广泛。 第4章介绍串,详细讨论了串的存储结构与模式匹配算法,为开发串应用(如实现文本编辑软件)软件...

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

第1章 绪论1

1.1 数据结构的概念和学习数据结构的必要性1

1.2 数据结构的基本概念2

1.2.1 数据2

1.2.2 数据元素和数据项2

1.2.3 数据结构3

1.3 抽象数据类型及其实现4

1.3.1 数据类型4

1.3.2 抽象数据类型4

1.3.3 C++程序的典型构架5

1.3.4 C++的类和对象6

1.3.5 C++的友元函数7

1.3.6 运算符重载9

1.3.7 C++的参数传递12

1.3.8 C++的输入输出14

1.3.9 有关C++的动态存储分配15

1.3.10 结构与类17

1.3.11 C++的模板17

1.4 算法和算法分析19

1.4.1 算法19

1.4.2 算法分析20

1.5 实用程序软件包23

  1.6 实例研究31

1.6.1 生命游戏31

1.6.2 计算任意位数的π31

1.7 深入学习导读38

习题138

上机实验题139第2章 线性表41

2.1 线性表的逻辑结构41

2.2 线性表的顺序存储结构42

2.3 线性表的链式存储结构51

2.3.1 单链表51

2.3.2 循环链表59

2.3.3 双向链表63

2.3.4 在链表结构中保存当前位置和元素个数66

2.4 实例研究78

2.4.1 一元多项式的表示78

2.4.2 计算任意大整数的阶乘83

2.5 深入学习导读86

习题287

上机实验题287第3章 栈和队列88

3.1 栈88

3.1.1 栈的基本概念88

3.1.2 顺序栈89... 查看详情

查看详情