哈夫曼樹算法 根據給定的n個權值{w1,w2,……wn},構造n棵只有根結點的二叉樹,令起權值為wj 在森林中選取兩棵根結點權值最小的樹作左右子樹,構造一棵新的二叉樹,置新二叉樹根結點權值為其左右子樹根結點權值之和 在森林中刪除這兩棵樹,同時將新得到的二叉樹加入森林中 重復上述兩步,直到只含一棵樹為止,這棵樹即哈夫曼樹
上傳時間: 2014-01-13
上傳用戶:wpt
直接插入排序 排序過程:整個排序過程為n-1趟插入,即先將序列中第1個記錄看成是一個有序子序列,然后從第2個記錄開始,逐個進行插入,直至整個序列有序
上傳時間: 2014-01-05
上傳用戶:wkchong
使用C#程式語言開發,並執行於.NET Framework下;是研習「蟻拓尋優法」不可或缺的軟體工具。系統使用ACO (Ant Colony Optimization)演算公式模擬螞蟻的覓食行徑抉擇。使用者可以設定費洛蒙和食物氣味強度等相關參數以及動態設定障礙物的位置和形狀,研習螞蟻覓食的最短路徑形成過程。研習各種參數設定對螞蟻覓食行為的影響,了解費落蒙機制對蟻拓尋優化法的影響。本系統可支援柔性計算教學,研習蟻拓優化法中人工螞蟻的隨機搜尋模式和啟發式法則設計原理。
標簽: 程式
上傳時間: 2013-12-24
上傳用戶:anng
采用逆序法生成排列 從n個空位開始,從左到右吧這些位置標為1,2,……n。 1:由于在排列中要有 個整數在1的前面,因為必須把1放在位置號為 +1的位置上。 2:由于在排列中要有 個比2大的整數在2的前面,而且這些整數還沒有被插進來,因此必須給這些數留出 個空位置,于是,把2放在第 +1的空位置上。 • • • K:(一般的一步)由于在排列中要有 個整數在k的前面,而且這些整數還沒有被插進來,因此必須給這些數留出 個空位置。在本步驟開始時空位置的個數是n-(k-1)=n-k+1。我們把k放在從左邊數的第( +1)的空位置上。既然 ≤n-k,因此就有 +1≤n-k+1,從而這樣一個空位置就被確定下來。 • • • N:把n放在剩下的一個空位置上
標簽:
上傳時間: 2013-12-15
上傳用戶:獨孤求源
約瑟夫環 已知n個人(以編號1,2,3...n分別表示)圍坐在一張圓桌周圍。從編號為k的人開始報數,數到m的那個人出列;他的下一個人又從1開始報數,數到m的那個人又出列;依此規律重復下去,直到圓桌周圍的人全部出列。(有詳細注解)數據結構學習的好例子
標簽:
上傳時間: 2016-10-12
上傳用戶:wxhwjf
This Handbook, published under the auspices of the Senior NATO Logisticians’ Conference (SNLC), i s i ntended as a simple guide to logistics i n NATO. It does not attempt to examine current i ssues or provide answers to the problems that logisticians will face, but i t rather aims at i ntroducing them to some of the basic principles, policies, concepts and organisations with which they will work.
標簽: Logisticians Conference published the
上傳時間: 2014-12-07
上傳用戶:www240697738
已知n個人(以編號1,2,3...n分別表示)圍坐在一張圓桌周圍。從編號為k的人開始報數,數到m的那個人出列;他的下一個人又從1開始報數,數到m的那個人又出列;依此規律重復下去,直到圓桌周圍的人全部出列。
標簽:
上傳時間: 2016-11-03
上傳用戶:朗朗乾坤
c語言的k均值聚類算法。給定類的個數K,將N個對象分到K個類中去,使得類內對象之間的相似性最大,而類之間的相似性最小的算法。
上傳時間: 2014-01-20
上傳用戶:woshiayin
程序設計思路 在動態規劃中,可將一個問題的解決方案視為一系列決策的結果,要考察每個最優決策序列中是否包含一個最優子序列。所以在最短路徑問題中,假如在的第一次決策時到達了某個節點v,那么不管v 是怎樣確定的,此后選擇從v 到d 的路徑時,都必須采用最優策略。利用最優序列由最優子序列構成的結論,可得到f 的遞歸式。f ( 1 ,c) 是初始時背包問題的最優解。可使用(1)中所示公式通過遞歸或迭代來求解f ( 1 ,c)。從f (n, * )開始迭式, f (n, * )由第一個式子得出,然后由第二式遞歸計算f (i,*) ( i=n- 1,n- 2,⋯ , 2 ),最后得出f ( 1 ,c)。動態規劃方法采用最優原則( principle of optimality)來建立用于計算最優解的遞歸式。所謂最優原則即不管前面的策略如何,此后的決策必須是基于當前狀態(由上一次決策產生)的最優決策。由于對于有些問題的某些遞歸式來說并不一定能保證最優原則,因此在求解問題時有必要對它進行驗證。若不能保持最優原則,則不可應用動態規劃方法。
上傳時間: 2016-12-03
上傳用戶:kristycreasy
河內塔問題 #include<stdio.h> #include<stdlib.h> int fun_a(int) void fun_b(int,int,int,int) int main(void) { int n int option printf("題目二:河內塔問題\n") printf("請輸入要搬移的圓盤數目\n") scanf("%d",&n) printf("最少搬移的次數為%d次\n",fun_a(n)) printf("是否顯示移動過程? 是請輸入1,否則輸入0\n") scanf("%d",&option) if(option==1) { fun_b(n,1,2,3) } system("pause") return 0 } int fun_a(int n) { int sum1=2,sum2=0,i for(i=n i>1 i--) { sum1=sum1*2 } sum2=sum1-1 return sum2 } void fun_b(int n,int left,int mid,int right) { if(n==1) printf("把第%d個盤子從第%d座塔移動到第%d座塔\n",n,left,right) else { fun_b(n-1,left,right,mid) printf("把第%d個盤子從第%d座塔移動到第%d座塔\n",n,left,right) fun_b(n-1,mid,left,right) } }
上傳時間: 2016-12-08
上傳用戶:努力努力再努力