封面
版权页
作者简介
内容简介
前言
第1章 算法基本概念
1-1 计算机的算法
1-2 不好的算法与好的算法
1-3 程序执行的时间测量方法:时间复杂度
1-4 内存的使用:空间复杂度
1-5 数据结构
1-6 习题
第2章 数组
2-1 基本概念
2-2 使用索引存取数组内容
2-3 新数据插入数组
2-4 删除数组元素
2-5 思考数组的优缺点
2-6 与数组有关的Python程序
2-7 习题
第3章 链表
3-1 链表数据形式与内存概念
3-2 链表的数据读取
3-3 新数据插入链表
3-4 删除链表的节点元素
3-5 循环链表(circle linked list)
3-6 双向链表
3-7 数组与链表基本操作的时间复杂度比较
3-8 与链表有关的Python程序
3-9 习题
第4章 队列
4-1 数据插入enqueue
4-2 数据读取dequeue
4-3 使用列表模仿队列的操作
4-4 与队列有关的Python模块
4-5 习题
第5章 栈
5-1 数据推入push
5-2 数据取出pop
5-3 Python中栈的应用
5-4 函数调用与栈运作
5-5 递归调用与栈运作
5-6 习题
第6章 二叉树
6-1 建立二叉树
6-2 删除二叉树的节点
6-3 搜寻二叉树的数据
6-4 更进一步认识二叉树
6-5 内存存储二叉树的方法
6-6 Python中二叉树的运用
6-7 习题
第7章 堆积树
7-1 建立堆积树
7-2 插入数据到堆积树
7-3 取出最小堆积树的值
7-4 最小堆积树与数组
7-5 Python内建堆积树模块heapq
7-6 Python硬功夫:自己建立堆积树
7-7 习题
第8章 哈希表
8-1 基本概念
8-2 哈希表转成数组
8-3 搜寻哈希表
8-4 哈希表的规模与扩充
8-5 好的哈希表与不好的哈希表
8-6 哈希表效能分析
8-7 Python程序应用
8-8 认识哈希表模块hashlib
8-9 习题
第9章 排序
9-1 排序的概念与应用
9-2 泡沫排序法(bubble sort)
9-3 鸡尾酒排序(cocktail sort)
9-4 选择排序(selection sort)
9-5 插入排序(insertion sort)
9-6 堆积树排序(heap sort)
9-7 快速排序(quick sort)
9-8 合并排序(merge sort)
9-9 习题
第10章 数据搜寻
10-1 顺序搜寻法(sequential search)
10-2 二分搜寻法(binary search)
10-3 搜寻最大值算法
10-4 习题
第11章 栈、回溯算法与迷宫
11-1 走迷宫与回溯算法
11-2 迷宫设计栈扮演的角色
11-3 Python程序走迷宫
11-4 习题
第12章 从递归看经典算法
12-1 斐波那契(Fibonacci)数列
12-2 河内塔算法
12-3 八皇后算法
12-4 分形与VLSI设计算法
12-5 习题
第13章 图形理论
13-1 图形的基本概念
13-2 广度优先搜寻算法概念解说
13-3 Python实践广度优先搜寻算法
13-4 深度优先搜寻算法概念解说
13-5 习题
第14章 图形理论之最短路径算法
14-1 戴克斯特拉(Dijkstra's)算法
14-2 贝尔曼-福特(Bellman-Ford)算法
14-3 A*算法
14-4 习题
第15章 贪婪算法
15-1 选课分析
15-2 背包问题:贪婪算法不是最完美的结果
15-3 电台选择
15-4 业务员旅行
15-5 习题
第16章 动态规划算法
16-1 再谈背包问题:动态规划算法
16-2 旅游行程的安排
16-3 习题
第17章 数据加密到信息安全算法
17-1 数据安全与数据加密
17-2 摩斯密码(Morse code)
17-3 凯撒密码
17-4 再谈文件加密技术
17-5 全天下只有你可以解的加密程序(你也可能无法解)
17-6 哈希函数与SHA家族
17-7 密钥密码
17-8 讯息鉴别码(message authentication code)
17-9 数字签名(digital signature)
17-10 数字证书(digital certificate)
17-11 习题
第18章 人工智能破冰之旅:KNN和K-means算法
18-1 KNN算法:电影分类
18-2 KNN算法:选举造势与销售烤香肠
18-3 K-means算法
18-4 习题
第19章 常见职场面试算法
19-1 质数测试
19-2 回文算法
19-3 欧几里得算法
19-4 最小公倍数(least common multiple)
19-5 鸡兔同笼问题
19-6 挖金矿问题
19-7 习题
更新时间:2022-07-29 15:08:24