附有本人超級詳細解釋(看不懂的面壁十天!) 一、 實際問題: 希爾排序(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
上傳用戶:天涯
設T 是一棵帶權樹,樹的每一條邊帶一個正權。又設S 是T 的頂點集,T/S 是從樹T 中 將S中頂點刪去后得到的森林。如果T/S中所有樹的從根到葉的路長都不超過d ,則稱T/S 是一個d 森林。 (1)設計一個算法求T的最小頂點集S,使T/S是d 森林。(提示:從葉向根移動) (2)分析算法的正確性和計算復雜性。 (3)設T中有n 個頂點,則算法的計算時間復雜性應為O(n)。
標簽: 樹
上傳時間: 2015-05-31
上傳用戶:我們的船長
//在tc3.0++在運行 //a數組用于隨機產生1-6數表示每個方格后面的圖形.用inita()函數來實現 //c數組用于記錄方格的狀態,用字符L(lock)表示沒有打開的方格 //D(delete)表示已消去的方格.O(open)表示打開的方格. //變量m表示按回車鍵的有效次數.也是記憶力參數,越小記憶力越好 //變量xpos,ypos用于表示當前光標所在的位置 //(x1,y1),(x2,y2)用于記錄打開的兩個方格的位置 //judge()函數用于控制光標范圍,使其不能移出長方形 //win()函數用于判斷游戲是否過關,通過判斷每個方格是否全是 D 狀態 //xago,yago 用于記錄移動前的位置 //ax,ay表示行列式的行與列,用它們來控制游戲的關數,ax位于3-6之間,ay位于4-7之間 //z來控制方格后的圖形 //第一關后面的圖形用1-6代表的圖形.第二關后面的圖形用0-9十個數。第三關后面的圖形用A-O十五個字母, //第四關后面的圖形用A-T二十一個字母
上傳時間: 2015-06-19
上傳用戶:hgy9473
TMS320C54X DSP 實驗指導程序 實驗一 常用指令實驗 實驗二 數據存儲實驗 實驗三 I/O實驗 實驗四 定時器實驗 實驗五 INT2中斷實驗 實驗六 A/D轉換實驗 實驗七 D/A轉換實驗 實驗八 AD/DA綜合實驗
上傳時間: 2014-02-16
上傳用戶:縹緲
本書第一部分講述的是傳統的網絡接口N e t B I O S、重定向器以及通過重定向器進行的各類 網絡通信。盡管本書大部分內容均圍繞Wi n s o c k編程這一主題展開,但是, A P I比起Wi n s o c k 來,仍然具有某些獨到之處
上傳時間: 2015-07-08
上傳用戶:戀天使569
設n個不同的整數排好序后存于T[0:n-1]中。若存在一個下標I,0<I<n,使得t[I]=I,設計一個有效算法找到這個下標。要求算法在最壞情況下的計算時間為O(logn).
上傳時間: 2015-07-15
上傳用戶:jcljkh
MD5 加 密的V i s u a l C + + S o u r c e C o d e .
標簽: MD5
上傳時間: 2014-01-04
上傳用戶:lunshaomo
T G O 靜 態 處 理 教 材!
標簽:
上傳時間: 2014-01-01
上傳用戶:lz4v4
GLOTLF Liljencrants-Fant glottal model U=(D,T,P)
標簽: Liljencrants-Fant glottal GLOTLF model
上傳時間: 2014-01-13
上傳用戶:lepoke
本書提供用J B u i l d e r開發數據庫應用程序、創建分布式應用程序以及編寫J a v a B e a n 組件的高級資料。它包括下列幾個部分: • 第一部分是“開發數據庫應用程序”,它提供關于使用J b u i l d e r的D a t a E x p r e s s數據 庫體系結構的信息,并解釋原始數據組件和類之間的相互關系,以及怎樣使用它 們來創建你的數據庫應用程序。它還解釋怎樣使用Data Modeler(數據模型器)和 Application Generator(應用程序生成器)創建數據驅動的客戶機/服務器應用程 序。 • 第二部分是“開發分布式應用程序”,它提供關于使用ORB Explorer、用J B u i l d e r 創建多級的分布應用程序、調試分布式應用程序、用J a v a定義C O R B A接口以及 使用s e r v l e t等的信息。 • 第三部分是“創建J a v a B e a n”,它解釋怎樣開發新的J a v a B e a n組件,描述在組件 開發中涉及的任務, 怎樣使用B e a n s E x p r e s s創建新的J a v a B e a n,以及關于屬性、 事件、B e a nIn f o類和其他方面的詳細情況。
上傳時間: 2014-01-03
上傳用戶:wpt