附有本人超級詳細解釋(看不懂的面壁十天!) 一、 實際問題: 希爾排序(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
上傳用戶:天涯
C-C方法及改進的C-C方法重構相空間的matlab程序 -------------------------------- 性能: 3000數據耗時3分鐘 -------------------------------- 參考文獻: 1、Nonlinear dynamics, delay times, and embedding windows.pdf 2、基于改進的C-C方法的相空間重構參數選擇4.pdf -------------------------------- 文件夾說明: 1、C_C_Method_luzhenbo2.m - 程序主文件,直接運行此文件即可! 2、LorenzData.dll - 產生Lorenz離散數據 3、DuffingData.dll - 產生Duffing離散數據 4、RosslerData.dll - 產生Rossler離散數據 5、ccFunction.dll - 計算S(m,N,r,t) - 原C-C方法中計算S(m,N,r,t),改進的C-C方法中計算S2(m,N,r,t) 6、ccFunction_luzhenbo.dll - 計算S(m,N,r,t) - 改進的C-C方法中計算S1(m,N,r,t) -------------------------------- 致謝: 此稿本次修改的部分靈感來源于與研學論壇網友“張文鴿”和“yangfanboy”的討論,在此表示感謝!
上傳時間: 2015-06-08
上傳用戶:lo25643
源代碼\用動態規劃算法計算序列關系個數 用關系"<"和"="將3個數a,b,c依次序排列時,有13種不同的序列關系: a=b=c,a=b<c,a<b=v,a<b<c,a<c<b a=c<b,b<a=c,b<a<c,b<c<a,b=c<a c<a=b,c<a<b,c<b<a 若要將n個數依序列,設計一個動態規劃算法,計算出有多少種不同的序列關系, 要求算法只占用O(n),只耗時O(n*n).
上傳時間: 2013-12-26
上傳用戶:siguazgb
<1>問題描述 有一個魔王總是使用自己的一種非常精練而又抽象的語言講話,沒有人能聽得懂,但他的語言是可以逐步解釋成人能聽懂的語言,因為他的語言是由以下兩種形式的規則由人的語言逐步抽象上去的: (1) α 轉換為 β1β2…βm (2) (θδ1δ2…δn) 轉換為 θδnθδn-1… θδ1θ 在這兩種形式重,從左到右均表示解釋。試寫一個魔王語言的解釋兄,把他的話解釋成人能聽得懂的話。 [基本要求] 用下述兩條具體規則和上述規則形式(2)實現。設大寫字母表示魔王語言的詞匯;小寫字母表示人的語言詞匯;希臘字母表示可以用大寫字母或小寫字母代換的變量。魔王語言可含人的詞匯。 (1)B 轉換為 tAdA (2)A 轉換為 sae
上傳時間: 2013-12-17
上傳用戶:jyycc
實現功能: 從計算機終端讀入字符集大小,以及n個字符和n個權值,建立哈夫曼樹;為n個字符編碼,并在顯示器終端現實每個字符的編碼情況;為一段字符串編碼。 課程設計規范,內含源代碼。
上傳時間: 2013-12-19
上傳用戶:15736969615
魔王語言解釋 [問題描述] 有一個魔王總是使用自己的一種非常精練而又抽象的語言講話,沒有人能聽得懂,但他的語言是可以逐步解釋成人能聽懂的語言,因為他的語言是由以下兩種形式的規則由人的語言逐步抽象上去的: (1) α 轉換為 β1β2…βm (2) (θδ1δ2…δn) 轉換為 θδnθδn-1… θδ1θ 在這兩種形式重,從左到右均表示解釋。試寫一個魔王語言的解釋兄,把他的話解釋成人能聽得懂的話。 [基本要求] 用下述兩條具體規則和上述規則形式(2)實現。設大寫字母表示魔王語言的詞匯;小寫字母表示人的語言詞匯;希臘字母表示可以用大寫字母或小寫字母代換的變量。魔王語言可含人的詞匯。 (1)B 轉換為 tAdA (2)A 轉換為 sae [測試數據] B(exnxgz)B解釋成tsaedsaeezegexenehetsaedsae 若將小寫字母與漢字建立下表所示的對應關系,則魔王說的話是:“天上一只鵝地上一只鵝鵝追鵝趕鵝下鵝蛋鵝恨鵝天上一直鵝地上一只鵝”。 t d s a e z g x n h 天 地 上 一只 鵝 追 趕 下 蛋 恨
上傳時間: 2014-12-21
上傳用戶:大三三
1、(1)32bit乘法的指令解釋 (2)volume1的load.asm基礎上實現一個 16bit數組的乘法累加的函數,并進行 -o2 / -o3 / 手工優化 2、c環境 C調用匯編函數,匯編函數調用c函數 addarr3(int * arr1, int * arr2, int * arr3, int * arr4, n) //匯編函數,3個數組的對應位置相加,結果放在arr4[n]中, 匯編函數調用C的子函數,它把arr1和arr2相加放到arr3[n]中; addarr2(int * arr1, int * arr2, int * arr3, n)
上傳時間: 2014-01-08
上傳用戶:bibirnovis
RSA公鑰加密算法基于大整數因式分解困難這樣的事實。 選擇兩個素數,p,q。(一般p,q選擇很大的數) 然后計算 z=p*q f=(p-1)(q-1) 選擇一個n,使gcd(n,f)=1(gcd代表greatest common divider,一般n也選擇一個素數), n和z就作為公鑰。 選擇一個s,0<s<f,滿足n*s % f=1,s就作為私鑰。
上傳時間: 2013-12-14
上傳用戶:wxhwjf
本文件描述了一個基于串口實現文件傳輸的協議eXmodem,該協議基于標準Xmodem File Transfer Protocol,是一個獨立標準,完全功能,全新的文件傳輸協議。 1)該協議除實現Xmodem File Transfer基本功能,即已實現了在兩個設備相互之間,通過串口把一個設備內文件傳輸至另一個設備內;其增強功能所列參考如下: a)兩個設備相互之間傳輸文件能夠以一致的文件目錄存放; b)兩個設備相互之間可以傳輸任意大小的文件,而Xmodem File Transfer只能傳送128 *n字節大小的文件; c)具備避免一個文件在兩個設備相互之間重復傳輸的功能,提高了文件傳輸的效率。
上傳時間: 2015-09-30
上傳用戶:LouieWu
此程序采用數據并行方式 //每個處理器執行相同的可視化流程: // vtkImageReader -> vtkContourFilter -> vtkElevationFilter //另外,第一個處理器創建n個輸入接口(n=處理器個數-1),同時其它處理器 //分別創建輸出接口與其對應.第一個處理器合成自己和其它處理器輸出的 //多邊形數據,并將其顯示出來.
標簽: vtkElevationFilter vtkContourFilter vtkImageReader gt
上傳時間: 2015-10-13
上傳用戶:13188549192