TV-tree的c實現源碼,對應原文章K.-I. Lin, H. V. Jagadish, C. Faloutsos: The TV-Tree: An Index Structure for High-Dimensional Data.
上傳時間: 2014-11-26
上傳用戶:lxm
對于給定的整數$n$,生成$[n]$的所有排。采用Jonhson-Trotter算法。
標簽: 整數
上傳時間: 2015-11-03
上傳用戶:獨孤求源
首先,初始化將要排序的序列,以數組初始化。 第二,定義快速排序函數: 本算法思路為:在待排序的n個記錄中任取一個記錄r(通常取第一個記錄),以該記錄的關鍵字k為準,將所有剩下的n-1個記錄分割成兩個子序列。第一個子序列中的每個記錄關鍵子均小于或等于k,第二個子序列中的每個記錄關鍵字均大于或等于k,然后將k對應的記錄排在第一個子序列之后及第二個子序列之前。這個過程為一遍排序。之后分別對子序列1和子序列2重復上述過程,直至每個子序列只有一個記錄為止。 最后,定義main函數,引用之前定義函數完成程序。
標簽:
上傳時間: 2014-01-05
上傳用戶:www240697738
設有一個背包可以放入的物品重量最重為s,現有n件物品,它們的重量分別為w[0]、 w[1]、w[2]、…、w[n-1]。問能否從這n件物品中選擇若干件放入此背包中,使得放入的重量之和正好為s。如果存在一種符合上述要求的選擇,則稱此背包問題有解(或稱其解為真);否則稱此背包問題無解(或稱其解為假)。試用遞歸方法設計求解背包問題的算法。
標簽:
上傳時間: 2016-03-15
上傳用戶:bcjtao
赫夫曼編譯碼器: 用哈夫曼編碼進行通信可以大大提高信道利用率,縮短信息傳輸時間,降低傳輸成本。但是,這要求在發送端通過一個編碼系統對待傳數據預先編碼,在接收端將傳來的數據進行譯碼(復原)。對于雙工信道(即可以雙向傳輸信息的信道),每端都需要一個完整的編/譯碼系統。試為這樣的信息收發站寫一個哈夫曼碼的編/譯碼系統。 [基本要求]一個完整的系統應具有以下功能: (1)I:初始化(Initialization)。從終端讀入字符集大小n,以及n個字符和n個權值,建立哈夫曼樹,并將它存于文件hfmTree中。 (2)E:編碼(Encoding)。利用已建好的哈夫曼樹(如不在內存,則從文件hfmTree中讀入),對文件ToBeTran中的正文進行編碼,然后將結果存入文件CodeFile中。 (3)D:譯碼(Decoding)。利用已建好的哈夫曼樹將文件CodeFile中的代碼進行譯碼,結果存入文件TextFile中。 (4)P:印代碼文件(Print)。將文件CodeFile以緊湊格式顯示在終端上,每行50個代碼。同時將此字符形式的編碼文件寫入文件CodePrin中。 (5)T:印哈夫曼樹(Tree printing)。將已在內存中的哈夫曼樹以直觀的方式(樹或凹入表形式)顯示出,同時將此字符形式的哈夫曼樹寫入文件TreePrint中。
上傳時間: 2016-04-17
上傳用戶:zaizaibang
算法實現題1-5 最大間隙問題 « 問題描述: 最大間隙問題:給定n 個實數x , , xn 1 2 ,求這n 個數在實軸上相鄰2 個數之間的最 大差值。假設對任何實數的下取整函數耗時O(1),設計解最大間隙問題的線性時間算法。 « 編程任務: 對于給定的n 個實數n x , x , , x 1 2 ,編程計算它們的最大間隙。 « 數據輸入: 輸入數據由文件名為input.txt的文本文件提供。文件的第1 行有1 個正整數n。接下來 的1 行中有n個實數n x , x , , x 1 2 。 « 結果輸出: 程序運行結束時,將找到的最大間隙輸出到文件output.txt中。 輸入文件示例 輸出文件示例 input.txt 5 2.3 3.1 7.5 1.5 6.3 output.txt 3.2
上傳時間: 2016-05-28
上傳用戶:咔樂塢
給定一個自然數n,由n開始可以依次產生半數集set(n)中的數如下。 (1) n∈set(n); (2) 在n的左邊加上一個自然數,但該自然數不能超過最近添加的數的一半; (3) 按此規則進行處理,直到不能再添加自然數為止。 例如,set(6)={6,16,26,126,36,136}。半數集set(6)中有6個元素。
標簽:
上傳時間: 2014-01-17
上傳用戶:rishian
若不希望用與估計輸入信號矢量有關的相關矩陣來加快LMS算法的收斂速度,那么可用變步長方法來縮短其自適應收斂過程,其中一個主要的方法是歸一化LMS算法(NLMS算法),變步長 的更新公式可寫成 W(n+1)=w(n)+ e(n)x(n) =w(n)+ (3.1) 式中, = e(n)x(n)表示濾波權矢量迭代更新的調整量。為了達到快速收斂的目的,必須合適的選擇變步長 的值,一個可能策略是盡可能多地減少瞬時平方誤差,即用瞬時平方誤差作為均方誤差的MSE簡單估計,這也是LMS算法的基本思想。
上傳時間: 2016-07-07
上傳用戶:changeboy
程序設計思路 在動態規劃中,可將一個問題的解決方案視為一系列決策的結果,要考察每個最優決策序列中是否包含一個最優子序列。所以在最短路徑問題中,假如在的第一次決策時到達了某個節點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
編寫具有如下原型的函數:int f(unsigned long x, int n, int& Lxn) 它負責將整數x的第n位(從左邊數第n位,n>0)的數值放到引用Lxn之中(將作為結果返回到主調函數的對應實參變量中),并將倒數第n位(從右邊數第n位,n>0)的數值作為函數結果返回去。并編制主函數對它進行調用以驗證其正確性。 例如,當x=123456789,n=7時,執行語句“Rxn=f(x, n, Lxn) ”將使返回的Lxn為7,并使Rxn變為3;而執行語句“Rxn=f(12345, 6, Lxn) ”將使Lxn與Rxn都變為為0(超出數的“長度”即總位數時返回0)。
上傳時間: 2017-01-02
上傳用戶:s363994250