![](https://img-blog.csdnimg.cn/20190526145123603.jpeg?x-oss-process=image/resize,m_fixed,h_224,w_224)
《算法图解》笔记
本专栏是《算法图解,像小说一样有趣的算法入门书》的一系列学习笔记,欢迎批评和指正!
小小谢先生
拿过大厂、银行、国企、事业单位、研究所等公司offer。
致力于信创产业,人工智能布道者
展开
-
图解算法系列笔记(一)
二分法查找 在有序的数组中,用二分法查找需要检查多少个元素 完整实现代码如下:(笔记都是Python语言实现) def binary_search(list,item): low=0 high=len(list)-1 while low<=high: mid=(low+high)/2 guess=list[mid] ...原创 2019-05-27 19:18:44 · 721 阅读 · 2 评论 -
图解算法系列笔记(二)
散列表 最有用的基本数据结构之一。查找时间都为O(1),O(1)被称为常量时间,即所需的时间都相同。散列函数将输入映射到数字。它需要满足下列几个条件: 1)他必须是一致的,即你不管什么时候每次输入相同时,输出都要一样。如果不是这样,散列表将毫无用处。 2)它应将不同的输入映射到不同的数字。 散列表在Python语言中时用字典dict{}来表示。冲突 有可能不同的输入会映射到同一个位置,这就叫冲突...原创 2019-06-01 20:08:27 · 837 阅读 · 0 评论 -
图解算法系列笔记(三)
狄克斯特拉算法 广度优先搜索是找出最短的路径,而狄克斯特拉算法是找出最快的路径。 广度优先搜索来查找两点之间的最短路径,那时“最短路径”的意思是段数最少。在狄克斯特拉算法中,你给每段都分配了一个数字或权重,因此狄克斯特拉算法找出的是总权重最小的路径。如下图所示: 狄克斯特拉算法包含下面4个步骤: (1) 找出最便宜的节点,即可在最短时间内前往的节点 (2) 对于该节点的邻居,检查是否有前往它们的...原创 2019-06-05 10:16:14 · 917 阅读 · 0 评论