當前位置:首頁 » 操作系統 » 演算法題庫

演算法題庫

發布時間: 2022-01-24 12:35:11

⑴ 推薦幾個編程題庫

http://acm.sgu.ru
SGU大學網站,演算法性很強的,推薦
http://acm.timus.ru
URAL大學網站,做的人很多
http://train.usaco.org
USACO,USA網站,有很多大牛
http://acm.pku.e.cn
北大網站,中文討論
其他還有很多,如西班牙的,浙江的,湖南的,同濟的都很好
很快提高編程思維與水平

⑵ 演算法時間復雜度的計算例題

第一題:
int i=1,k=100這條語句演算法步數是2步,執行頻率是1;
循環中, k=k+1;這條語句每次演算法步數是1;執行頻率是n/2-1; i+=2這條語句每次演算法步數是1;執行頻率是n/2-1;
所以演算法復雜度為1*(n/2-1)+1*(n/2-1)+2=n=o(n);

⑶ JAVA藍橋杯題庫演算法訓練

不知道你在說什麼,你到底要幹嘛阿?

⑷ 組卷演算法有哪幾種

目前有三種:

1. 隨機選取法:根據狀態空間的控制指標,由計算機隨機的抽取一道試題放入試題庫,此過程不斷重復,直到組卷完畢,或已無法從題庫中抽取滿足控制指標的試題為止。該方法結構簡單,對於單道題的抽取運行速度較快,但是對於整個組卷過程來說組捲成功率低,即使組捲成功,花費時間也令人難以忍受。尤其是當題庫中各狀態類型平均出題量較低時,組卷往往以失敗而告終。

2. 回溯試探法:這是將隨機選取法產生的每一狀態類型紀錄下來,當搜索失敗時釋放上次紀錄的狀態類型,然後再依據一定的規律(正是這種規律破壞了選取試題的隨機性)變換一種新的狀態類型進行試探,通過不斷的回溯試探直到試卷生成完畢或退回出發點為止,這種有條件的深度優先演算法,對於狀態類型和出題量都較少的題庫系統而言,組捲成功率較好,但是在實際到一個應用時發現這種演算法對內存的佔用量很大,程序結構相對比較復雜,而且選取試題缺乏隨機性,組卷時間長,後兩點是用戶無法接受的,因此它也不是一種很好的用來自動組卷的演算法。

3. 遺傳演算法:是一種並行的、能夠有效優化的演算法,以morgan的基因理論及eldridge 與gould間斷平衡理論為依據,同時融合了mayr的邊緣物種形成理論和bertalanffv一般系統理論的一些思想,模擬達爾文的自然界遺傳學:繼承(基因遺傳)、進化(基因突變)優勝劣汰(優的基因大量被遺傳復制,劣的基因較少被遺傳復制)。其實質就是一種把自然界有機體的優勝劣汰的自然選擇、適者生存的進化機制與同一群體中個體與個體間的隨機信息交換機制相結合的搜索演算法。運用遺傳演算法求解問題首先需將所要求解的問題表示成二進制編碼,然後根據環境進行基本的操作:selection,crossover,mutation……這樣進行不斷的所謂「生存選擇」,最後收斂到一個最適應環境條件的個體上,得到問題的最優解。

⑸ 有沒有比較簡單的遞歸演算法例題

VB 遞歸演算法 求階乘

Function Factorial(n As Long) As Long
If n = 1 Then Factorial = 1 Else Factorial = n * Factorial(n - 1)
End Function

Private Sub Command1_Click()
Dim n As Long
For n = 1 To 10
Print CStr(n); "!="; Factorial(n)
Next n
End Sub

⑹ 操作系統LRU演算法習題求解!!!

LRU隊列長度為 (384/128) = 3。
87、138、277、56、390、532、285、410、45、180、330、190
對應的頁面號依次為:

0 、 1 、 2 、 0 、 3 、 4 、 2 、 3 、 0 、 1 、 2 、 1
然後看看那幾個頁面會缺頁:
0、1、2 都會缺頁,因為一開始內存裡面什麼頁面都沒有。
0會命中。 現在內存裡面頁面的LRU順序為0,2,1
3、4都會缺頁。 內存中沒有。 現在內存裡面LRU順序為 4,3,0
2會缺頁。 內存中沒有。 LRU順序為 2,4,3
0、1會缺頁。 內存中沒有。 LRU順序為 1,0,2
2、1會命中。

總共12次訪問,只有3次命中,9次失效。
失效率為 9/12 = 75%

⑺ 大公司筆試面試有哪些經典演算法題目

1、二維數組中的查找

具體例題:如果一個數字序列逆置之後跟原序列是一樣的就稱這樣的數字序列為迴文序列。例如:{1, 2, 1}, {15, 78, 78, 15} , {112} 是迴文序列, {1, 2, 2}, {15, 78, 87, 51} ,{112, 2, 11} 不是迴文序列。現在給出一個數字序列,允許使用一種轉換操作:選擇任意兩個相鄰的數,然後從序列移除這兩個數,並用這兩個數字的和插入到這兩個數之前的位置(只插入一個和)。現在對於所給序列要求出最少需要多少次操作可以將其變成迴文序列?



⑻ C++經典演算法題集。

《你必須知道的495個C語言問題》[PDF]

好好看看 數據結構 和 一些基本演算法 STL

⑼ 數據結構與演算法題

數據結構復習
重點是了解數據結構的邏輯結構、存儲結構、數據的運算三方面的概念及相互關系,難點是演算法復雜度的分析方法。
需要達到<識記>層次的基本概念和術語有:數據、數據元素、數據項、數據結構。特別是數據結構的邏輯結構、存儲結構及數據運算的含義及其相互關系。數據結構的兩大類邏輯結構和四種常用的存儲表示方法。
需要達到<領會>層次的內容有演算法、演算法的時間復雜度和空間復雜度、最壞的和平均時間復雜度等概念,演算法描述和演算法分析的方法、對一般的演算法要能分析出時間復雜度。
對於基本概念,仔細看書就能夠理解,這里簡單提一下:
數據就是指能夠被計算機識別、存儲和加工處理的信息的載體。
數據元素是數據的基本單位,有時一個數據元素可以由若干個數據項組成。數據項是具有獨立含義的最小標識單位。如整數這個集合中,10這個數就可稱是一個數據元素.又比如在一個資料庫(關系式資料庫)中,一個記錄可稱為一個數據元素,而這個元素中的某一欄位就是一個數據項。

數據結構的定義雖然沒有標准,但是它包括以下三方面內容:邏輯結構、存儲結構、和對數據的操作。這一段比較重要,我用自己的語言來說明一下,大家看看是不是這樣。

比如一個表(資料庫),我們就稱它為一個數據結構,它由很多記錄(數據元素)組成,每個元素又包括很多欄位(數據項)組成。那麼這張表的邏輯結構是怎麼樣的呢? 我們分析數據結構都是從結點(其實也就是元素、記錄、頂點,雖然在各種情況下所用名字不同,但說的是同一個東東)之間的關系來分析的,對於這個表中的任一個記錄(結點),它只有一個直接前趨,只有一個直接後繼(前趨後繼就是前相鄰後相鄰的意思),整個表只有一個開始結點和一個終端結點,那我們知道了這些關系就能明白這個表的邏輯結構了。

而存儲結構則是指用計算機語言如何表示結點之間的這種關系。如上面的表,在計算機語言中描述為連續存放在一片內存單元中,還是隨機的存放在內存中再用指針把它們鏈接在一起,這兩種表示法就成為兩種不同的存儲結構。(注意,在本課程里,我們只在高級語言的層次上討論存儲結構。)

第三個概念就是對數據的運算,比如一張表格,我們需要進行查找,增加,修改,刪除記錄等工作,而怎麼樣才能進行這樣的操作呢? 這也就是數據的運算,它不僅僅是加減乘除這些算術運算了,在數據結構中,這些運算常常涉及演算法問題

熱點內容
linux下ntp伺服器搭建 發布:2024-09-08 08:26:46 瀏覽:742
db2新建資料庫 發布:2024-09-08 08:10:19 瀏覽:171
頻率計源碼 發布:2024-09-08 07:40:26 瀏覽:778
奧迪a6哪個配置帶後排加熱 發布:2024-09-08 07:06:32 瀏覽:101
linux修改apache埠 發布:2024-09-08 07:05:49 瀏覽:209
有多少個不同的密碼子 發布:2024-09-08 07:00:46 瀏覽:566
linux搭建mysql伺服器配置 發布:2024-09-08 06:50:02 瀏覽:995
加上www不能訪問 發布:2024-09-08 06:39:52 瀏覽:811
銀行支付密碼器怎麼用 發布:2024-09-08 06:39:52 瀏覽:513
蘋果手機清理瀏覽器緩存怎麼清理緩存 發布:2024-09-08 06:31:32 瀏覽:554