MapReduce演算法例析

2022-08-17 15:30:16 字數 1198 閱讀 9430

8.1 連線(join)演算法

笛卡爾積的運算:

笛卡爾積運算+約束->連線操作:

θ連線:

自然連線(一種特殊的θ連線):

map-reduce-merge關係連線演算法的實現:

方式一:

方式二:

mapreduce上的二路join:

mapreduce上的多路join:

實現的具體機制:

相似連線:

用mr進行多重集相似連線的演算法:

多重集合相似連線演算法:

相似性計算:

8.2圖演算法:

圖演算法與mapreduce:

關於路徑的演算法:

單源最短路徑:

單源最短路徑(sssp)演算法:

使用mapreduce進行解決:

具體過程:

sssp摘要:

最小生成樹使用mapreduce:

Dinic演算法例子

寫法 1 用鄰接矩陣儲存各個流的起點終點 2 用bfs把圖分出層次 記錄到各個點需要流幾次 3 用dfs對圖找出增廣路進行流量擴充 注意反向流要記錄成容量為0的路徑,更新正向流時也要更新反向流 教材361頁 includeusing namespace std struct edge edge ed...

分治演算法 例子

分治策略 將問題分解成若干個小的子問題,每個子問題與大問題同型 所以裡面可以用遞迴 但規模更小 遞迴解決這些子問題 將子問題的解答合併,獲得大問題的解答 最大欄位和問題 include include include using namespace std int a 100 int maxsum ...

排序演算法例子

氣泡排序 include using namespace std 氣泡排序,時間複雜度o n 2 穩定,比較次數最少n 1,最多n n 1 2 void bubble sort int list,int num int main bubble sort2 arraylist,len for int ...