附有本人超級詳細解釋(看不懂的面壁十天!) 一、 實際問題: 希爾排序(Shell Sort)是插入排序的一種。因D.L.Shell于1959年提出而得名。它又稱“縮小增量分類法”,在時間效率上比插入、比較、冒泡等排序算法有了較大改進。能對無序序列按一定規律進行排序。 二、數學模型: 先取一個小于n的整數d1作為第一個增量,把文件的全部記錄分成d1個組。所有距離為dl的倍數的記錄放在同一個組中。先在各組內進行直接插人排序;然后,取第二個增量d2<d1重復上述的分組和排序,直至所取的增量dt=1(dt<dt-l<…<d2<d1),即所有記錄放在同一組中進行直接插入排序為止。該方法實質上是一種分組插入方法。 三、算法設計: 1、將相隔某個增量dlta[k]的元素構成一個子序列。在排序過程中,逐次減小這個增量,最后當h減到1時,進行一次插入排序,排序就完成。增量序列一般采用:dlta[k]=2t-k+1-1,其中t為排序趟數,1≤k≤t≤[log2 (n+1)],其中n為待排序序列的長度。按增量序列dlta[0..t-1]。 2、按增量dlta[k](1≤k≤t≤[log2 (n+1)])進行一趟希爾插入排序。 3、在主函數中控制程序執行流程。 4、時間復雜度:1≤k≤t≤[log2 (n+1)]時為O(n3/2)。
上傳時間: 2013-12-11
上傳用戶:天涯
% 文件名:randlsbget.m % 程序員:余波 % 編寫時間:2007.6.25 % 函數功能: 本函數將完成提取隱秘于上的秘密信息 % 輸入格式舉例:result=( scover.jpg ,56, secret.txt ,2001) % 參數說明: % output是信息隱藏后的圖象 % len_total是秘密信息的長度 % goalfile是提取出的秘密信息文件 % key是隨機間隔函數的密鑰 % result是提取的信息 function result=randlsbget(output,len_total,goalfile,key) ste_cover=imread(output) ste_cover=double(ste_cover) % 判斷嵌入信息量是否過大 [m,n]=size(ste_cover) frr=fopen(goalfile, a ) % p作為信息嵌入位計數器將信息序列寫回文本文件 p=1 % 調用隨機間隔函數選取像素點 [row,col]=randinterval(ste_cover,len_toal,key) for i=:len_toal if bitand(ste_cover(row(i),col(i)),1)==1 fwrite(frr,1, bit1 ) result(p,1) else fwrite(frr,0, bit1 ) result(p,1)=0 end if p==len_total break end p=p+1 end fclose(frr)
標簽: randlsbget result scover 2007
上傳時間: 2015-11-10
上傳用戶:yzhl1988
十九世紀上半葉才完成了到n維向量空間的過渡 矩陣論始于凱萊,在十九世紀下半葉,因若當的工作而達到了它的頂點.1888年,皮亞諾以公理的方式定義了有限維或無限維向量空間。托普利茨將線性代數的主要定理推廣到任意體上的最一般的向量空間中.線性映射的概念在大多數情況下能夠擺脫矩陣計算而引導到固有的推理,即是說不依賴于基的選擇。
上傳時間: 2016-01-02
上傳用戶:busterman
在n維空間(每維范圍為0-1)內對插入的數值根據坐標進行分區。從一個沒有分區的空間開始插入,一旦規定的cache滿了就申請新的cache空間。cache全滿后存數值于文件。分區每次一分為2n,內建有2n叉樹結構用于管理。
上傳時間: 2016-01-07
上傳用戶:edisonfather
隨機產生個整數n=100,200,300,1000,2000個整數并存于數組r[1..n]中。 對主要查找算法(順序查找、插入排序、冒泡排序、堆排序、快速排序)進行實驗比較,計算出平均比較次數、平均移動次數及執行時間。由程序自動計算.
上傳時間: 2014-12-04
上傳用戶:氣溫達上千萬的
PQ分解法在計算潮流速度上大大超過N-R法,不但能應用于離線潮流計算,而且也能應用于在線潮流計算。
上傳時間: 2016-07-09
上傳用戶:cazjing
問題描述 設有n種不同面值的硬幣,各硬幣的面值存于數組T[1:n]中。現要用這些面值的硬幣來找錢,可以實用的各種面值的硬幣個數不限。當只用硬幣面值T[1],T[2],…,T[i]時,可找出錢數j的最少硬幣個數記為C(i,j)。若只用這些硬幣面值,找不出錢數j時,記C(i,j)=∞。 編程任務 設計一個動態規劃算法,對1≤j≤L,計算出所有的C( n,j )。算法中只允許實用一個長度為L的數組。用L和n作為變量來表示算法的計算時間復雜性 數據輸入 由文件input.txt提供輸入數據。文件的第1行中有1個正整數n(n<=13),表示有n種硬幣可選。接下來的一行是每種硬幣的面值。由用戶輸入待找錢數j。 結果輸出 程序運行結束時,將計算出的所需最少硬幣個數輸出到文件output.txt中。
標簽:
上傳時間: 2016-07-28
上傳用戶:yangbo69
已知記錄序列a[1..n] 中的關鍵字各不相同, 可按如下所述實現計數排序:另設數組c[1..n],對每 個記錄a[i], 統計序列中關鍵字比它小的記錄個數存 于c[i], 則c[i]=0的記錄必為關鍵字最小的記錄,然 后依c[i]值的大小對a中記錄進行重新排列,試編寫算 法實現上述排序方法。
上傳時間: 2016-08-17
上傳用戶:ljt101007
(1)接收原始數據: 從終端讀入字符集大小n,n個字符和n個權值,建立哈夫曼樹,存于文件hfmtree.dat中。 (2)編碼: 利用已建好的哈夫曼樹(如不在內存,則從文件hfmtree.dat中讀入)對文件中的正文進行編碼,然后將結果存入文件codefile.dat中。 (3)譯碼: 利用已建好的哈夫曼樹將文件codefile.dat中的代碼進行譯碼,結果存入文件textfile.dat 中。 (4)打印編碼規則:即字符與編碼的一一對應關系。 (5)打印哈夫曼樹:將已在內存中的哈夫曼樹以直觀的方式顯示在終端上。
上傳時間: 2013-12-10
上傳用戶:asdkin
單片機編程語言 51單片機讀寫U盤例程 U盤作為數據的載體目前已廣泛應用于嵌入式行業,而某些電子產品在國家標準中已成了\r\n強制性的要求。在嵌入式的電子產品中實現對U盤文件的讀寫,成了許多廠家的技術攻關的難\r\n題。優盤伴侶EasyUDisk讀寫U盤模塊就可以輕易解決以上問題,它是低端單片機操作U盤的最\r\n佳伴侶。\r\n\
上傳時間: 2013-12-09
上傳用戶:ztj182002