封面

版权信息

作者简介

数字版权声明

版权声明

本书主页

前言

谢辞

关于应用程序“算法动画图解”的说明

序章 算法的基本知识

0-2 运行时间的计算方法

第1章 数据结构

1-2 链表

1-3 数组

1-4 栈

1-5 队列

1-6 哈希表

1-7 堆

NOTE

按照01中说明的排列顺序,将最后的数据(此处为6)移动到最顶端

2022-02-16 00:08:51

1-8 二叉查找树

第2章 排序

2-2 冒泡排序

2-3 选择排序

2-4 插入排序

2-5 堆排序

2-6 归并排序

2-7 快速排序

第3章 数组的查找

3-2 二分查找

第4章 图的搜索

4-2 广度优先搜索

4-3 深度优先搜索

4-4 贝尔曼-福特算法

NOTE

最终收敛到正确的数值

2022-02-16 00:10:25

4-5 狄克斯特拉算法

4-6 A*算法

NOTE

狄克斯特拉算法只根据起点到候补顶点的距离来决定下一个顶点。因此,它无法发现蓝色箭头所指的这两条路径其实离终点越来越远,同样会继续搜索

2022-02-16 16:43:41

NOTE

,由人工预先设定的估算距离被称为“距离估算值”

2022-02-16 16:48:07

NOTE

如果事先根据已知信息设定合适的距离估算值,再将它作为启发信息辅助计算,搜索就会变得更加高效

2022-02-16 16:48:26

NOTE

这里我们只知道终点所在位置,不知道该如何通往终点,所以使用了直线距离

2022-02-16 16:48:50

NOTE

有时这类信息是完全无法估算的,这时就不能使用A*算法

2022-02-16 16:50:35

第5章 安全算法

5-2 加密的基础知识

5-3 哈希函数

5-4 共享密钥加密

5-5 公开密钥加密

5-6 混合加密

5-7 迪菲-赫尔曼密钥交换

5-8 消息认证码

5-9 数字签名

5-10 数字证书

第6章 聚类

6-2 k-means算法

NOTE

k-means算法中,随着操作的不断重复,中心点的位置必定会在某处收敛

2022-02-16 16:52:24

NOTE

层次聚类算法”较为有名。与k-means算法不同,层次聚类算法不需要事先设定簇的数量

2022-02-16 16:52:50

NOTE

有n个数据就会形成n个簇。然后重复执行“将距离最近的两个簇合并为一个”的操作n-1次。每执行1次,簇就会减少1个。执行n-1次后,所有数据就都被分到了一个簇中。在这个过程中,每个阶段的簇的数量都不同,对应的聚类结果也不同。只要选择其中最为合理的1个结果就好

2022-02-16 16:53:01

第7章 其他算法

7-2 素性测试

NOTE

素性测试

2022-02-16 16:53:17

7-3 网页排名

NOTE

网页排名(PageRank,也叫作佩奇排名)是一种在搜索网页时对搜索结果进行排序的算法。

2022-02-16 16:53:25

NOTE

“随机游走模型”(random walk model)

2022-02-17 19:03:10

NOTE

作家兼编辑凯文·凯利向Google创始人之一的拉里·佩奇提过一个问题:“你们为什么要做免费的网络搜索服务?”而对方的回答是“我们实际上是在做AI(人工智能)

2022-02-17 19:05:48

NOTE

“某一刻正在浏览这个网页的概率”

2022-02-17 19:06:20

NOTE

当然,如今决定Google搜索结果排序的已不仅仅是网页排名这一个算法了。

2022-02-17 19:07:22

7-4 汉诺塔

看完了