給定n 個(gè)整數(shù)n a , a , ,a 1 2 組成的序列,試設(shè)計(jì)一個(gè)O(n)時(shí)間算法,計(jì)算其最大覆蓋區(qū)間長(zhǎng)度。
上傳時(shí)間: 2015-10-23
上傳用戶:moerwang
計(jì)數(shù)排序是一個(gè)非基于比較的線性時(shí)間排序算法。它對(duì)輸入的數(shù)據(jù)有附加的限制條件: 1、輸入的線性表的元素屬于有限偏序集S; 2、設(shè)輸入的線性表的長(zhǎng)度為n,|S|=k(表示集合S中元素的總數(shù)目為k),則k=O(n)。 在這兩個(gè)條件下,計(jì)數(shù)排序的復(fù)雜性為O(n)。 計(jì)數(shù)排序算法的基本思想是對(duì)于給定的輸入序列中的每一個(gè)元素x,確定該序列中值小于x的元素的個(gè)數(shù)。一旦有了這個(gè)信息,就可以將x直接存放到最終的輸出序列的正確位置上。例如,如果輸入序列中只有17個(gè)元素的值小于x的值,則x可以直接存放在輸出序列的第18個(gè)位置上。 計(jì)數(shù)排序算法沒(méi)有用到元素間的比較,它利用元素的實(shí)際值來(lái)確定它們?cè)谳敵鰯?shù)組中的位置。因此,計(jì)數(shù)排序算法不是一個(gè)基于比較的排序算法,從而它的計(jì)算時(shí)間下界不再是Ω(nlogn)。另一方面,計(jì)數(shù)排序算法之所以能取得線性計(jì)算時(shí)間的上界是因?yàn)閷?duì)元素的取值范圍作了一定限制,即k=O(n)。如果k=n2,n3,..,就得不到線性時(shí)間的上界。
上傳時(shí)間: 2015-10-30
上傳用戶:chenxichenyue
一:需求分析 1. 問(wèn)題描述 魔王總是使用自己的一種非常精練而抽象的語(yǔ)言講話,沒(méi)人能聽懂,但他的語(yǔ)言是可逐步解釋成人能聽懂的語(yǔ)言,因?yàn)樗恼Z(yǔ)言是由以下兩種形式的規(guī)則由人的語(yǔ)言逐步抽象上去的: ----------------------------------------------------------- (1) a---> (B1)(B2)....(Bm) (2)[(op1)(p2)...(pn)]---->[o(pn)][o(p(n-1))].....[o(p1)o] ----------------------------------------------------------- 在這兩種形式中,從左到右均表示解釋.試寫一個(gè)魔王語(yǔ)言的解釋系統(tǒng),把 他的話解釋成人能聽得懂的話. 2. 基本要求: 用下述兩條具體規(guī)則和上述規(guī)則形式(2)實(shí)現(xiàn).設(shè)大寫字母表示魔王語(yǔ)言的詞匯 小寫字母表示人的語(yǔ)言的詞匯 希臘字母表示可以用大寫字母或小寫字母代換的變量.魔王語(yǔ)言可含人的詞匯. (1) B --> tAdA (2) A --> sae 3. 測(cè)試數(shù)據(jù): B(ehnxgz)B 解釋成 tsaedsaeezegexenehetsaedsae若將小寫字母與漢字建立下表所示的對(duì)應(yīng)關(guān)系,則魔王說(shuō)的話是:"天上一只鵝地上一只鵝鵝追鵝趕鵝下鵝蛋鵝恨鵝天上一只鵝地上一只鵝". | t | d | s | a | e | z | g | x | n | h | | 天 | 地 | 上 | 一只| 鵝 | 追 | 趕 | 下 | 蛋 | 恨 |
上傳時(shí)間: 2014-12-02
上傳用戶:jkhjkh1982
[問(wèn)題描述] 將N個(gè)關(guān)鍵字去整數(shù)的記錄進(jìn)行整序, 以使所有關(guān)鍵字為非負(fù)數(shù)的記錄排在關(guān)鍵字為負(fù)數(shù)的記錄之前,要求使用最少的附加空間,且算法的時(shí)間復(fù)雜度為O(N) [輸入] 待排序記錄個(gè)數(shù),各關(guān)鍵字的值。 [輸出] 關(guān)鍵字從正負(fù)分開,正數(shù)在前 [存儲(chǔ)結(jié)構(gòu)] 待排序記錄順序存儲(chǔ)。 [算法的基本思想] 快速排序算法每次任取一個(gè)記錄的關(guān)鍵字為標(biāo)準(zhǔn),將其余記錄分為兩組將,N個(gè)關(guān)鍵字去整數(shù)的記錄進(jìn)行整序, 以使所有關(guān)鍵字為非負(fù)數(shù)的記錄排在關(guān)鍵字為負(fù)數(shù)的記錄之前。 #include <iostream> using namespace std #define MAXNUM 100//設(shè)文件的最長(zhǎng)可能長(zhǎng)度 void sort(int* keys, const int len)//排序
上傳時(shí)間: 2014-01-13
上傳用戶:aig85
TLC549是一種采用8位逐次逼近式工作的A/D轉(zhuǎn)換器。內(nèi)部包含系統(tǒng)時(shí)鐘、采樣和保持、8位A/D轉(zhuǎn)換器、數(shù)據(jù)寄存器以及控制邏輯電路。TLC549每25uS重復(fù)一次“輸入—轉(zhuǎn)換—輸出”。器件有兩個(gè)控制輸入:I/O CLOCK和片選(CS)。 內(nèi)部系統(tǒng)時(shí)鐘和I/O CLOCK可獨(dú)立使用。應(yīng)用電路的設(shè)計(jì)只需利用I/O時(shí)鐘啟動(dòng)轉(zhuǎn)換或讀出轉(zhuǎn)換結(jié)果。當(dāng)CS為高電平時(shí),DATA OUT處于高阻態(tài)且I/O時(shí)鐘被禁止。
標(biāo)簽: TLC 549 8位 轉(zhuǎn)換器
上傳時(shí)間: 2014-01-17
上傳用戶:qiaoyue
Java 版本的 PHP serialize/unserialize 完整實(shí)現(xiàn)。目前實(shí)現(xiàn)了對(duì)各種基本類型、數(shù)組、ArrayList、HashMap、和其它可序列化對(duì)象的序列化。實(shí)現(xiàn)了 PHP 5 中的Serializable 接口的支持。實(shí)現(xiàn)了 PHP 中的 __sleep 和 __wakeup 魔術(shù)方法的支持。實(shí)現(xiàn)了對(duì)所有標(biāo)示(N、b、i、d、s、a、O、R、r、U、C)的反序列化,在對(duì)標(biāo)示 a 反序列化時(shí),可以根據(jù)下標(biāo)和值來(lái)自動(dòng)判斷是 ArrayList 還是 HashMap。并且在反序列化時(shí)可以強(qiáng)制指定反序列化的類型。該類是靜態(tài)類,無(wú)需也不能被實(shí)例化。除了包含了 serialize 和 unserialize 方法以外,還增加了一個(gè) cast 方法,用來(lái)進(jìn)行反序列化后的類型轉(zhuǎn)換,該方法主要用于將反序列化后的 ArrayList 轉(zhuǎn)化為數(shù)組或者 HashMap。
標(biāo)簽: unserialize ArrayList PHP serialize
上傳時(shí)間: 2016-01-06
上傳用戶:奇奇奔奔
n皇后問(wèn)題求解(8<=n<=1000) a) 皇后個(gè)數(shù)的設(shè)定 在指定文本框內(nèi)輸入皇后個(gè)數(shù)即可,注意: 皇后個(gè)數(shù)在8和1000 之間(包括8和1000) b) 求解 點(diǎn)擊<Solve>按鈕即可進(jìn)行求解. c) 求解過(guò)程顯示 在標(biāo)有Total Collision的靜態(tài)文本框中將輸出當(dāng)前棋盤上的皇后總沖突數(shù). 當(dāng)沖突數(shù)降到0時(shí),求解完畢. d) 求解結(jié)果顯示 程序可以圖形化顯示8<=n<=50的皇后求解結(jié)果. e) 退出程序,點(diǎn)擊<Exit>即可退出程序.
上傳時(shí)間: 2016-01-28
上傳用戶:ztj182002
%求輸入一維信號(hào)的計(jì)盒分形維數(shù) %y是一維信號(hào) %cellmax:方格子的最大邊長(zhǎng),可以取2的偶數(shù)次冪次(1,2,4,8...),取大于數(shù)據(jù)長(zhǎng)度的偶數(shù) %D是y的計(jì)盒維數(shù)(一般情況下D>=1),D=lim(log(N(e))/log(k/e)),
標(biāo)簽: cellmax 信號(hào) gt 輸入
上傳時(shí)間: 2013-12-13
上傳用戶:671145514
在Quartus下使用D觸發(fā)器來(lái)加入延遲,每個(gè)D觸發(fā)器增加半個(gè)周期的延遲,稍加更改可以得到不同的延遲。
上傳時(shí)間: 2013-12-19
上傳用戶:wys0120
Floyd-Warshall算法描述 1)適用范圍: a)APSP(All Pairs Shortest Paths) b)稠密圖效果最佳 c)邊權(quán)可正可負(fù) 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)算法結(jié)束:dis即為所有點(diǎn)對(duì)的最短路徑矩陣 3)算法小結(jié):此算法簡(jiǎn)單有效,由于三重循環(huán)結(jié)構(gòu)緊湊,對(duì)于稠密圖,效率要高于執(zhí)行|V|次Dijkstra算法。時(shí)間復(fù)雜度O(n^3)。 考慮下列變形:如(I,j)∈E則dis[I,j]初始為1,else初始為0,這樣的Floyd算法最后的最短路徑矩陣即成為一個(gè)判斷I,j是否有通路的矩陣。更簡(jiǎn)單的,我們可以把dis設(shè)成boolean類型,則每次可以用“dis[I,j]:=dis[I,j]or(dis[I,k]and dis[k,j])”來(lái)代替算法描述中的藍(lán)色部分,可以更直觀地得到I,j的連通情況。
標(biāo)簽: Floyd-Warshall Shortest Pairs Paths
上傳時(shí)間: 2013-12-01
上傳用戶:dyctj
蟲蟲下載站版權(quán)所有 京ICP備2021023401號(hào)-1