用python解算法谜题_编程的乐趣:用Python解算法谜题

谜题1 保持一致 1

1.1 寻找想法相同的连续人员 2

1.2 字符串、列表和元组 3

1.3 从算法到代码 4

1.4 代码优化 7

1.5 列表创建与修改 7

1.6 作用域 8

1.7 算法优化 9

1.8 单遍算法 9

1.9 应用 10

1.10 习题 11

谜题2 参加派对的最佳时间 13

2.1 反复检查时间 14

2.2 聪明地检查时间 16

2.3 有序的表示 20

2.4 习题 20

谜题3 拥有(需要一点校准的)读心术 22

3.1 编程完成助手的工作 24

3.2 编程完成魔术师的任务 28

3.3 独自掌握技巧 29

3.4 信息编码 31

3.5 4张牌的魔术戏法 31

3.6 习题 32

谜题4 让皇后保持分离 34

4.1 系统地搜索 36

4.2 用二维列表(数组)表示棋盘 38

4.3 用一维列表(数组)表示棋盘 41

4.4 迭代枚举 45

4.5 习题 46

谜题5 请打碎水晶 47

5.1 两颗球的高效搜索 48

5.2 d颗球的高效搜索 49

5.3 对两颗球减少抛球次数 53

5.4 习题 54

谜题6 寻找假币 55

6.1 分治 55

6.2 递归分治 57

6.3 三进制表示 60

6.4 称量谜题一个流行的变体 61

6.5 习题 61

谜题7 跳到平方根 62

7.1 迭代查找 62

7.2 折半查找 65

7.3 二分搜索 67

7.4 三分搜索 69

7.5 习题 69

谜题8 猜猜谁不来吃晚餐 71

8.1 第 一次尝试 72

8.2 始终寻找最大选择 73

8.3 生成所有组合 74

8.4 移除不友好的组合 76

8.5 选择最大组合 76

8.6 优化内存使用 77

8.7 应用 78

8.8 习题 79

谜题9 美国达人秀 81

9.1 每次生成并测试一个组合 83

9.2 确定缺少一门绝活的组合 84

9.3 应用 85

9.4 习题 86

谜题10 多皇后 88

10.1 递归求取最大公约数 88

10.2 递归获取斐波那契数列 89

10.3 递归求解N皇后问题 91

10.4 递归的应用 94

10.5 习题 96

谜题11 请满铺庭院 98

11.1 归并排序 99

11.2 归并排序的执行与分析 101

11.3 基线条件即2 × 2庭院 102

11.4 递归步骤 103

11.5 列表推导式的基础知识 107

11.6 美观打印 107

11.7 另一个满铺谜题 109

11.8 习题 109

谜题12 汉诺塔 111

12.1 汉诺塔的递归解决方案 112

12.2 相邻汉诺塔的递归解决方案 114

12.3 与格雷码的关系 117

12.4 习题 118

谜题13 没条理的工匠 121

13.1 分治时的围绕基准点分拣 122

13.2 与排序算法的关系 123

13.3 原地划分 126

13.4 排序也疯狂 129

13.5 习题 129

谜题14 再也不玩数独了 131

14.1 递归式数独求解 132

14.2 递归搜索过程中的推理 136

14.3 数独谜题的难度 140

14.4 习题 141

谜题15 统计零钱的组合方式 143

15.1 钞票的递归选取 143

15.2 消除重复 145

15.3 用最少的钞票支付 147

15.4 习题 148

谜题16 贪心是好事 150

16.1 贪心算法 151

16.2 最短历时规则 151

16.3 最早开始时间规则 151

16.4 最少冲突规则 152

16.5 最早结束时间规则 152

16.6 贪心算法何时有效 157

16.7 习题 158

谜题17 字母也疯狂 160

17.1 每次找到一组变位词 160

17.2 通过排序对变位词进行分组 162

17.3 通过散列操作对变位词进行分组 164

17.4 字典 165

17.5 用字典对变位词进行分组 167

17.6 散列表 169

17.7 习题 171

谜题18 充分利用记忆 173

18.1 递归解决方案 173

18.2 回溯硬币的选择过程 175

18.3 memoization技术 178

18.4 避免使用异常 179

18.5 动态规划 180

18.6 习题 180

谜题19 要记得周末 184

19.1 找到分区 185

19.2 二分图的判别 187

19.3 图的表示 189

19.4 图的着色 192

19.5 习题 193

谜题20 六度分隔 195

20.1 广度优先搜索 197

20.2 集合 198

20.3 在广度优先搜索中使用集合 199

20.4 历史 202

20.5 习题 203

谜题21 问题有价 205

21.1 用字典构造二叉查找树 207

21.2 字典形式下的二叉查找树操作 209

21.3 面向对象风格的二叉查找树 212

21.4 回到谜题:算法 216

21.5 解决谜题的代码 218

21.6 多种数据结构的对比 222

21.7 习题 222

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值