在過去,很多巧妙的計算機算法設(shè)計,改變了我們的計算技術(shù)。通過操作標(biāo)準(zhǔn)計算機中提供的中間運算符,可以產(chǎn)生很多的高效函數(shù)。這些函數(shù)導(dǎo)致了計算機程序的復(fù)雜性和多樣性,這也是今天計算機時代快速發(fā)展的重要原因。如下所示,我們列舉了一些算法,它們改變了我們的計算機使用。
壓縮技術(shù)
哈弗曼編碼
哈弗曼編碼在無損數(shù)據(jù)壓縮中廣泛應(yīng)用。為了找到一種最高效的二進(jìn)制編碼,哈弗曼在 1951 年提出了根據(jù)字符頻率排序的二叉樹這樣的編碼方法。這種方法被證明,是最有效的編碼方法。由于這種方法簡單、高效,這種方法被用在很多的壓縮方法中比如:DEFLATE(PKZIP 壓縮軟件中的算法),以及很多的多媒體編碼包括 JPEG 和 MP3 中。
密碼學(xué)
公共秘鑰加密
對于加密算法而言,需要兩種不同的秘鑰,公共秘鑰是用來作為加密的明文或者驗證數(shù)字簽名。私鑰則用來解密密文,或生成數(shù)字簽名。公共秘鑰加密使得用戶可以在公共信道中安全傳送數(shù)據(jù)。雖然這種方法于 1997 年發(fā)表,但是由英國政府通訊總部(GCHQ)的 James H. Ellis, Clifford Cocks, Malcolm Williamson 在 1973 年設(shè)計完成,并且投入使用。
搜索算法
Dijkstra 最短路徑算法
這一算法由 Dijkstra 在 1956 年完成,這是一個為圖設(shè)計的搜索算法。它解決了單向圖中的最短路徑問題,因此,也可以用來生成最短路徑樹。很多基于圖的算法中,都應(yīng)用了這樣的算法來進(jìn)行路徑規(guī)劃或是子路徑選擇。上圖展示了在單向圖中,利用這樣的算法求最短路徑的過程。
二分搜索算法
二分搜索算法用來在已經(jīng)有序的數(shù)組中找到關(guān)鍵字的位置。在說明詞義的字典中,詞的排列基本是有序的。電話本上,記錄也都按照人名、地址或是電話號碼排序。通過這樣的算法,我們可以由人名,很快地在電話本中找到相應(yīng)的電話以及地址。
排序算法
快速排序
這種算法由 Tony Hoare 在 1960 年設(shè)計。這個算法本來用于調(diào)整待翻譯單詞的順序,從而使它們與詞典順序更加一致,方便翻譯。這種算法由于在 Unix 系統(tǒng)中被用作默認(rèn)排序算法而聲名大噪。同時,這種算法由于它在 C 語言標(biāo)準(zhǔn)庫中的函數(shù)名“qsort”而得名。
數(shù)學(xué)方法
Karatsuba 快速相乘算法
這種算法用來更快完成相乘的數(shù)學(xué)操作。由 Anatolii Alexeevitch Karatsuba 在 1962 年提出。它減少了乘法中需要操作的數(shù)字,并且提供了一個快速的相乘計算方法。這種算法的改進(jìn)算法是 Toom–Cook 算法。然而,對于大數(shù)相乘,Sch?nhage–Strassen 算法則是一種更快速的解決方案。
歐幾里得算法(輾轉(zhuǎn)相除)
利用歐幾里得算法,可以計算最大公約數(shù)。即兩個正整數(shù)可以被整除的最大數(shù)。雖然這種算法只通過減法和比較來找到最大公約數(shù),但是它被應(yīng)用在了許多高級算法中。歐幾里得被認(rèn)為是這個算法的發(fā)明者,歐幾里得的這個算法被認(rèn)為是歐幾里得時期(公元前 300 年左右)最古老的算法之一。
圖形學(xué)的發(fā)展
Bresenham 直線算法
這種算法由 Jack Elton Bresenham 在 1962 年,他在 IBM 工作期間提出。這種算法本來用于在計算機屏幕上畫出直線。算法用到的操作非常簡單,整數(shù)的加法,減法和移位操作。這在計算機圖形學(xué)中是非常先進(jìn)的方法?;谶@樣的方法,后來算法又有了一系列的拓展,比如:畫圓算法等。由于這種算法的高效、快捷,至今在很多硬件中(比如繪圖儀和現(xiàn)代圖形卡等)這種算法仍然十分重要并且仍在使用。.
平方根倒數(shù)速算法
這種算法提供了一種快速計算平方根的倒數(shù)的方法。這種方法在 3D 圖像中廣泛應(yīng)用于確定光線和投影關(guān)系,這可能需要每秒上千萬次的計算速度。在《雷神之錘三:競技場》的源代碼中就有這樣的算法,可是,直到 2002 年這種算法才被廣泛應(yīng)用。這個算法使用了一系列的簡單操作來解決復(fù)雜問題。雖然很多人認(rèn)為,這種算法由 John Carmack 研發(fā),但是,SGI 和 3dfx 早就曾在產(chǎn)品中應(yīng)用此算法,當(dāng)時應(yīng)用的是 Gary Tarolli 實現(xiàn)的版本。
上一篇:智能語音實現(xiàn)蛻變,不是一場數(shù)字游戲
下一篇:美的打出"空調(diào)新標(biāo)準(zhǔn)"口號的【無風(fēng)感空調(diào)】究竟好在哪?
推薦閱讀
史海拾趣
- 淺析電動汽車無線充電技術(shù)種類及發(fā)展趨勢
- 貿(mào)澤與Qorvo聯(lián)手發(fā)布全新電子書 探討基礎(chǔ)電機控制設(shè)計挑戰(zhàn)與解決方案
- Gartner 預(yù)測,到 2030 年,地球智能將為科技與服務(wù)提供商帶來 200 億美元的新增營收機遇
- 助力半橋器件開關(guān)安全提速,納芯微推出車規(guī)級帶米勒鉗位功能的隔離半橋驅(qū)動系列
- 一步轉(zhuǎn)換為內(nèi)核電壓
- 恩智浦超寬帶技術(shù)賦能小米15S Pro全生態(tài)創(chuàng)新
- Cadence 推出面向新一代音頻應(yīng)用的支持緩存一致性的對稱多核處理器 HiFi 5s SMP
- 英國初創(chuàng)公司 HoloMem 推出全息磁帶存儲技術(shù)
- 韓國研究團(tuán)隊利用超聲波技術(shù)為植入式醫(yī)療設(shè)備供電,突破 3cm 皮膚傳輸障礙
- 消息稱英特爾在臺積電 2nm 制程完成 Nova Lake 處理器芯片流片
- 51單片機(二十六)—— 獨立按鍵數(shù)碼管顯示
- 51單片機(二十七)—— 蜂鳴器播放音樂
- 51單片機(二十八)—— 外部中斷實驗
- 51單片機(二十九)—— 矩陣鍵盤輸入實驗
- 51單片機(三十)—— 矩陣鍵盤計算器
- 泛在的無奈 國網(wǎng)換帥一個月后對未來走向的研判
- 兩部委印發(fā)《關(guān)于推進(jìn)電力交易機構(gòu)獨立規(guī)范運行的實施意見》
- 國家電網(wǎng)提出八項舉措 備受關(guān)注的電網(wǎng)規(guī)劃及重點工程投資未來如何?
- 減免電費能產(chǎn)生梯級拉動效應(yīng) 惠及社會經(jīng)濟(jì)的方方面面
- 解讀“史上最貴新股“,小米生態(tài)鏈第三家上市公司