1. 程式人生 > >幾個重要的演算法

幾個重要的演算法

1. 歸併排序(MERGE SORT)、快速排序(QUICK SORT)和堆積排序(HEAP SORT)


哪個排序演算法效率最高?這要看情況。這也就是我把3種演算法放在一起講的原因,可能你更常用其中一種,不過它們各有千秋。

歸併排序演算法,是目前為止最重要的演算法之一,是分治法的一個典型應用,由數學家John von Neumann於1945年發明。

快速排序演算法,結合了集合劃分演算法和分治演算法,不是很穩定,但在處理隨機列陣(AM-based arrays)時效率相當高。

堆積排序,採用優先佇列機制,減少排序時的搜尋時間,同樣不是很穩定。

與早期的排序演算法相比(如冒泡演算法),這些演算法將排序演算法提上了一個大臺階。也多虧了這些演算法,才有今天的資料發掘,人工智慧,連結分析,以及大部分網頁計算工具。

2. RSA非對稱加密演算法


毫不誇張地說,如果沒有這個演算法對金鑰學和網路安全的貢獻,如今因特網的地位可能就不會如此之高。現在的網路毫無安全感,但遇到錢相關的問題時我們必需要保證有足夠的安全感,如果你覺得網路不安全,肯定不會傻乎乎地在網頁上輸入自己的銀行卡資訊。

RSA演算法,金鑰學領域最牛叉的演算法之一,由RSA公司的三位創始人提出,奠定了當今的金鑰研究領域。用這個演算法解決的問題簡單又複雜:保證安全的情況下,如何在獨立平臺和使用者之間分享金鑰。


3. 傅立葉變換和快速傅立葉變換

這兩種演算法簡單,但卻相當強大,整個數字世界都離不開它們,其功能是實現時間域函式與頻率域函式之間的相互轉化。能看到這篇文章,也是託這些演算法的福。

因特網,WIFI,智慧機,座機,電腦,路由器,衛星等幾乎所有與計算機相關的裝置都或多或少與它們有關。不會這兩種演算法,你根本不可能拿到電子,計算機或者通訊工程學位。(USA)

4. 雜湊安全演算法(Secure Hash Algorithm)

確切地說,這不是一種演算法,而是一組加密雜湊函式,由美國國家標準技術研究所首先提出。無論是你的應用商店,電子郵件和防毒軟體,還是瀏覽器等等,都使用這種演算法來保證你正常下載,以及是否被“中間人攻擊”,或者“網路釣魚”。

5. 資料壓縮演算法

資料壓縮演算法有很多種,哪種最好?這要取決於應用方向,壓縮mp3,JPEG和MPEG-2檔案都不一樣。

哪裡能見到它們?不僅僅是資料夾中的壓縮檔案。你正在看的這個網頁就是使用資料壓縮演算法將資訊下載到你的電腦上。除文字外,遊戲,視訊,音樂,資料儲存,雲端計算等等都是。它讓各種系統更輕鬆,效率更高。

6. 隨機數生成演算法

今天看到一篇博文介紹了10大演算法,開發過程種以後可能會用幾種到,我挑出來記錄下來,接下來準備每一種演算法寫一篇博文來深入下,先寫個博文開個頭,防止自己偷懶又不弄了