0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

10個(gè)計(jì)算機(jī)算法,可以了解主導(dǎo)物聯(lián)

5RJg_mcuworld ? 來源:互聯(lián)網(wǎng) ? 作者:佚名 ? 2017-11-03 09:09 ? 次閱讀

如果對(duì)算法有所了解,讀這篇文章時(shí)你可能會(huì)問“作者知道算法為何物嗎?”,或是“Facebook的‘信息流’(News Feed)算是一種算法嗎?”,如果“信息流”是算法,那就可以把所有事物都?xì)w結(jié)為一種算法。本人才疏學(xué)淺,接下來我試著解釋一下算法是什么,又是哪些算法正在主導(dǎo)我們的世界。

什么是算法?

簡而言之,任何定義明確的計(jì)算步驟都可稱為算法,接受一個(gè)或一組值為輸入,輸出一個(gè)或一組值。(來源:homas H. Cormen, Chales E. Leiserson 《算法導(dǎo)論第3版》)

可以這樣理解,算法是用來解決特定問題的一系列步驟(不僅計(jì)算機(jī)需要算法,我們?cè)谌粘I钪幸苍谑褂盟惴?。算法必須具備如下3個(gè)重要特性:

  • 有窮性,執(zhí)行有限步驟后,算法必須中止。

  • 確切性,算法的每個(gè)步驟都必須確切定義。

  • 可行性,特定算法須可以在特定的時(shí)間內(nèi)解決特定問題。

其實(shí),算法雖然廣泛應(yīng)用在計(jì)算機(jī)領(lǐng)域,但卻完全源自數(shù)學(xué)。實(shí)際上,最早的數(shù)學(xué)算法可追溯到公元前1600年-Babylonians有關(guān)求因式分解和平方根的算法。

那么又是哪10個(gè)計(jì)算機(jī)算法造就了我們今天的生活呢?請(qǐng)看下面的表單,排名不分先后:

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

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

歸并排序算法,是目前為止最重要的算法之一,是分治法的一個(gè)典型應(yīng)用,由數(shù)學(xué)家John von Neumann于1945年發(fā)明。

快速排序算法,結(jié)合了集合劃分算法和分治算法,不是很穩(wěn)定,但在處理隨機(jī)列陣(AM-based arrays)時(shí)效率相當(dāng)高。

堆積排序,采用優(yōu)先佇列機(jī)制,減少排序時(shí)的搜索時(shí)間,同樣不是很穩(wěn)定。

與早期的排序算法相比(如冒泡算法),這些算法將排序算法提上了一個(gè)大臺(tái)階。也多虧了這些算法,才有今天的數(shù)據(jù)發(fā)掘,人工智能,鏈接分析,以及大部分網(wǎng)頁計(jì)算工具。

2、傅立葉變換和快速傅立葉變換

這兩種算法簡單,但卻相當(dāng)強(qiáng)大,整個(gè)數(shù)字世界都離不開它們,其功能是實(shí)現(xiàn)時(shí)間域函數(shù)與頻率域函數(shù)之間的相互轉(zhuǎn)化。能看到這篇文章,也是托這些算法的福。

因特網(wǎng),WIFI,智能機(jī),座機(jī),電腦,路由器,衛(wèi)星等幾乎所有與計(jì)算機(jī)相關(guān)的設(shè)備都或多或少與它們有關(guān)。不會(huì)這兩種算法,你根本不可能拿到電子,計(jì)算機(jī)或者通信工程學(xué)位。(USA)

3、迪杰斯特拉算法 (Dijkstra’s algorithm)

可以這樣說,如果沒有這種算法,因特網(wǎng)肯定沒有現(xiàn)在的高效率。只要能以“圖”模型表示的問題,都能用這個(gè)算法找到“圖”中兩個(gè)節(jié)點(diǎn)間的最短距離。

雖然如今有很多更好的方法來解決最短路徑問題,但代克思托演算法的穩(wěn)定性仍無法取代。

4、RSA非對(duì)稱加密算法

毫不夸張地說,如果沒有這個(gè)算法對(duì)密鑰學(xué)和網(wǎng)絡(luò)安全的貢獻(xiàn),如今因特網(wǎng)的地位可能就不會(huì)如此之高。現(xiàn)在的網(wǎng)絡(luò)毫無安全感,但遇到錢相關(guān)的問題時(shí)我們必需要保證有足夠的安全感,如果你覺得網(wǎng)絡(luò)不安全,肯定不會(huì)傻乎乎地在網(wǎng)頁上輸入自己的銀行卡信息。

RSA算法,密鑰學(xué)領(lǐng)域最牛叉的算法之一,由RSA公司的三位創(chuàng)始人提出,奠定了當(dāng)今的密鑰研究領(lǐng)域。用這個(gè)算法解決的問題簡單又復(fù)雜:保證安全的情況下,如何在獨(dú)立平臺(tái)和用戶之間分享密鑰。

5、哈希安全算法(Secure Hash Algorithm)

確切地說,這不是一種算法,而是一組加密哈希函數(shù),由美國國家標(biāo)準(zhǔn)技術(shù)研究所首先提出。無論是你的應(yīng)用商店,電子郵件和殺毒軟件,還是瀏覽器等等,都使用這種算法來保證你正常下載,以及是否被“中間人攻擊”,或者“網(wǎng)絡(luò)釣魚”。

6、整數(shù)質(zhì)因子分解算法(Integer factorization)

這其實(shí)是一個(gè)數(shù)學(xué)算法,不過已經(jīng)廣泛應(yīng)用與計(jì)算機(jī)領(lǐng)域。如果沒有這個(gè)算法,加密信息也不會(huì)如此安全。通過一系列步驟將,它可以將一個(gè)合成數(shù)分解成不可再分的數(shù)因子。

很多加密協(xié)議都采用了這個(gè)算法,就比如剛提到的RSA算法。

7、鏈接分析算法(Link Analysis)

在因特網(wǎng)時(shí)代,不同入口間關(guān)系的分析至關(guān)重要。從搜索引擎和社交網(wǎng)站,到市場(chǎng)分析工具,都在不遺余力地尋找因特網(wǎng)的正真構(gòu)造。

鏈接分析算法一直是這個(gè)領(lǐng)域最讓人費(fèi)解的算法之一,實(shí)現(xiàn)方式不一,而且其本身的特性讓每個(gè)實(shí)現(xiàn)方式的算法發(fā)生異化,不過基本原理卻很相似。

鏈接分析算法的機(jī)制其實(shí)很簡單:你可以用矩陣表示一幅“圖“,形成本征值問題。本征值問題可以幫助你分析這個(gè)“圖”的結(jié)構(gòu),以及每個(gè)節(jié)點(diǎn)的權(quán)重。這個(gè)算法于1976年由Gabriel Pinski和Francis Narin提出。

誰會(huì)用這個(gè)算法呢?Google的網(wǎng)頁排名,F(xiàn)acebook向你發(fā)送信息流時(shí)(所以信息流不是算法,而是算法的結(jié)果),Google+和Facebook的好友推薦功能,LinkedIn的工作推薦,Youtube的視頻推薦,等等。

普遍認(rèn)為Google是首先使用這類算法的機(jī)構(gòu),不過其實(shí)早在1996年(Google 問世2年前)李彥宏就創(chuàng)建的“RankDex”小型搜索引擎就使用了這個(gè)思路。而Hyper Search搜索算法建立者馬西莫·馬奇奧里也曾使用過類似的算法。這兩個(gè)人都后來都成為了Google歷史上的傳奇人物。

8、比例微積分算法(Proportional Integral Derivative Algorithm)

飛機(jī),汽車,電視,手機(jī),衛(wèi)星,工廠和機(jī)器人等等事物中都有這個(gè)算法的身影。

簡單來講,這個(gè)算法主要是通過“控制回路反饋機(jī)制”,減小預(yù)設(shè)輸出信號(hào)與真實(shí)輸出信號(hào)間的誤差。只要需要信號(hào)處理,或電子系統(tǒng)來控制自動(dòng)化機(jī)械,液壓和加熱系統(tǒng),都需要用到這個(gè)算個(gè)法。

沒有它,就沒有現(xiàn)代文明。

9、數(shù)據(jù)壓縮算法

數(shù)據(jù)壓縮算法有很多種,哪種最好?這要取決于應(yīng)用方向,壓縮mp3,JPEG和MPEG-2文件都不一樣。

哪里能見到它們?不僅僅是文件夾中的壓縮文件。你正在看的這個(gè)網(wǎng)頁就是使用數(shù)據(jù)壓縮算法將信息下載到你的電腦上。除文字外,游戲,視頻,音樂,數(shù)據(jù)儲(chǔ)存,云計(jì)算等等都是。它讓各種系統(tǒng)更輕松,效率更高。

10、隨機(jī)數(shù)生成算法

到如今,計(jì)算機(jī)還沒有辦法生成“正真的”隨機(jī)數(shù),但偽隨機(jī)數(shù)生成算法就足夠了。這些算法在許多領(lǐng)域都有應(yīng)用,如網(wǎng)絡(luò)連接,加密技術(shù),安全哈希算法,網(wǎng)絡(luò)游戲,人工智能,以及問題分析中的條件初始化。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 物聯(lián)網(wǎng)
    +關(guān)注

    關(guān)注

    2894

    文章

    43316

    瀏覽量

    366474
  • 算法
    +關(guān)注

    關(guān)注

    23

    文章

    4552

    瀏覽量

    92024

原文標(biāo)題:主宰計(jì)算機(jī)時(shí)代的十大算法,你熟悉幾個(gè)?

文章出處:【微信號(hào):mcuworld,微信公眾號(hào):嵌入式資訊精選】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    【量子計(jì)算機(jī)重構(gòu)未來 | 閱讀體驗(yàn)】+ 初識(shí)量子計(jì)算機(jī)

    欣喜收到《量子計(jì)算機(jī)——重構(gòu)未來》一書,感謝電子發(fā)燒友論壇提供了一個(gè)讓我了解量子計(jì)算機(jī)的機(jī)會(huì)! 自己對(duì)電子計(jì)算機(jī)有點(diǎn)
    發(fā)表于 03-05 17:37

    【量子計(jì)算機(jī)重構(gòu)未來 | 閱讀體驗(yàn)】+ 了解量子疊加原理

    )。通過邏輯門來執(zhí)行操作二進(jìn)制數(shù)據(jù),邏輯門是一種基本電路,它可以將一個(gè)或多個(gè)輸入轉(zhuǎn)換為輸出。邏輯門包括與門、或門、非門等等,將許許多多邏輯門組合起來就可以構(gòu)建復(fù)雜的電路來執(zhí)行各種操作,電子計(jì)算
    發(fā)表于 03-13 17:19

    聯(lián)世界】基于計(jì)算機(jī)視覺方式激光虛擬鍵盤

    項(xiàng)目名稱: 基于計(jì)算機(jī)視覺方式激光虛擬鍵盤團(tuán)隊(duì)名稱:聯(lián)世界團(tuán)隊(duì)成員:尹橋宣作品演示作品介紹本作品采用全息投影技術(shù),以計(jì)算機(jī)視覺方式和圖像識(shí)別來判斷鍵盤是否有輸入。通過設(shè)計(jì)視覺處理
    發(fā)表于 01-07 12:06

    計(jì)算機(jī)病毒的特征有哪些

      計(jì)算機(jī)病毒一詞已經(jīng)滲透到每個(gè)網(wǎng)民的心中,并且對(duì)計(jì)算機(jī)的危害是不可預(yù)測(cè)的。俗話說,無論多么全面的安全軟件,都無法保證任何計(jì)算機(jī)都在網(wǎng)絡(luò)上。絕對(duì)安全,讓我們了解
    發(fā)表于 01-15 16:16

    計(jì)算機(jī)的分類及基本組成

    )==二、計(jì)算機(jī)發(fā)展歷程1.計(jì)算機(jī)硬件的發(fā)展2. 計(jì)算機(jī)的分類按用途劃分按照計(jì)算機(jī)性能按指令和數(shù)據(jù)流分類3. 一個(gè)概念三、
    發(fā)表于 07-16 07:12

    計(jì)算機(jī)有哪些功能

    一句話概括:計(jì)算機(jī)體系結(jié)構(gòu)講的是計(jì)算機(jī)有哪些功能(包括指令集、數(shù)據(jù)類型、存儲(chǔ)器尋址技術(shù)、I/O機(jī)理等等),是抽象的;計(jì)算機(jī)組成原理講的是計(jì)算機(jī)功能是如何實(shí)現(xiàn)的,是具體的。例如:一臺(tái)機(jī)器
    發(fā)表于 07-16 07:45

    計(jì)算機(jī)網(wǎng)絡(luò)基礎(chǔ)知識(shí)了解

    計(jì)算機(jī)網(wǎng)絡(luò)技術(shù)復(fù)習(xí)一、 計(jì)算機(jī)網(wǎng)絡(luò)基礎(chǔ)知識(shí)了解計(jì)算機(jī)網(wǎng)絡(luò)(Internet)的發(fā)展 面向終端的計(jì)算機(jī)網(wǎng)絡(luò)(單個(gè)
    發(fā)表于 07-26 06:27

    超級(jí)計(jì)算機(jī)挖比特幣

    超級(jí)計(jì)算機(jī)挖比特幣,趨勢(shì)洞察京東方陳炎順:細(xì)分應(yīng)用場(chǎng)景承載聯(lián)個(gè)性化需求在2019年京東方全球創(chuàng)新伙伴大會(huì)上,京東方董事長陳炎順表示,千千萬萬的細(xì)分應(yīng)用場(chǎng)景承載了
    發(fā)表于 07-28 08:38

    計(jì)算機(jī)實(shí)現(xiàn)的控制算法設(shè)計(jì)

    計(jì)算機(jī)控制技術(shù)及工程應(yīng)用第九章設(shè)計(jì)步驟: 1.設(shè)計(jì)假象的連續(xù)控制器D(s) 2.將D(s)離散化為D(z) 3.設(shè)計(jì)由計(jì)算機(jī)實(shí)現(xiàn)的控制算法 4.校驗(yàn) 9.1.2 PID控制規(guī)律 1.比例控制
    發(fā)表于 09-01 06:38

    了解計(jì)算機(jī)硬件體系結(jié)構(gòu)

    模塊一知識(shí)點(diǎn)1.了解計(jì)算機(jī)硬件體系結(jié)構(gòu)2.掌握常見的計(jì)算機(jī)硬件設(shè)備3.了解計(jì)算機(jī)軟件體系結(jié)構(gòu)4.掌握主板結(jié)構(gòu)的組成5.
    發(fā)表于 09-17 09:03

    什么是計(jì)算機(jī)算法?

    什么是計(jì)算機(jī)算法?要使計(jì)算機(jī)工作,您就必須編寫計(jì)算機(jī)程序。要編寫計(jì)算機(jī)程序,您就必須一步步地告訴計(jì)算機(jī)
    發(fā)表于 08-03 08:50 ?3064次閱讀

    量子計(jì)算機(jī)的優(yōu)點(diǎn)_量子計(jì)算機(jī)的應(yīng)用_量子計(jì)算機(jī)的未來應(yīng)用

    量子計(jì)算機(jī)是一類遵循量子力學(xué)規(guī)律進(jìn)行高速數(shù)學(xué)和邏輯運(yùn)算、存儲(chǔ)及處理量子信息的物理裝置。當(dāng)某個(gè)裝置處理和計(jì)算的是量子信息,運(yùn)行的是量子算法時(shí),它就是量子計(jì)算機(jī)。量子
    發(fā)表于 11-28 18:10 ?1.2w次閱讀

    計(jì)算機(jī)視覺常用算法_計(jì)算機(jī)視覺有哪些分類

    本文主要介紹了計(jì)算機(jī)視覺常用算法計(jì)算機(jī)視覺的分類。
    的頭像 發(fā)表于 07-30 17:34 ?1.4w次閱讀

    計(jì)算機(jī)視覺為何重要?

    計(jì)算機(jī)視覺是一個(gè)研究領(lǐng)域,旨在助力計(jì)算機(jī)使用復(fù)雜算法可以是傳統(tǒng)算法,也
    的頭像 發(fā)表于 04-29 14:21 ?3283次閱讀

    計(jì)算機(jī)視覺的十大算法

    隨著科技的不斷發(fā)展,計(jì)算機(jī)視覺領(lǐng)域也取得了長足的進(jìn)步。本文將介紹計(jì)算機(jī)視覺領(lǐng)域的十大算法,包括它們的基本原理、應(yīng)用場(chǎng)景和優(yōu)缺點(diǎn)。這些算法在圖像處理、目標(biāo)檢測(cè)、人臉識(shí)別等領(lǐng)域有著廣泛的應(yīng)
    的頭像 發(fā)表于 02-19 13:26 ?1046次閱讀
    <b class='flag-5'>計(jì)算機(jī)</b>視覺的十大<b class='flag-5'>算法</b>