第1部分 算法分析与程序设计基础<br>第1章 算法的基本概念<br>1.1 算法的基本概念<br>1.1.1 算法的特征<br>1.1.2 算法的4个标准<br>1.1.3 算法的描述形式<br>1.2 算法复杂性分析框架<br>1.2.1 增长次数<br>1.2.2 渐进符号<br>1.2.3 时间复杂度<br>1.2.4 空间复杂度<br>本章 小结<br>课后习题<br><br>第2章 C++算法程序设计基础<br>2.1 C++语言概述<br>2.1.1 C++语言的优势<br>2.1.2 C++语言的内容<br>2.1.3 编程工具<br>2.2 c++程序结构初步<br>2.2.1 预处理指示符初步<br>2.2.2 注释<br>2.2.3 基本输入/输出<br>2.3 使用c++语言编写简单代码<br>2.3.1 面向过程的C语言<br>2.3.2 面向过程的C++语言<br>2.3.3 面向对象的C++语言<br>2.4 C++面向对象基础<br>2.4.1 数据成员<br>2.4.2 成员函数<br>2.4..3 类对象成员的访问<br>2.4..4 类的访问限制<br>2.4.5 动态内存分配<br>2.4.6 C++程序内存分配<br>2.5 构造函数和析构函数<br>2.5.1 构造函数的概念<br>2.5.2 析构函数的概念<br>2.5.3 带参数的构造函数<br>2.5.4 重载构造函数<br>2.6 类中的this指针<br>2.7 类中的const修饰符<br>2.7.1 常对象<br>2.7.2 常成员函数<br>2.7.3 常数据成员<br>2.8 模板的基本概念<br>2.8.1 使用模板的必要性<br>2.8.2 模板的分类<br>2.9 函数模板<br>2.9.1 函数模板的定义<br>2.9.2 使用函数模板<br>2.9.3 函数模板的重载<br>2.10类模板<br>2.10.1 类模板的定义<br>2.10.2 使用类模板<br>2.11继承的基本概念<br>2.11.1 继承的必要性<br>2.11.2 继承的实现方式<br>2.11.3 继承中的静态数据成员<br>2.12基类和派生类的关系<br>2.12.1 基类指针<br>2.12.2 继承下的构造函数和析构函数<br>2.12.3 重写基类成员<br>2.12.4 调用基类成员函数<br>2.13详解protected关键字<br>2.14保护继承与私有继承<br>2.14.1 公有继承<br>2.14.2 私有继承<br>2.14.3 保护继承<br>本章 小结<br>课后习题<br>第2部分算法设计数据结构基础<br><br>第3章 线性数据结构基础<br>3.1 抽象数据类型<br>3.2 线性表基础<br>3.2.1 线性表定义及特点<br>3.2.2 顺序表<br>3.2.3 链表<br>3.2.4 教组与链表性能比较<br>3.3 栈与队列基础<br>3.3.1 栈<br>3.3.2 队列<br>本章 小结<br>课后习题<br><br>第4章 非线性数据结构基础<br>4.1 树与二叉树<br>4.1.1 树的基本概念<br>4.1.2 二叉树<br>4.2 树与二叉树的存储结构<br>4.2.1 二叉树的存储结构<br>4.2.2 树的存储结构<br>4.2.3 二叉树的遍历<br>4.3图<br>4.3.1 图的基本概念<br>4.3.2 图的存储结构<br>本章 小结<br>课后习题<br><br>第5章 排序与搜索算法基础<br>5.1 排序算法的基本概念<br>5.1.1 排序的分类<br>5.1.2 排序算法的评价标准<br>5.2 简单排序算法<br>5.2.1 插入排序<br>5.2.2 选择排序<br>5.2.3 冒泡排序<br>5.3 快速排序<br>5.4 堆排序<br>5.5 归并排序<br>5.6 希尔排序<br>5.7 线性表查找<br>5.7.1 顺序查找<br>5.7.2 二分查找<br>5.8 树与图的搜索<br>5.8.1 二叉排序树搜索<br>5.8.2 B一树<br>5.8.3 广度优先搜索<br>5.8.4 图的深度优先搜索<br>本章 小结<br>课后习题<br><br>第3部分 典型算法分析与问题求解<br>第6章 递归与分治法算法设计<br>6.1 递归法<br>6.1.1递归算法的特性<br>6.1.2 递归的执行过程<br>6.2 递归法应用举例<br>6.2.1 汉诺塔问题求解<br>6.2.2 斐波那契数列问题求解<br>6.2.3 八皇后问题<br>6.3 分治法<br>6.3.1 问题提出<br>6.3.2 分治法概述<br>6.4 分治法应用举例<br>本章 小结<br>课后习题<br><br>第7章 贪心算法设计<br>7.1 贪心法<br>7.1.1 问题提出<br>7.1.2 贪心法的基本思路<br>7.2 贪心法应用举例<br>7.2.1 背包问题<br>7.2.2 哈夫曼编码<br>7.2.3 单源最短路径<br>7.2.4 最小生成树<br>本章 小结<br>第8章 动态规划算法设计<br>第9章 回溯算法设计<br>第10章 分支界算法设计<br>附录A
展开