算法导论
蓝鲸瓜皮小正义
这个作者很懒,什么都没留下…
展开
-
Dijkstra's Alg as Framawork
for(all v belong to V) dist[v] = 无穷大;dist[s] = 0; Q = MinPQ(V);while(Q != null){ u = deleteMin(Q); for(all (u,v) belong to E){ if(dist[v] > dist[u] + l(u,v)){ dist[v]原创 2017-06-12 10:27:41 · 576 阅读 · 1 评论 -
算法11讲——GraphTraversal
图优化GraphTraversal1. DFS框架dfs(G,v) Mark v as “discovered”. For each vertex w that edge vw is in G: If w is undiscovered: dfs(G,w) Otherwise: “Check” vw without visiting w.原创 2017-06-24 14:43:09 · 1607 阅读 · 0 评论 -
算法14讲——MST/Greedy
一、贪心算法一步一步扩大solution 每一步从candidates中选择时,必须满足: 可行性:必须满足问题要求 局部最优:必须是这一步所有candidates中最好的选择 不可撤销:这一步不可被后面的选择撤销 set greedy(set candidate) set S=Ø; while not solution(S) and candidate≠Ø select loc原创 2017-06-25 14:16:15 · 773 阅读 · 0 评论 -
算法15讲——Path in Graph
一、Single Source Shortest Paths(单源最短路径)Dijkstra’s algorithm对于一个uniformly weighted graph(权值均相同的图),只需要BFS就可以得到。Dijkstra’s algorithmVoid shortestPaths(EdgeList[] adjInfo, int n, int s, int[] parent, flo原创 2017-06-26 17:30:00 · 415 阅读 · 0 评论 -
NP完全性
多项式时间的算法:对于规模为n的输入,最坏情况下的运行时间为O(nk)O(n^k),对某一确定的常数。P类问题:在多项式时间内可以解决的问题。NP类问题:在多项式时间内可以被证明的问题。 如果已知一个问题解的证书,那么可以证明此问题在该输入规模下能在多项式时间内解决。在多项式时间内验证这一赋值(证书)满足条件。P类问题也是NP类问题。NPC类(NP完全问题):“不易解决”,没有多项式求解转载 2017-06-26 23:54:03 · 622 阅读 · 0 评论