





定价: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... 查看详情