python算法图解(读书笔记)
算法图解读书笔记
Marpylili
这个作者很懒,什么都没留下…
展开
-
并查集——可以解决最小生成树问题
# 并查集Set=list(range(n))def fun(x): if x!=Set[x]: Set[x]=find(Set[x]) return Set[x]原创 2022-01-20 17:18:39 · 221 阅读 · 0 评论 -
python 动态规划
背包可容纳6kg水1kg,10刀书1kg,3刀食物2kg,9刀夹克2kg,5刀照相机1kg,6刀求能装下且总价值最大。A = [[0 for i in range(6)] for j in range(5)]W = {}W["book"] = [1, 3, 1]W["food"] = [2, 9, 2]W["jacket"] = [2, 5, 3]W["camer"] = [1, 6, 4]t = 0for i in range(6): if (i + 1 >= 3原创 2021-04-28 13:49:05 · 159 阅读 · 0 评论 -
python 贪心
描述:有五只老虎,1,2,3,4,5。要雇佣驯兽师,每个驯兽师只能驯服特定的老虎,要求雇佣的驯兽师最少,同时每只老虎都能有驯兽师。驯兽师1:1245驯兽师2:134驯兽师3:35驯兽师4:1245驯兽师5:1245a=set([1,2,3,4,5])t={}t[1]=set([1,2,4,5])t[2]=set([1,3,4])t[3]=set([3,5])t[4]=set([1,4,5])t[5]=set([4])s=[]while a: best=None c原创 2021-04-28 11:34:38 · 58 阅读 · 0 评论 -
python 队列+广度优先
from collections import dequesearch = deque()Q = {}Q["a"] = ["b", "c", "e"]Q["c"] = ["f"]Q["b"] = ["k"]Q["k"] = ["d"]Q["f"] = []Q["d"] = []Q["e"] = []search += Q["a"]def judge(t): return t == "d"while search: t = search.popleft() .原创 2021-04-23 22:53:07 · 72 阅读 · 0 评论 -
python 递归+快排
def quicksort(a): if (len(a) < 2): return a else: t = a[0] high = [] low = [] for i in range(1, len(a)): if (a[i] > t): high.append(a[i]) else: lo原创 2021-04-22 22:05:36 · 93 阅读 · 0 评论