導航:首頁 > 源碼編譯 > 計算機演算法怎麼學

計算機演算法怎麼學

發布時間:2024-07-07 23:17:53

A. 計算機專業學演算法的都學些什麼演算法,有什麼書可以看的學的話需要些什麼基礎的

計算機演算法非常多的
A*搜尋演算法
俗稱A星演算法。這是一種在圖形平面上,有多個節點的路徑,求出最低通過成本的演算法。常用於游戲中的NPC的移動計算,或線上游戲的BOT的移動計算上。該演算法像Dijkstra演算法一樣,可以找到一條最短路徑;也像BFS一樣,進行啟發式的搜索。
Beam Search
束搜索(beam search)方法是解決優化問題的一種啟發式方法,它是在分枝定界方法基礎上發展起來的,它使用啟發式方法估計k個最好的路徑,僅從這k個路徑出發向下搜索,即每一層只有滿意的結點會被保留,其它的結點則被永久拋棄,從而比分枝定界法能大大節省運行時間。束搜索於20 世紀70年代中期首先被應用於人工智慧領域,1976 年Lowerre在其稱為HARPY的語音識別系統中第一次使用了束搜索方法。他的目標是並行地搜索幾個潛在的最優決策路徑以減少回溯,並快速地獲得一個解。
二分取中查找演算法
一種在有序數組中查找某一特定元素的搜索演算法。搜索過程從數組的中間元素開始,如果中間元素正好是要查找的元素,則搜索過程結束;如果某一特定元素大於或者小於中間元素,則在數組大於或小於中間元素的那一半中查找,而且跟開始一樣從中間元素開始比較。這種搜索演算法每一次比較都使搜索范圍縮小一半。
Branch and bound
分支定界(branch and bound)演算法是一種在問題的解空間樹上搜索問題的解的方法。但與回溯演算法不同,分支定界演算法採用廣度優先或最小耗費優先的方法搜索解空間樹,並且,在分支定界演算法中,每一個活結點只有一次機會成為擴展結點。
數據壓縮
數據壓縮是通過減少計算機中所存儲數據或者通信傳播中數據的冗餘度,達到增大數據密度,最終使數據的存儲空間減少的技術。數據壓縮在文件存儲和分布式系統領域有著十分廣泛的應用。數據壓縮也代表著尺寸媒介容量的增大和網路帶寬的擴展。
Diffie–Hellman密鑰協商
Diffie–Hellman key exchange,簡稱「D–H」,是一種安全協議。它可以讓雙方在完全沒有對方任何預先信息的條件下通過不安全信道建立起一個密鑰。這個密鑰可以在後續的通訊中作為對稱密鑰來加密通訊內容。
Dijkstra』s 演算法
迪科斯徹演算法(Dijkstra)是由荷蘭計算機科學家艾茲格·迪科斯徹(Edsger Wybe Dijkstra)發明的。演算法解決的是有向圖中單個源點到其他頂點的最短路徑問題。舉例來說,如果圖中的頂點表示城市,而邊上的權重表示著城市間開車行經的距離,迪科斯徹演算法可以用來找到兩個城市之間的最短路徑。
動態規劃
動態規劃是一種在數學和計算機科學中使用的,用於求解包含重疊子問題的最優化問題的方法。其基本思想是,將原問題分解為相似的子問題,在求解的過程中通過子問題的解求出原問題的解。動態規劃的思想是多種演算法的基礎,被廣泛應用於計算機科學和工程領域。比較著名的應用實例有:求解最短路徑問題,背包問題,項目管理,網路流優化等。這里也有一篇文章說得比較詳細。
歐幾里得演算法
在數學中,輾轉相除法,又稱歐幾里得演算法,是求最大公約數的演算法。輾轉相除法首次出現於歐幾里得的《幾何原本》(第VII卷,命題i和ii)中,而在中國則可以追溯至東漢出現的《九章算術》。
最大期望(EM)演算法
在統計計算中,最大期望(EM)演算法是在概率(probabilistic)模型中尋找參數最大似然估計的演算法,其中概率模型依賴於無法觀測的隱藏變數(Latent Variable)。最大期望經常用在機器學習和計算機視覺的數據聚類(Data Clustering)領域。最大期望演算法經過兩個步驟交替進行計算,第一步是計算期望(E),利用對隱藏變數的現有估計值,計算其最大似然估計值;第二步是最大化(M),最大化在 E 步上求得的最大似然值來計算參數的值。M 步上找到的參數估計值被用於下一個 E 步計算中,這個過程不斷交替進行。
快速傅里葉變換(FFT)
快速傅里葉變換(Fast Fourier Transform,FFT),是離散傅里葉變換的快速演算法,也可用於計算離散傅里葉變換的逆變換。快速傅里葉變換有廣泛的應用,如數字信號處理、計算大整數乘法、求解偏微分方程等等。
哈希函數
HashFunction是一種從任何一種數據中創建小的數字「指紋」的方法。該函數將數據打亂混合,重新創建一個叫做散列值的指紋。散列值通常用來代表一個短的隨機字母和數字組成的字元串。好的散列函數在輸入域中很少出現散列沖突。在散列表和數據處理中,不抑制沖突來區別數據,會使得資料庫記錄更難找到。
堆排序
Heapsort是指利用堆積樹(堆)這種數據結構所設計的一種排序演算法。堆積樹是一個近似完全二叉樹的結構,並同時滿足堆積屬性:即子結點的鍵值或索引總是小於(或者大於)它的父結點。
歸並排序
Merge sort是建立在歸並操作上的一種有效的排序演算法。該演算法是採用分治法(Divide and Conquer)的一個非常典型的應用。
RANSAC 演算法
RANSAC 是」RANdom SAmpleConsensus」的縮寫。該演算法是用於從一組觀測數據中估計數學模型參數的迭代方法,由Fischler and Bolles在1981提出,它是一種非確定性演算法,因為它只能以一定的概率得到合理的結果,隨著迭代次數的增加,這種概率是增加的。該演算法的基本假設是觀測數據集中存在」inliers」(那些對模型參數估計起到支持作用的點)和」outliers」(不符合模型的點),並且這組觀測數據受到雜訊影響。RANSAC 假設給定一組」inliers」數據就能夠得到最優的符合這組點的模型。
RSA加密演演算法
這是一個公鑰加密演算法,也是世界上第一個適合用來做簽名的演算法。今天的RSA已經專利失效,其被廣泛地用於電子商務加密,大家都相信,只要密鑰足夠長,這個演算法就會是安全的。
並查集Union-find
並查集是一種樹型的數據結構,用於處理一些不相交集合(Disjoint Sets)的合並及查詢問題。常常在使用中以森林來表示。
Viterbi algorithm
尋找最可能的隱藏狀態序列(Finding most probable sequence of hidden states)。

B. 如何學習演算法本人一大三學生,非計算機專業。想自學下計算機演算法,哪位大神能給指條明路

不知道你想要什麼樣的滿意答案,大家只能給你思路,不可能給你書單。

我覺得,語言是初期的,而演算法不是
所以第一件事應該是學好一種語言
既然你已經學了java,已經能夠解決很多問題了,比如在學java的時候一定會碰到些排序演算法,以及類似漢諾塔一類有趣的演算法——更重要的是你得實際的試試這些小程序

然後學好數據結構,如果想理解和應用[圖]的演算法,像隊列、棧、樹都得滾瓜爛熟吧?(樹相關的演算法也不少)
我不知道java實現的數據結構哪本書比較好,但是數據結構的書應該也不會相差太多吧,這個科目的寫作已經很成熟了,你應該自己能找到。CSDN也有很多高手寫類似博文。
要是真學好了數據結構(不跳過任何難的章節,對每段代碼都親身實踐、爛熟),你掌握的演算法就很了不得了-說實話計算機專業的人又有幾人能做到這點...

關於《演算法導論》(可能是讓你覺得「感覺學了半天沒有真正的學到知識」的其中之一),學數據結構的時候可以一塊兒看 - 網易有公開課呢,連老師都有了。但重要的是多多把演算法敲出來...

另外不得不說,ACM的題庫可以增加學習的樂趣 ~ 最好買那些給出詳解的書

計算機圖形學里有很多演算法-多數計算機圖形學的書都是用c++的..
《計算機圖形學》有國內老師寫的也有國外的:國內的正規教材傾向於走馬觀花,沒什麼重點只是覆蓋知識(我是在說清華大學出版社的幾本);國外經典的書大多是大部頭,動輒600頁裡面還有大量數學分析。前者適合自學去了解相關領域的知識(你還能在網上找到相關的題和答案呢..)。後者不太容易懂,太數學了..
個人覺得如果學演算法是為了研究、創造更好的演算法,比如你下定了決心去編比Maya的某海浪功能更好的插件,那一定要好好讀這些經典大部頭。但如果是為了用,那就不必要。
完成上一步,起碼對自己專業更了解了。說不定過程中你找到了特別感興趣的方向-比如分形,比如用openGL或webGL做些小東西,比如你想要研究粒子,想研究物理碰撞,圖形實時交互...有很多書就是專題講這些的,也有很多網站、愛好者的圈子,你知道該如何提升。

C. 怎麼學習演算法

1、先學好一種熱門的編程語言基礎,一定要精通;
2、學好數學,由淺入深,高等數學、線性代數、離散數學、概率論、數理統計、計算方法等等;
3、主要培養邏輯能力,可以去網上下載或參考經典演算法題目的解法和思路,因為算數的部分計算機能搞定~
4、不要束縛自己的思維,頭腦風暴一般,隨意思考,演算法想怎麼寫就怎麼寫,你會發現突然就寫對了,但不知道為什麼會對=_=

希望對你有幫助

閱讀全文

與計算機演算法怎麼學相關的資料

熱點內容
c窗口界面編程 瀏覽:21
hypermill編程能做模板嗎 瀏覽:780
計算機網路最經典的演算法 瀏覽:626
華為思科的配置命令 瀏覽:869
linux設置光碟啟動 瀏覽:359
程序員俱樂部注冊 瀏覽:17
洗潔精雞蛋盤解壓視頻 瀏覽:291
企業內網加密app 瀏覽:49
騰訊雲伺服器怎麼設置本地網路 瀏覽:623
日常程序員 瀏覽:513
哪個pe有bit加密功能 瀏覽:108
rust伺服器是用什麼ip 瀏覽:692
java隨機字元串生成 瀏覽:551
數碼寶貝編程人物 瀏覽:390
php多用戶建站系統 瀏覽:624
加密防盜地上栓價位 瀏覽:671
比澤爾壓縮機下載 瀏覽:420
深圳壓縮機製造公司 瀏覽:882
如何給u盤單獨文件加密碼 瀏覽:285
恆溫機故障源碼 瀏覽:419