隨著機器的速度越來越快,記憶體越來越便宜,演算法的重要性會越來越低?

時間 2021-05-06 03:20:55

1樓:Rihothy

說最基礎的排序。我用當代中等配置筆記本(八代i7 8g記憶體)給一千萬個隨機數排序,冒泡演算法根本算不到盡頭,估計算到電腦壞掉都算不出來,快排估計我寫的不好,用了5秒,堆排在我極致優化後只要1.7秒……

2樓:Dhealth

具體問題具體分析,在大資料領域或者解決複雜問題時候,必須要考慮演算法的效能的,硬體再好,速度慢,對解決現實問題沒什麼用,等於百搭。在解決簡單問題,速度快慢的影響忽略不計,那麼演算法的選擇時多樣的,也就不太在乎演算法的效能了。

3樓:吳洋

任何乙個時代的硬體總有上限。

演算法可以在當代允許的範圍內盡可能解決更複雜,運算量更多的問題。

特別是在大資料的背景下!

不如說簡單的矩陣之間的乘法。

直接用定義求,時間複雜度n^3。

100*100、1000*1000這些都是小case但對於龐大的資料呢?

現在優化到n^2.81,看來也沒變多少,但是這已經很厲害了。

4樓:dw Liu

舉乙個最簡單的栗子

氣泡排序時間複雜度是O(n^2),合併排序時間複雜度是O(nlogn),排序一億個資料,運算量比例大概就是c*(1億/26)的樣子

所以,同樣的運算量,究竟是該保留氣泡排序等到CPU速度提公升百萬倍,還是直接用合併排序?

5樓:清香白蓮

根據摩爾定律,計算機效能是按18個月成指數增長。

時間複雜度比O(n^2)大的演算法多了去……

其實應該抖機靈:題主你知道npc問題嗎?

6樓:丁長老

這話頂多也就是說演算法運算的慢一點,沒關係。因為硬體會提公升。

但是題主,演算法的運算速度在工業界是很重要的。是因為常見的演算法都是有效演算法,或者適應範圍很廣的演算法。比如排序,加密解密,A*

但是在學術界,演算法的有效性,才是他們關心的內容。

比如人臉識別,神經網路,SVM,影象分割,機器學習等一些領域內的演算法。如果沒有足夠的準確率,有效性,光攢一堆硬體有個毛用啊!

當然前沿演算法和成熟演算法是沒有啥可比性,不過速度只是演算法的其中乙個維度,不能一概而論。

7樓:十六夜砕月

作為乙個剛剛完成資料結構的菜雞,我感覺經典演算法還是非常重要的,比如我完成了壓縮軟體,最重要的也是最核心的就是哈夫曼編碼的演算法(雖然可以從網上找的,但是你不說它不重要),其他的介面的展示,檔案的操作之類的都沒什麼難度。

所以,一些經典的演算法還是有必要的,雖然你不用去重複造輪子了,但是你不能否認輪子的重要性啊!

8樓:沈子昂

作為乙個剛入職場的菜雞,我感覺在真實工作中能用到那些很經典牛叉的演算法並不多,演算法的學習是對你寫程式思維的一種幫助

什麼時候該考慮時間複雜度去優化程式,什麼時候該用空間換取時間

就和設計模式的學習一樣,為什麼有些人寫出來乙個函式全是if else,為什麼有些人卻用策略模式包裝的很好

為什麼隨著成長,我們會覺得時間越來越快?

紙紮林徽因 真的真的!是這個亞子 有研究表明 5歲以下記憶全部儲存,10歲增加1 10的記憶,20歲增加1 20 你現在做的事情幾年前就有模板,大腦只需搜尋出模板即可,根本不會增加記憶。假如你乙個月玩了1天,工作29天,那麼你的記憶只會有2天 玩的一天和工作的一天。怎麼避免這種事情? 餘同 因為你發...

晶元是如何變得計算速度越來越快的?

乾飯仙人CSY l越來愈小 頻率越來越大 每個C P U時鐘週期內可以處理的指令數越來越多然後我們再拿一單給他超頻 5995wx 64核心128執行緒 全核10GHz 人類感謝你 ICspec 晶元工藝的不斷發展與進步,使得晶元的計算速度越來越快。比如從以前的22nm製程到現在的3nm製程,就是製造...

總覺得隨著年齡的增長,時間過得越來越快,這是不是一種錯覺

哲學為何p開頭 1 活到10歲時,1年是10的1 10 2 活到100歲時,1年是100的1 100 3 長 1 10,短1 100.4 如此而已。 我感覺是,大腦是以接受的 輸入資訊密度 來確立時間感。打個比方,學渣覺得課堂時間漫長,是因為資訊輸入密度太大,接受得很吃力。學霸覺得課堂時間過得很快,...