啊哈算法 pdf 全文内容详细分享

276 阅读8分钟

啊哈算法

pan.baidu.com/s/1U726iEp6…

啊哈算法

我当初是因为啊哈磊写的另外一本书《啊哈!C》而认识啊哈磊的。啊哈磊还有个网站,也叫啊哈磊,这个啊哈磊网站中有个论坛,叫啊哈论坛。论坛建立短短一年半时间,就聚集了15000多个啊哈小伙伴,都是萌物。我对他的写作风格很欣赏,那是一种因热爱和探究而产生的纯粹的快乐,因此,当啊哈磊率领着他的一大波萌物开开心心地攻城略地,浩浩荡荡地兵临城下,跟我说他想写一本通俗易懂的算法书,不知是否能出版时,我的回答是:“必须出版!”

这本书出版意向的达成就是这么简单。

啊哈C语言 逻辑的挑战

这是一本非常有趣的编程启蒙书,全书从中小学生的角度来讲述,没有生涩的内容,取而代之的是生动活泼的漫画和风趣幽默的文字。并配合超萌的编程软件,从开始学习与计算机对话到自己独立制作一个游戏,由浅入深地讲述编程的思维。同时,与计算机展开的逻辑较量一定会让你觉得很有意思。你可以在茶余饭后阅读本书,甚至蹲在马桶上时也可以看得津津有味。编程将会改变我们的思维,教会我们如何思考,让我们的思维插上计算机的翅膀,以一种全新的方式来看世界。现在就让我们一起走进计算机编程的神奇世界,探索和发现计算机编程的魔力吧!

目录
​
第1章 一大波数正在靠近——排序 1
​
第1节 快简单的排序——桶排序 2
​
第2节 邻居好说话——冒泡排序 7
​
第3节 常用的排序——快速排序 12
​
第4节 小哼买书 20
​
第2章 栈、队列、链表 25
​
第1节 解密号——队列 26
​
第2节 解密回文——栈 32
​
第3节 纸牌游戏——小猫钓鱼 35
​
第4节 链表 44
​
第5节 模拟链表 54
​
第3章 枚举!很暴力 57
​
第1节 坑爹的奥数 58
​
第2节 炸弹人 61
​
第3节 火柴棍等式 67
​
第4节 数的全排列 70
​
第4章 的搜索 72
​
第1节 不撞南墙不回头——深度优先搜索 73
​
第2节 解救小哈 81
​
第3节 层层递进——广度优先搜索 88
​
第4节 再解炸弹人 95
​
第5节 宝岛探险 106
​
第6节 水管工游戏 117
​
第5章 图的遍历 128
​
第1节 深度和广度优先究竟是指啥 129
​
第2节 城市地图——图的深度优先遍历 136
​
第3节 少转机——图的广度优先遍历 142
​
第6章 短路径 147
​
第1节 只有五行的算法——Floyd-Warshall 148
​
第2节 Dijkstra算法——通过边实现松弛 155
​
第3节 Bellman-Ford——解决负权边 163
​
第4节 Bellman-Ford的队列优化 171
​
第5节 短路径算法对比分析 177
​
第7章 神奇的树 178
​
第1节 开启“树”之旅 179
​
第2节 二叉树 183
​
第3节 堆——神奇的优先队列 185
​
第4节 擒贼先擒王——并查集 200
​
第8章 更多精彩算法 211
​
第1节 镖局运镖——图的小生成树 212
​
第2节 再谈小生成树 219
​
第3节 重要城市——图的割点 229
​
第4节 关键道路——图的割边 234
​
第5节 我要做月老——二分图大匹配 237
​
第9章 还能更好吗——微软亚洲研究院面试 243
​
学C也可以很卡通
​
第1章 变量 / 0011.1 变量的由来 / 0011.2 创建变量 / 0031.3 变量赋值 / 0041.4 变量运算 / 0051.5 定义变量的技巧 / 0061.6 代码与程序的关系 / 0071.7 变量的类型 / 010
​
第2章 变量与内存的关系 / 0122.1 变量与内存的关系 / 012
​
第3章 输入与输出 / 0253.1 程序的输入输出 / 0253.2 输入的详细说明 / 0323.3 输出的详细说明 / 034
​
第4章 编译 / 0364.1 如何选择编程软件 / 0364.2 编译是什么(这是一篇水贴) / 0414.3 个完整的程序 / 043
​
第5章 函数 / 0455.1 函数的介绍 / 0455.2 头文件和函数库 / 049
​
第6章 判断语句 / 0526.1 关系预算符 / 0526.2 布尔变量 / 0606.3 if语句-卖瓜的老汉 / 0636.4 if语句-卖冰棍的逻辑 / 0716.5 习题答案 / 080
​
第7章 循环语句 / 081
​
7.1 for循环 / 083
​
7.2 while循环-邪恶的计划 / 094
​
7.3 while循环-宝藏 / 1047.4 习题答案 / 110
​
第8章 数组 / 1128.1 数组的定义 / 1128.2 数组的序号 / 1158.3 数组的操作 / 1188.4 数组与循环 / 1248.5 二维数组和多维数组 / 126
​
第9章 编程语言介绍 / 1339.1 编程语言,我将如何选择 / 1339.2 上部分结束 / 145
​
第10章 指针 / 14610.1 指针变量简介 / 14610.2 指针—的指针 / 15110.3 指针变量的作用 / 15410.4 指针的操作 / 15610.5 指针与数组 / 160
​
第11章 内存与变量 / 16611.1 动态变量 / 16611.2 动态变量产生的原因 / 17711.3 动态变量的例子 / 178
​
第12章 结构体 / 18012.1 结构体的由来 / 18012.2 结构体介绍 / 18412.3 链表的实现 / 18512.4 结构体与面向对象 / 194
​
谢幕 / 198
​
啊哈算法
​
目 录
​
第1章 编程改变思维 1
​
第1节 为什么要学习编程 1
​
第2节 本书是讲什么的,写给谁看的 4
​
第2章 梦想启航 7
​
第1节 编程的魔力 7
​
第2节 让计算机开口说话 9
​
第3节 多彩一点 18
​
第4节 让计算机做加法 21
​
第5节 数字的家――变量 26
​
第6节 数据输出――我说咋地就咋地 31
​
第7节 数据输入――我说算啥就算啥 33
​
第8节 究竟有多少种小房子 37
​
第9节 拨开云雾见月明 40
​
第10节 逻辑挑战1:交换小房子中的数 42
​
第11节 天啊!这怎么能看懂 45
​
第3章 较量才刚刚开始 49
​
第1节 大于、小于还是相等 49
​
第2节 判断正数 50
​
第3节 偶数判断 54
​
第4节 神器else 56
​
第5节 请告诉我谁大 59
​
第6节 逻辑挑战23个数怎么办 61
​
第7节 逻辑挑战3:我要排序 66
​
第8节 运算符总结 71
​
第912究竟对不对 71
​
第10节 讨厌的嵌套 74
​
第11if-else语法总结 78
​
第4章 重量级选手登场 79
​
第1节 停止的哭声 79
​
第2节 我说几遍就几遍 83
​
第3ifwhile说:我对你很重要 88
​
第4节 求和!求和!!求和!!! 90
​
第5节 逻辑挑战460秒开始 95
​
第6节 这个有点晕――循环嵌套来了 99
​
第7节 逻辑挑战5:奔跑的字母 104
​
第8节 究竟循环了多少次 108
​
第9节 逻辑挑战6:奔跑的小人 110
​
第10for隆重登场 114
​
第5章 好戏在后面 118
​
第1节 程序的3种结构 118
​
第2节 �17嗦一下 119
​
第3节 逻辑挑战7:判读质数很简单 120
​
第4节 更快一点:break 125
​
第5continue 126
​
第6节 逻辑挑战8:验证哥德巴赫猜想 127
​
第7节 逻辑挑战9:水仙花数 130
​
第8节 逻辑挑战10:解决奥数难题 135
​
第9节 逻辑挑战11:猜数游戏 138
​
第10节 逻辑挑战12:你好坏,关机啦 142
​
第6章 天啊!一大串数正在接近 144
​
第1节 逆序输出 144
​
第2节 申请100个小房子怎么办 145
​
第3100个数的逆序 147
​
第4节 逻辑挑战13:陶陶摘苹果 148
​
第5节 逻辑挑战14:一个萝卜一个坑 151
​
第6节 逻辑挑战15:选择排序 156
​
第7节 二维数组 159
​
第8节 剩下的一些东西 161
​
第7章 有了它你能做更多的事 165
​
第1节 字符的妙用 165
​
第2节 多余的回车键 167
​
第3节 字符的本质 169
​
第4节 人名怎么存储呢 171
​
第5节 逻辑挑战16:字母的排序 176
​
第6节 逻辑挑战17:字典序 177
​
第7节 多行字符 179
​
第8节 存储一个迷宫 182
​
第8章 游戏时间到了 184
​
第1节 走迷宫 184
​
第2节 推箱子 194
​
附录A 标识符命名规则 197
​
附录B 运算符的优先级和结合性 199