内容推荐 本书内容分为数据结构和算法两大部分。数据结构部分详细讲述了线性数据结构、非线性数据结构的存储原理,以及对这些数据结构进行构建、添加、删除等操作。算法部分先介绍了递归、贪心、分治、动态规划、回溯等算法思维,然后详细讲解了十大排序算法、七大查找算法、四种字符串匹配算法及图的最短路径算法和最小生成树算法,以及这些算法的实现原理、实现步骤、代码实现、算法复杂度及应用场景。 本书可作为高等院校计算机及相关专业教材和参考书。同时本书无论对入门级程序员还是中高级软件开发人员来说,都具有很强的实用性,对夯实软件开发基础非常有价值。 目录 第1章 绪论 1.1 初识数据结构和算法 1.2 数据结构 1.3 算法 1.4 算法复杂度 小结 第2章 线性数据结构 2.1 顺序表(一维数组) 2.2 链表 2.3 栈 2.4 队列 2.5 串 小结 第3章 非线性数据结构 3.1 树的概述 3.2 二叉树 3.3 平衡二叉查找树 3.4 红黑树 3.5 二叉堆 3.6 哈夫曼树 3.7 B-树和B+树 3.8 图 3.9 散列表 3.10 稀疏数组 小结 第4章 算法设计思维 4.1 递归算法 4.2 贪心算法 4.3 分治算法 4.4 动态规划算法 4.5 回溯算法 小结 第5章 排序算法 5.1 排序算法概述 5.2 冒泡排序算法 5.3 选择排序算法 5.4 插入排序算法 5.5 快速排序算法 5.6 堆排序算法 5.7 希尔排序算法 5.8 归并排序算法 5.9 桶排序算法 5.10 计数排序算法 5.11 基数排序算法 小结 第6章 查找算法 6.1 线性查找算法 6.2 二分查找算法 6.3 插值查找算法 6.4 斐波那契查找算法 6.5 哈希查找算法 6.6 分块查找算法 6.7 树表查找算法 小结 第7章 字符串匹配算法 7.1 暴力匹配算法 7.2 KMP算法 7.3 BM算法 7.4 RK算法 小结 第8章 最短路径算法和最小生成树算法 8.1 弗洛伊德算法 8.2 迪杰斯特拉算法 8.3 普利姆算法 8.4 克鲁斯卡尔算法 小结 参考文献 |