最大間隙問題:給定n 個(gè)實(shí)數(shù)x , x , , xn 1 2 ,求這n 個(gè)數(shù)在實(shí)軸上相鄰2 個(gè)數(shù)之間的最 大差值。假設(shè)對(duì)任何實(shí)數(shù)的下取整函數(shù)耗時(shí)O(1),設(shè)計(jì)解最大間隙問題的線性時(shí)間算法。
上傳時(shí)間: 2013-12-25
上傳用戶:123456wh
算法實(shí)現(xiàn)題1-2 連續(xù)和問題 « 問題描述: 給定一個(gè)正整數(shù)n,計(jì)算有多少個(gè)不同的連續(xù)自然數(shù)段,其和恰為n。例如,當(dāng)n=27 時(shí),有4 個(gè)不同的連續(xù)自然數(shù)段的和恰為27:2+3+4+5+6+7;8+9+10;13+14;27。 « 編程任務(wù): 給定一個(gè)正整數(shù)n,試設(shè)計(jì)一個(gè)O(n)時(shí)間算法,計(jì)算有多少個(gè)不同的連續(xù)自然數(shù)段的 和恰為n。 « 數(shù)據(jù)輸入: 由文件input.txt提供輸入數(shù)據(jù)。文件的第1 行是正整數(shù)n。 « 結(jié)果輸出: 程序運(yùn)行結(jié)束時(shí),將計(jì)算出的和恰為n的連續(xù)自然數(shù)段的個(gè)數(shù)輸出到output.txt中。 輸入文件示例 輸出文件示例 input.txt 27 output.txt 4
上傳時(shí)間: 2016-05-28
上傳用戶:yulg
Ex3-23 親兄弟問題 « 問題描述: 給定n 個(gè)整數(shù)0 1 1 , , , n- a a a 組成的序列。序列中元素i a 的親兄弟元素k a 定義為: min{ | } k i j n j j i a = a a ³ a < < 。 親兄弟問題要求給定序列中每個(gè)元素的親兄弟元素的位置。元素i a 的親兄弟元素為k a 時(shí),稱k 為元素i a 的親兄弟元素的位置。當(dāng)元素i a 沒有親兄弟元素時(shí),約定其親兄弟元素 的位置為-1。 例如,當(dāng)n=10,整數(shù)序列為6,1,4,3,6,2,4,7,3,5 時(shí),相應(yīng)的親兄弟元素位 置序列為:4,2,4,4,7,6,7,-1,9,-1。 « 編程任務(wù): 對(duì)于給定的n個(gè)整數(shù)0 1 1 , , , n- a a a 組成的序列,試用抽象數(shù)據(jù)類型棧,設(shè)計(jì)一個(gè)O(n) 時(shí)間算法,計(jì)算相應(yīng)的親兄弟元素位置序列。 « 數(shù)據(jù)輸入: 由文件input.txt提供輸入數(shù)據(jù)。文件的第1 行有1 個(gè)正整數(shù)n,表示給定給n個(gè)整數(shù)。 第2 行是0 1 1 , , , n- a a a 。 « 結(jié)果輸出: 程序運(yùn)行結(jié)束時(shí),將計(jì)算出的與給定序列相應(yīng)的親兄弟元素位置序列輸出到output.txt 中。 輸入文件示例 輸出文件示例 input.txt 10 4 2 4 4 7 6 7 -1 9 -1 output.txt 6 1 4 3 6 2 4 7 3 5
上傳時(shí)間: 2013-12-17
上傳用戶:shizhanincc
Ex8-4 匯點(diǎn)問題 « 問題描述: 采用鄰接矩陣表示一個(gè)具有n 個(gè)頂點(diǎn)的圖時(shí),大多數(shù)關(guān)于圖的算法時(shí)間復(fù)雜性為 O(n2 ),但也有例外。例如,即使采用鄰接矩陣表示一個(gè)有向圖G,確定G 是否含有一個(gè) 匯(即入度為n-1,出度為0 的頂點(diǎn)),只需要O(n)計(jì)算時(shí)間。試寫出其算法。 « 編程任務(wù): 對(duì)于給定的有n個(gè)頂點(diǎn)的圖G 的鄰接矩陣,各頂點(diǎn)依次編號(hào)為1,2,…,n。試設(shè)計(jì)一 個(gè)O(n)時(shí)間算法,計(jì)算圖G 的匯點(diǎn)。 « 數(shù)據(jù)輸入: 由文件input.txt提供輸入數(shù)據(jù)。文件的第1 行有1 個(gè)正整數(shù)n,表示圖G 中頂點(diǎn)個(gè)數(shù)。 第2 行起每行n個(gè)數(shù),共n行,給出圖G 的鄰接矩陣。 « 結(jié)果輸出: 程序運(yùn)行結(jié)束時(shí),將計(jì)算出的匯點(diǎn)編號(hào)輸出到output.txt中。當(dāng)圖G 沒有匯點(diǎn)時(shí)輸出0。 輸入文件示例 輸出文件示例 input.txt 5 0 0 1 1 1 1 0 1 1 1 0 0 0 0 0 1 0 1 1 1 0 1 1 0 0 output.txt 3
上傳時(shí)間: 2013-12-25
上傳用戶:yyyyyyyyyy
算法實(shí)現(xiàn)題1-5 最大間隙問題 « 問題描述: 最大間隙問題:給定n 個(gè)實(shí)數(shù)x , , xn 1 2 ,求這n 個(gè)數(shù)在實(shí)軸上相鄰2 個(gè)數(shù)之間的最 大差值。假設(shè)對(duì)任何實(shí)數(shù)的下取整函數(shù)耗時(shí)O(1),設(shè)計(jì)解最大間隙問題的線性時(shí)間算法。 « 編程任務(wù): 對(duì)于給定的n 個(gè)實(shí)數(shù)n x , x , , x 1 2 ,編程計(jì)算它們的最大間隙。 « 數(shù)據(jù)輸入: 輸入數(shù)據(jù)由文件名為input.txt的文本文件提供。文件的第1 行有1 個(gè)正整數(shù)n。接下來 的1 行中有n個(gè)實(shí)數(shù)n x , x , , x 1 2 。 « 結(jié)果輸出: 程序運(yùn)行結(jié)束時(shí),將找到的最大間隙輸出到文件output.txt中。 輸入文件示例 輸出文件示例 input.txt 5 2.3 3.1 7.5 1.5 6.3 output.txt 3.2
上傳時(shí)間: 2016-05-28
上傳用戶:咔樂塢
Ex4-22 單射函數(shù)問題 « 問題描述: 設(shè)函數(shù)f將點(diǎn)集S = {0,1, , n -1}映射為f (S) = { f (i) | iÎ S} Í S 。單射函數(shù)問題要 從S中選取最大子集X Í S 使f (X )是單射函數(shù)。 例如,當(dāng)n=7, f (S) = {1,0,0,2,2,3,6} Í S 時(shí), X = {0,1,6} Í S 是所求的最大子集。 « 編程任務(wù): 對(duì)于給定的點(diǎn)集S = {0,1, , n -1}上函數(shù)f,試用抽象數(shù)據(jù)類型隊(duì)列,設(shè)計(jì)一個(gè)O(n)時(shí) 間算法,計(jì)算f的最大單射子集。 « 數(shù)據(jù)輸入: 由文件input.txt 提供輸入數(shù)據(jù)。文件的第1 行有1 個(gè)正整數(shù)n,表示給定的點(diǎn)集 S = {0,1, , n -1}。第2 行是f (i)的值,0 £ i < n。 « 結(jié)果輸出: 程序運(yùn)行結(jié)束時(shí),將計(jì)算出的f的最大單射子集的大小輸出到output.txt中。 輸入文件示例 輸出文件示例 input.txt 7 1 0 0 2 2 3 6 output.txt 3
標(biāo)簽: Iacute 61516 laquo Icirc
上傳時(shí)間: 2016-05-28
上傳用戶:tyler
對(duì)n個(gè)關(guān)鍵字取整數(shù)的記錄進(jìn)行整序,以使所有關(guān)鍵字為非負(fù)整數(shù)的記錄排在關(guān)鍵字為負(fù)數(shù)的記錄之前,要求使用最少的附加空間,且算法的時(shí)間復(fù)雜度為O(n)。
上傳時(shí)間: 2016-07-05
上傳用戶:caixiaoxu26
合并排序算法是用分治策略實(shí)現(xiàn)對(duì)n個(gè)元素進(jìn)行排序的算法。其基本思想是:將待排序的元素分成大小大致相同的2個(gè)子集合,分別對(duì)2個(gè)子集合進(jìn)行排序,最終將排好序的子集合合并成為所要求的排好序的集合。算法復(fù)雜度為:O(nlogn)
上傳時(shí)間: 2014-11-29
上傳用戶:wl9454
兩臺(tái)處理機(jī)A 和B處理n個(gè)作業(yè)。設(shè)第i個(gè)作業(yè)交給機(jī)器 A 處理時(shí)需要時(shí)間ai,若由機(jī)器B 來處理,則需要時(shí)間bi。由于各作 業(yè)的特點(diǎn)和機(jī)器的性能關(guān)系,很可能對(duì)于某些i,有ai >=bi,而對(duì)于 某些j,j!=i,有aj<bj。既不能將一個(gè)作業(yè)分開由兩臺(tái)機(jī)器處理,也沒 有一臺(tái)機(jī)器能同時(shí)處理2 個(gè)作業(yè)。設(shè)計(jì)一個(gè)動(dòng)態(tài)規(guī)劃算法,使得這兩 臺(tái)機(jī)器處理完成這n 個(gè)作業(yè)的時(shí)間最短(從任何一臺(tái)機(jī)器開工到最后 一臺(tái)機(jī)器停工的總時(shí)間)。研究一個(gè)實(shí)例:(a1,a2,a3,a4,a5,a6)= (2,5,7,10,5,2);(b1,b2,b3,b4,b5,b6)=(3,8,4,11,3,4)
上傳時(shí)間: 2014-01-14
上傳用戶:獨(dú)孤求源
加密的步驟 1) 計(jì)算N的有效位數(shù)tn(以字節(jié)數(shù)計(jì)),將最高位的零忽略掉,令tn1=tn-1。比如N=0x012A05,其有效位數(shù)tn=5,tn1=4。 2) 將明文數(shù)據(jù)A分割成tn1位(以字節(jié)數(shù)計(jì))的塊,每塊看成一個(gè)大數(shù),塊數(shù)記為bn。從而,保證了每塊都小于N。 3) 對(duì)A的每一塊Ai進(jìn)行Bi=Ai^E MOD N運(yùn)算。Bi就是密文數(shù)據(jù)的一塊,將所有密文塊合并起來,就得到了密文數(shù)據(jù)B。
上傳時(shí)間: 2014-12-05
上傳用戶:caozhizhi
蟲蟲下載站版權(quán)所有 京ICP備2021023401號(hào)-1