我的第一本算法书
beastarshit
这个作者很懒,什么都没留下…
展开
-
《我的第一本算法书》第五章 ’安全算法‘上半章 笔记
5.1安全和算法 用互联网传输数据会发生的四个问题:窃听,假冒,篡改,事后否认。 四个问题的解决方法: 5.2加密的基础知识 加密:A想向B传输数据,为了防止被窃听,因此把所要保护的数据加密,加密后的数据被称为“密文”。 解密:B收到密文后,解除加密得到原本的数据,这被称为“解密”。 加密的具体操作:在计算机里,所有数据都由0和1的二进制来组成。对计算机来说,数据是有意义的。但对数据进行加密后,计算机就认为它是一串无规则的数字罗列。这个过程中需要用到密钥。加密就是利用密钥对数据进行加工的过程。原创 2020-07-23 13:28:17 · 120 阅读 · 0 评论 -
《我的第一本算法书》第4章 图的搜索 笔记
4.1什么是图 加权图:有全图表示顶点的连接程度。而无权的边只能表示两个顶点的连接状态。 有向图:边带上箭头的图叫有向图。 本章注重学习图的搜索算法和解决图的基本问题——最短路径问题的算法。 4.2广度优先搜索 广度优先搜索是一种对图进行搜索的算法。即从起点开始,优先从离起点近的顶点开始到离起点远的顶点。 4.3深度优先搜索 深度优先搜索会沿着一条路径不断往下搜索直到不能再继续为止,然后再折返,开始搜索下一条候补路径。 两者区别:广度优先搜索选择最早成为候补的顶点,因此从离起点近的地方开始按原创 2020-07-21 11:28:44 · 149 阅读 · 0 评论 -
《我的第一本算法书》第三章
3.1线性查找 线性查找是一种在数组中查找数据的方法。 方法就是从数组中从头开始依次往下查找即可。 线性查找需要从头开始,当数据大且数据靠后时,就会比较耗费时间。若数据量为n,则时间复杂度为O(n)。 3.2二分查找 二分查找就是是通过比较数组中间数据和目标数据从而缩小查找范围,最终找到目标数据的算法。 数量为n的数组,将其减半log 2 n次后,便只剩一个数据了。因此他的时间复杂度为O(log n)。 ...原创 2020-07-20 10:11:21 · 75 阅读 · 0 评论 -
《我的第一本算法书》第2章笔记
2.1什么是排序 本节将对各种各样的排序算法进行介绍,且输入的数字个数都设定为n。 2.2冒泡排序 其就是从序列右边开始比较两个数字的大小,再根据结果交换两个数字的位置。数字就会像是泡泡一样,慢慢从右向左浮到序列的顶端,所以这个算法才被称作冒泡序列。6 在冒泡排序种,总的排序顺序为n的2次方/2。此结果恒定,与输入数据的排列顺序无关。冒泡排序的时间复杂度为O(n^2)。 2.3选择排序 每次都从待排序的数据中寻找最小值,使用线性查找,将其与序列最左面的数字进行交换。 同样需要比较大约n^2 /原创 2020-07-16 09:23:54 · 98 阅读 · 0 评论 -
《我的第一本算法书》序章及第一章笔记
序章 0.1什么是算法 1.算法是解决问题得精确的方法。对于程序与算法,程序是以编程语言编写得,可以在计算机上运行,而算法则是以人类能够理解得方式来描述得。 2.排列整数得算法:排序 选择排序 算法的设计:无论再复杂的问题,对于计算机而言,也是由基本命令组合而成的。 3.如何选择算法:我们最为重视的算法的运算时间。 0.2运算时间的计算方法 如何求得运算时间:我们将计算“一步”作为计算的基本单位,利用从开始到结束经过了多少步来求得算法的运行时间。 运算时间的表示方法:对于一个算法来说,运算时原创 2020-07-15 18:00:15 · 415 阅读 · 0 评论