一 :排序n個元素,元素為隨機生成的長為1~16的字符串,n的取值為2k(k取4、6、8、10、12、16、18、20),排序算法分別為直接插入排序, 冒泡排序,堆排序,歸并排序,快速排序,比較各種排序在不同輸入下的運行時間. 二:排序n個元素,元素為隨機生成的1~10000的正整數,n的取值為2k(k取4、6、8、10、12、16、18、20),排序算法分別為直接插入排序,快速排序,基數排序,計數排序,比較各種排序在不同輸入下的運行時間.
上傳時間: 2016-02-07
上傳用戶:dsgkjgkjg
石子合并問題 在一個圓形操場的四周擺放著n 堆石子。現要將石子有次序地合并成一堆。規定每次只能選相鄰的2 堆石子合并成新的一堆,并將新的一堆石子數記為該次合并的得分。試設計一個算法,計算出將n堆石子合并成一堆的最小得分和最大得分。
標簽: 合并
上傳時間: 2016-02-11
上傳用戶:daguda
在圖像模板匹配問題中,基于像素灰度值的相關算法盡管已經十分普遍,并得到廣泛的應用,但目前此類算法都還存在有時間復雜度高、對圖像亮度與尺寸變化敏感等缺點.為了克服這些缺點,提出一種新的基于圖像灰度值的編碼表示方法.這種方法將圖像分割為一定大小的方塊(稱為R-塊),計算每個R-塊圖像的總灰度值,并根據它與相鄰R-塊灰度值的排序關系進行編碼.然后通過各個R-塊編碼值的比較,實現圖像與模板的匹配.新算法中各個R-塊編碼的計算十分簡單 匹配過程只要對編碼值進行相等比較,而且可以采用快速的比較算法.新算法對像素灰度的變化與噪聲具有魯棒性,其時間復雜度是O(M2log(N)).實驗結果表明,新算法比現有的灰度相關算法的計算時間快了兩個數量級.
上傳時間: 2013-12-21
上傳用戶:a673761058
Floyd-Warshall算法描述 1)適用范圍: a)APSP(All Pairs Shortest Paths) b)稠密圖效果最佳 c)邊權可正可負 2)算法描述: a)初始化:dis[u,v]=w[u,v] b)For k:=1 to n For i:=1 to n For j:=1 to n If dis[i,j]>dis[i,k]+dis[k,j] Then Dis[I,j]:=dis[I,k]+dis[k,j] c)算法結束:dis即為所有點對的最短路徑矩陣 3)算法小結:此算法簡單有效,由于三重循環結構緊湊,對于稠密圖,效率要高于執行|V|次Dijkstra算法。時間復雜度O(n^3)。 考慮下列變形:如(I,j)∈E則dis[I,j]初始為1,else初始為0,這樣的Floyd算法最后的最短路徑矩陣即成為一個判斷I,j是否有通路的矩陣。更簡單的,我們可以把dis設成boolean類型,則每次可以用“dis[I,j]:=dis[I,j]or(dis[I,k]and dis[k,j])”來代替算法描述中的藍色部分,可以更直觀地得到I,j的連通情況。
標簽: Floyd-Warshall Shortest Pairs Paths
上傳時間: 2013-12-01
上傳用戶:dyctj
問題描述:設R={ r1 , r2, r3, ..., rn }是要進行排列的n個元素,其中元素 r1 , r2, r3, ..., rn 可能相同。試設計一個算法,列出R的所有不同排列。 算法設計:在主程序中交互輸入n (1≤n≤100)及r1 , r2, r3, ..., rn,計算并在窗口中輸出R的所有不同排列。
上傳時間: 2013-12-23
上傳用戶:13188549192
已知f(xn)=yn ,n=0,1,2,…,N;求通過這N+1個節點{(xn,yn)| n=0,1,2,…,N }的插值函數Pn (x)。 設計出具體的程序,分別使用拉格朗日插值,牛頓插值和三次自然樣條三種算法繪制出相應的插值曲線。用三條不同顏色的曲線來表示三種插值方法在一段區間內的插值函數。要求動態顯示曲線繪制全過程。
上傳時間: 2014-11-29
上傳用戶:GavinNeko
野人與修道士問題 這是一個古典的問題.假設有n個修道士和n個野人準備渡河,但只有一條能容納c人的小船,為了防止野人侵犯修道士,要求無論在何處,修道士的個數不得少于野人的人數(除非修道士個數為0).如果兩種人都會劃船,試設計一個算法,確定他們能否渡過河去,若能,則給出一個小船來回次數最少的最佳方案. 要求: (1) 用一個三元組(x1,x2,x3)表示渡河過程中各個狀態.其中,x1表示起始上岸修道士個數,x2表示起始岸上野人個數,x3表示小船位置(0-在目的岸,1-在起始岸).例如(2,1,1),表示起始岸有兩個修道士,一個野人,小船在起始岸一邊. 采用鄰接表做為存儲結構,將各種狀態之間的遷移圖保存下來. (2)采用廣度搜索法,得到首先搜索到邊數最少的一條通路. (3)輸出數據 若問題有解(能渡過河去),則輸出一個最佳方案.用三元組表示渡河過程中的狀態,并用箭頭指出這些狀態之間的遷移: 目的狀態<-...中間狀態<-...初始狀態. 若問題無解,則給出"渡河失敗"的信息. (4)求出所有的解.
上傳時間: 2016-02-23
上傳用戶:chenlong
數據結構與算法分析設計的實驗作業,歸并排序、二分查找法、N皇后的算法源代碼
上傳時間: 2014-01-23
上傳用戶:jyycc
壓縮解壓算法LZ77算法有許多派生算法(這里面包括 LZSS算法)。它們的算法原理上基本都相同,無論是哪種派生算法,LZ77算法總會包含一個動態窗口(Sliding Window)和一個預讀緩沖器(Read Ahead Buffer)。動態窗口是個歷史緩沖器,它被用來存放輸入流的前n個字節的有關信息。一個動態窗口的數據范圍可以從 0K 到 64K,而LZSS算法使用了一個4K的動態窗口。預讀緩沖器是與動態窗口相對應的,它被用來存放輸入流的前n個字節,預讀緩沖器的大小通常在0 – 258 之間。這個算法就是基于這些建立的。用下n個字節填充預讀緩存器(這里的n是預讀緩存器的大小)。在動態窗口中尋找與預讀緩沖器中的最匹配的數據,如果匹配的數據長度大于最小匹配長度 (通常取決于編碼器,以及動態窗口的大小,比如一個4K的動態窗口,它的最小匹配長度就是2),那么就輸出一對〈長度(length),距離(distance)〉數組。長度(length)是匹配的數據長度,而距離(distance)說明了在輸入流中向后多少字節這個匹配數據可以被找到。
上傳時間: 2014-01-22
上傳用戶:tzl1975
數據結構 1、算法思路: 先定義一個三元組,創建稀疏矩陣m和n。依次掃描A和B的行號和列號,若A的當前項的行號等于B的當前項的行號,則比較其列號,將較小列的項存入C中,如果列號也相等,則將對應的元素值相加后存入C中;若A的當前項的行號小于B的當前項的行號,則將A的項存入C中;若A的當前項的行號大于B的當前項的行號,則將B的項存入C中。
上傳時間: 2016-03-05
上傳用戶:dyctj