
算法
MilkBerg
这个作者很懒,什么都没留下…
展开
-
算法图解(二分查找)
二分查找需要有序列表def binary_search(list,item): """二分查询位置,需要有序列表""" low = 0 high = len(list) - 1 while low <= high: mid = int((low + high) / 2) #不为偶数自动向下园整 gue...原创 2019-09-19 10:00:19 · 198 阅读 · 0 评论 -
算法图解(KNN)
特征抽取每个用户对喜欢的电影进行评分,获得特征值,将其作为一个数组比如:兔子为(3,4,4,1,4)然后计算各自的距离计算5维空间的距离,和二维空间一样都代表目标之间的相似度。(在实际工作中,不直接使用距离公式,不计算他们矢量的距离,计算他们矢量的角度,使用cos相似度)2.回归找到与他相似的5人(相似目标值可以很大,比如找100个相似的人),计算他们对电影打分的平均值即为预...原创 2019-09-24 14:59:38 · 683 阅读 · 0 评论 -
算法图解(最长公共子串)
最长公共子串:算法为如果俩个字母不相同,则值为0如果俩个字母相同,值为左上角数字加1伪代码:if word_a[i] == word_b[j]:cell[i][j] = cell[i-1][j-1] + 1else:cell[i][j] = 0最长公共子序列:算法为:如果俩个字母不相同,就选择左方或者上方较大的填入如果俩个字母相同,选择左上方的数字加1填入伪...原创 2019-09-24 14:31:17 · 2056 阅读 · 0 评论 -
算法图解(动态规划)
动态规划将大问题拆解为小问题,逐步计算最大价值。由于纵轴粒度加大,需要扩充表格但仅当每个子问题都是离散的,即不依赖于其他子问题时,动态规划才管用。动态规划实例:当填入表格时,每次填最优解,填第二行时可以用当前以及之前用过的元素。...原创 2019-09-23 22:26:12 · 1023 阅读 · 0 评论 -
算法图解(贪婪算法)
贪婪算法的优点——每步都选择最优解# 创建一个列表,其中包含要覆盖的州states_needed = set(["mt", "wa", "or", "id", "nv", "ut", "ca", "az"]) # 传入一个数组,被转换为集合stations = {}stations["kone"] = set(["id", "nv", "ut"])stations["ktwo"] = ...原创 2019-09-23 15:43:55 · 383 阅读 · 0 评论 -
算法图解(广度优先搜索)
from collections import dequedef search(name): search_queue = deque() # 创建一个队列 search_queue += graph[name] # 将你的邻居都加入到这个搜索队列中 searched = [] # 该数组用于记录检查过的人 while search_queue: # 只要队列不...原创 2019-09-20 16:06:19 · 420 阅读 · 0 评论 -
算法图解(快速排序)
def quicksort(array): if len(array) < 2: return array #基线条件 else: pivot = array[0] less = [] greater = [] for i in array[1:]: if i &l...原创 2019-09-20 10:09:49 · 172 阅读 · 0 评论 -
算法图解(递归调用栈)
def fact(x): if x == 1: return 1 else: return x * fact(x-1)使用栈的方法:先堆栈,堆完之后弹栈,最后为3 * fact(3-1)值为6原创 2019-09-19 11:13:53 · 1820 阅读 · 2 评论 -
算法图解(选择排序)
def findSmallest(arr): smallest = arr[0] smallest_index = 0 for i in range(1,len(arr)): if arr[i] < smallest: smallest = arr[i] smallest_index = i re...原创 2019-09-19 10:41:20 · 194 阅读 · 0 评论 -
算法图解(未详细介绍内容)
树二叉查找树对于其中每个节点,左边节点的值都比它小,而右边节点的值都比它大。检查时,首先检查根节点,然后根据顺序检查子节点。在二叉查找树中查找节点时,平均运行时间为O(log n),但在最糟的情况下所需时间为O(n)。但是二叉查找树的插入和删除操作的速度要快得多。反向索引创建一个散列表THEREA,CHIA,BADITBWEC...原创 2019-09-24 16:57:19 · 128 阅读 · 0 评论