书名:写给大家看的算法书
作者:【日】杉浦贤
译者:绝云
ISBN:9787121287442
出版社:电子工业出版社
出版时间:2016-6
格式:epub/mobi/azw3/pdf
页数:192
豆瓣评分: 7.6
书籍简介:
算法这个词对于非计算机从业人士而言,似乎就是晦涩、神秘的代名词。其实,算法在日常生活中随处可见。做饭用的菜谱是一种算法、查字典的方法是一种算法、给期中考试分数排名也用到了算法。事实上,算法可以说是这个信息爆炸的时代所依存的重要基石之一。 《写给大家看的算法书》对于理解信息处理的基础——算法而言,是一本非常优秀的入门读物。作者采用大量生动的类比,配合简洁易懂的配图,深入浅出地讲解算法,极大地拉近了读者与算法的距离。通读全书,读者可以了解到计算机编程与算法的基本理念,也能对简单常用的算法有一个大概的理解。
作者简介:
书友短评:
@ ★★★ 各方面都有介绍,并且附有图解,算是不错的科普书吧,看完能大概知道这些算法是啥样的。 @ tzungtzu 适合非理工科入门 @ wingvivi 基础概况吧 @ 噗兄 能写得这么简单,也算是很见功底了。不过话说回来,这么简单,对专业的人来说聊胜于无。对想入门的人来说,就当做开胃菜吧,也不是正经的入门书。 @ patiencing 很浅显, 加上配图有助于理解. (完全不用代码描述, 实际上增加了理解难度) @ 黑涩布朗尼 我以后计算机书籍优先看日本同行写的 真深入我心!!! @ 李白 感谢作者的贡献 @ 昊天 部分内容讲的还不错! @ Ericchs 大概花了十几分钟通看了一遍,应该是第一次看这么快。整个书属于科普性质,对每个知识点都是点到为止,对那种完全不懂的人比较友好,但是作为专业人员这种书介绍的内容量又太少,基本上看完题目就知道下面的内容了。总之,只推荐给完全没有计算机科学知识的人看。 @ Digi 与其罗列步骤不如写伪代码
第1 章 什么是算法 1
1.1 算法其实就在身边 2
1.2 算法是人类智慧的结晶 4
1.3 了解算法对玩游戏有帮助吗 6
1.4 算法有两个必要条件 8
1.5 要特别了解的重要算法 10
专题1 算法基础之结构化编程思想 12
第2 章 变量和数组 13
2.1 所谓“数据”,就是各种各样的信息 14
2.2 数据有不同的类型 16
2.3 最基础的数据是“值” 18
2.4 装着“值”的盒子叫作“变量” 20
2.5 要描述算法,变量是不可或缺的 22
2.6 所谓“代入”,指的是把数据赋予变量 24
2.7 不同的变量有不同的名称 26
2.8 变量命名要能解释变量装载的数据 28
2.9 把数据代入变量的赋值语句 30
2.10 把变量中存储的值代入其他变量 32
2.11 变量也有数据类型 34
2.12 保存大量同一数据类型值的“数组” 36
2.13 数组用“数组名”标记 38
2.14 数组的元素用“下标”管理 40
2.15 什么时候需要用到“数组”呢 42
2.16 “数组”就像储物柜一样 44
2.17 “二维数组”就像是旅馆里的房间 46
2.18 二维数组的各个元素用两个下标来管理 48
2.19 字符串就是字符的连续拼合(数组) 50
2.20 获取字符串长度的两个方法 52
专题2 常用变量命名 54
第3章 数据结构 55
3.1 为了高效处理大量数据 56
3.2 有哪些常用的数据结构 58
3.3 “堆栈”类似于桌面上堆积的书 60
3.4 “队列”就像是超市收银台前排着的队列 62
3.5 “链表”就像用绳子串起来的长串 64
3.6 只能检索下一个数据的单向链表 66
3.7 能检索上一个或者下一个数据的双向链表 68
3.8 能快速定位第N 个数据的是“数组” 70
3.9 能快速插入、删除数据的是“链表” 72
3.10 像钟表一样数据首尾相连的是“环形缓冲区” 74
3.11 管理有树干、树枝、树叶一样关系的数据的是“树” 76
3.12 一个父节点对应两个子节点的是“二叉树” 78
3.13 像笔画的节点和连线组成的数据结构是“图” 80
专题3 为什么数组的起始下标有时是0,有时是1 ? 82
第4章 学习算法基础 83
4.1 循环处理是算法的基础 84
4.2 计算1 ~N 的整数的总和 86
4.3 使用数组可以高效地处理大量数据 88
4.4 计算一年的营业额 90
4.5 求班级考试的总分和平均分 92
4.6 求最高分 94
4.7 求最低分 96
4.8 为考试成绩排名 98
4.9 求全班学生不同科目考试合计的总分 100
4.10 求“时分秒”形式的时间差 102
4.11 交换两个变量值的技巧 104
4.12 求两个数值的最大公约数 106
专题4 2038 年的时候要留心? 108
第5 章 排序算法 109
5.1 排序是指对多个数据排列顺序 110
5.2 关于排序算法 112
5.3 使用“木桶”辅助的“桶排序” 114
5.4 每次找出一个最小(最大)值的“选择排序” 116
5.5 像冒泡一样进行相邻数据的交换的“冒泡排序” 118
5.6 向有序数据里正确位置插入数据的“插入排序” 120
5.7 把几个有序数据合并叫作“归并” 122
5.8 利用归并进行排序的算法叫作“归并排序” 124
5.9 改进了排序效率的“希尔排序” 126
5.10 最快的排序算法“快速排序” 128
专题5 把2 的n 阶乘的值记下来吧 130
第6 章 搜索算法 131
6.1 所谓“搜索”,就是从数据集合中找到目标数据 132
6.2 从头开始按顺序排除的搜索叫作“线性搜索” 134
6.3 可以进行高速搜索的“二分搜索” 136
6.4 利用哈希表实现高效搜索 138
6.5 在字符串中搜索部分字符串的“字符串搜索” 140
6.6 高效搜索字符串的KMP 算法 142
6.7 逆向比较的BM 字符串搜索算法 144
专题6 在关系型数据库中使用到的排序和搜索 146
第7 章 其他算法 147
7.1 用牛顿法求解高次方程 148
7.2 用高斯消元法求解方程组 150
7.3 用梯形面积和来求解定积分的梯形法 152
7.4 计算质数的埃拉托斯特尼筛法 154
7.5 执行时调用自身的递归函数 156
专题7 算法和流程图 158
第8 章 算法和计算机 159
8.1 计算机的数据是用二进制来表示的 160
8.2 让二进制数更易于阅读(八进制、十六进制) 162
8.3 二进制转换成十进制 164
8.4 十进制转换成二进制 166
8.5 用二进制表示负整数 168
8.6 逻辑或:任意一个为“1”则结果为“1” 170
8.7 逻辑并:同时为“1”则结果为“1” 172
8.8 “或非”:“1”和“0”得到的结果为“1” 174
8.9 “否定”:“1”变为“0”,“0”变为“1” 176
8.10 使用德摩根定律可以管理否定范式 178
· · · · · ·
添加微信公众号:好书天下获取
评论前必须登录!
注册