随笔分类 -  算法图解

摘要:一、广度优先搜索(breadth-first search)(寻找最短路径问题) 前往朋友家的最短路径?象棋中走最少步数获胜?人际网络中关系最近的摄影师? 最近3步从双子峰到金门大桥。 二、图的概念:节点和边 三、有路径否?哪条路径最短? 人际网络: 在广度优先搜索的执行过程中,搜索范围从起点开始逐 阅读全文
posted @ 2020-04-11 21:42 闪亮可可仙 阅读(301) 评论(0) 推荐(0)
摘要:一、散列函数:无论你给它什么数据,它都还你一个数字。 要求: 1.一致:输入apple时得到的是4,那么每次输入apple时,得到的必须都是4。 2.将不同的输入映射到不同的数字。 结合散列函数(输出为索引)和数组创建散列表(hash table)的数据结构。python提供的散列表实现为字典。 二 阅读全文
posted @ 2020-04-11 20:01 闪亮可可仙 阅读(153) 评论(0) 推荐(0)
摘要:一、分而治之(divide and conquer,D&C) d&c解决问题的两个步骤: 1.找基线条件(最小单位)or(只剩一个或为空); 2.将问题的规模缩小,不断递归直到基线条件; 利用循环求和: 1 def sum(arr): 2 total = 0 3 for i in arr: 4 to 阅读全文
posted @ 2020-04-09 22:57 闪亮可可仙 阅读(256) 评论(0) 推荐(0)
摘要:一、二分查找 思想:从中间开始查找。 时间复杂度:O(logN)。 eg.查英文字典。 eg.猜0-100大小数从50开始猜。 二分查找是一种算法,其输入一个有序的元素列表。如果要查找的元素包含在列表中,二分查找返回其位置,否则返回null(或者-1)。 1 import math 2 3 def 阅读全文
posted @ 2020-04-07 14:01 闪亮可可仙 阅读(387) 评论(0) 推荐(0)