python的算法分析_Python算法设计与分析

本书深入探讨了算法初步、排序算法、查找、双指针问题、哈希算法、深度优先搜索、广度优先搜索、回溯算法、动态规划、贪心算法、分治算法、并查集和最短路径算法等,特别强调Python在算法实现中的优势。书中通过实例详细解析了各种算法的时间和空间复杂度,以及它们在实际问题中的应用。
摘要由CSDN通过智能技术生成

第1章 算法初步 1n

1.1 什么是算法 1n

1.1.1 算法的定义 1n

1.1.2 算法与程序的区别 1n

1.2 时间复杂度 2n

1.2.1 运行时间和程序复杂程度的n

关系 2n

1.2.2 时间复杂度是渐进的 2n

1.2.3 简单程序的时间复杂度分析 3n

1.2.4 时间复杂度的意义 6n

1.3 空间复杂度 8n

1.4 算法的应用 8n

1.5 Python算法的优势 9n

1.6 小结 9n

1.7 习题 10n

第1章 算法初步 1n

1.1 什么是算法 1n

1.1.1 算法的定义 1n

1.1.2 算法与程序的区别 1n

1.2 时间复杂度 2n

1.2.1 运行时间和程序复杂程度的n

关系 2n

1.2.2 时间复杂度是渐进的 2n

1.2.3 简单程序的时间复杂度分析 3n

1.2.4 时间复杂度的意义 6n

1.3 空间复杂度 8n

1.4 算法的应用 8n

1.5 Python算法的优势 9n

1.6 小结 9n

1.7 习题 10n

第2章 排序算法 12n

2.1 初级排序算法 12n

2.1.1 插入排序 12n

2.1.2 选择排序 14n

2.1.3 冒泡排序 17n

2.2 高级排序算法 19n

2.2.1 归并排序 19n

2.2.2 快速排序 21n

2.2.3 希尔排序 24n

2.2.4 堆排序 26n

2.2.5 桶排序 30n

2.3 小结 32n

2.4 习题 32n

第3章 查找 34n

3.1 顺序查找 34n

3.2 二分查找 35n

3.3 树 41n

3.4 二叉树 43n

3.4.1 二叉树的性质 43n

3.4.2 满二叉树 44n

3.4.3 完全二叉树 44n

3.4.4 创建二叉树 45n

3.4.5 遍历二叉树 46n

3.5 二叉搜索树 47n

3.5.1 二叉搜索树基础 47n

3.5.2 二叉搜索树的操作 47n

3.6 平衡二叉树 56n

3.6.1 二叉搜索树的效率 56n

3.6.2 AVL树 56n

3.7 小结 62n

3.8 习题 62n

第4章 双指针问题 65n

4.1 单链表 65n

4.1.1 建立单链表 65n

4.1.2 遍历单链表 66n

4.1.3 插入单链表 66n

4.1.4 删除单链表第n个数 68n

4.2 双指针的应用 69n

4.2.1 数组合并问题 69n

4.2.2 删除单链表倒数第n个数 71n

4.3 小结 72n

4.4 习题 72n

第5章 哈希算法 73n

5.1 哈希算法的原理 73n

5.2 哈希函数 74n

5.2.1 除法哈希算法 74n

5.2.2 乘法哈希算法 75n

5.2.3 平方取中法 75n

5.2.4 随机数哈希算法 75n

5.3 解决冲突 76n

5.3.1 开放定址法 76n

5.3.2 拉链址法 77n

5.4 哈希算法的应用 78n

5.4.1 两个数的和问题 78n

5.4.2 团体赛问题 79n

5.4.3 猜数字游戏 81n

5.5 小结 83n

5.6 习题 83n

第6章 深度优先搜索算法 85n

6.1 搜索 85n

6.2 图上的深度优先搜索 85n

6.2.1 无向图 85n

6.2.2 图的术语 86n

6.2.3 图上的搜索 88n

6.2.4 经典例题讲解(最大的油田) 89n

6.3 二叉树上的深度优先搜索 91n

6.3.1 二叉树相关术语 91n

6.3.2 二叉树上的搜索 92n

6.3.3 经典例题讲解(员工派对) 92n

6.3.4 经典例题讲解(城市危机) 97n

6.4 小结 105n

6.5 习题 106n

第7章 广度优先搜索算法 107n

7.1 依旧是图的搜索 107n

7.2 队列中的存储方式 108n

7.3 经典例题讲解 111n

7.3.1 艰难旅行 111n

7.3.2 混乱地铁 114n

7.3.3 温室大棚 116n

7.4 小结 120n

7.5 习题 120n

第8章 回溯算法 121n

8.1 回溯算法原理 121n

8.2 回溯算法的应用 124n

8.2.1 N皇后 124n

8.2.2 数独 128n

8.2.3 排列组合 132n

8.2.4 两个扩展问题 137n

8.3 小结 139n

8.4 习题 139n

第9章 动态规划 141n

9.1 动态规划介绍 141n

9.2 矿工问题 141n

9.2.1 问题描述 141n

9.2.2 问题分析 142n

9.2.3 参考实现 145n

9.3 爬楼梯问题 146n

9.3.1 问题描述 146n

9.3.2 问题分析 147n

9.3.3 参考实现 149n

9.4 背包问题 149n

9.4.1 问题描述 149n

9.4.2 问题分析 150n

9.4.3 问题实例 151n

9.4.4 参考实现 153n

9.5 最长递增子序列问题 154n

9.5.1 问题描述 154n

9.5.2 改进算法 155n

9.5.3 参考实现 156n

9.6 小结 157n

9.7 习题 157n

第10章 贪心算法 158n

10.1 贪心算法介绍 158n

10.2 硬币找零问题 159n

10.2.1 问题描述 159n

10.2.2 问题实例 159n

10.2.3 参考实现 160n

10.3 活动安排问题 160n

10.3.1 问题描述 160n

10.3.2 参考实现 161n

10.4 哈夫曼编码 162n

10.4.1 问题描述 163n

10.4.2 哈夫曼树 163n

10.4.3 贪心选择性质 165n

10.4.4 最优子结构性质 166n

10.4.5 参考实现 166n

10.5 小结 167n

10.6 习题 168n

第11章 分治算法 169n

11.1 分治算法原理 169n

11.2 分治算法应用 170n

11.2.1 二分查找 170n

11.2.2 二维数组的查找 171n

11.2.3 快速凸包算法 173n

11.2.4 快速傅氏变换 178n

11.3 小结 183n

11.4 习题 183n

第12章 并查集 184n

12.1 并查集介绍 184n

12.1.1 并查集的构造方法 184n

12.1.2 并查集的应用 184n

12.1.3 并查集3种基本操作的Python实现 186n

12.2 朋友圈 187n

12.2.1 问题描述 187n

12.2.2 问题分析 187n

12.2.3 代码 188n

12.3 图的子元素 190n

12.3.1 问题描述 190n

12.3.2 问题分析 190n

12.3.3 代码 192n

12.4 小结 193n

12.5 习题 193n

第13章 最短路径算法 194n

13.1 戴克斯特拉算法 194n

13.1.1 算法介绍 194n

13.1.2 算法证明 199n

13.1.3 算法代码 200n

13.2 贝尔曼-福特算法 202n

13.2.1 算法介绍 203n

13.2.2 算法证明 205n

13.2.3 算法代码 206n

13.3 弗洛伊德算法 208n

13.3.1 算法介绍 208n

13.3.2 算法代码 212n

13.4 A*搜索算法 215n

13.4.1 算法介绍 215n

13.4.2 算法证明 219n

13.4.3 算法代码 220n

13.5 习题 222n

第14章 数论算法 223n

14.1 欧几里得算法 223n

14.1.1 算法分析与证明 223n

14.1.2 算法代码 224n

14.1.3 算法应用 224n

14.2 中国余数定理 228n

14.2.1 算法介绍 228n

14.2.2 算法证明 229n

14.2.3 算法代码 229n

14.3 素性检验算法 230n

14.3.1 费马素性检验 230n

14.3.2 米勒-拉宾素性检验 231n

14.3.3 算法代码 233n

14.4 小结 234n

14.5 习题 234

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值