資料結構與演算法

2021-08-22 03:30:09 字數 1096 閱讀 7481

本人今年剛畢業,由於大學期間沒好好學,基礎非常薄弱,所以到現在都沒找到工作。只好投應屆生或硬著頭皮去投實習生,這些天對我打擊非常大,連個面試的資格都沒有,筆試就被刷掉了。筆試考的都是演算法題,每次大腦都是一片空白,回來之後就是當下很憂鬱啊。閒得無聊的時候就在心裡吐槽,為毛老考演算法,不能考我實踐能力嗎?或面試問問我技術和專案方面的不好嗎?這幾天沒事就在論壇上看大家對待要考演算法這一問題的看法,有支援的,有認為沒用的。然而,有些奇怪的是,支援的基本都是播客等級較高的大神,這下就要思考了,演算法到底有沒有用,我到底漏掉了什麼?

今天一直在想這個問題,晚上也睡不著,就寫一篇關於資料結構與演算法方面的部落格,跟大家分享一下這幾天思考的成果。

我們知道:程式 = 資料結構 + 演算法。為什麼這麼說呢?

演算法是解決問題的思路。

假設今天要從北京去紐約,想要盡快的到達,怎麼辦呢?

有兩種交通方式:

第一種方式    m1:坐動車去有港口的城市,在打的去港口,之後坐輪船去紐約。

第二種方式    m2:打的去機場,坐飛機直接飛到紐約。

有兩種交通線路(這裡就不具體舉例了,就用長、短表示吧)

第一種線路    r1:長

第二種線路    r2:短

通過組合,形成了4種去紐約的方式:m1+r1,m1+r2,m2+r1,m2+r2。

我們知道m2+r2這種方式是最優解,m1+r2是最劣解,假設將這種情形搬到程式中,如果不熟悉演算法,大量的使用m1+r1,這就會造成大量的系統資源浪費,效能會大打折扣,使用者體驗感極差,如果我們相出了最優解,系統效能就會大大提高,處理使用者請求就會變快。使用者體驗好了,帶來什麼,***。

這就是演算法的作用,用較少的資源去快速的解決問題,這是一種思路,需要常年累月的積累。

在回來說程式 = 資料結構 + 演算法。

我們做每件事情都需要相應的資源和相對應的方法完成,程式也不例外。

寫程式的原因就是利用資源去解決問題,如何快速的「訪問」資源和如何高效的利用這些資源快速的解決問題,需要我們不斷的總結經驗和思考。

大家仔細想一下,計算機的解決思路都和我們現實生活有聯絡,將寫程式當做自己在計算機裡指揮。當然,這不是簡單就做到的,需要多想,多練。

第一次寫部落格,表述的有些問題,有不對的地方希望大家指點出來,互相學習、進步。

資料結構與演算法 演算法 演算法和資料結構

資料結構與演算法 演算法 好吧,在這裡,您被優秀或優秀的軟體開發人員所隔開。在這種情況下,我會告訴您一開始或至少在我的情況下,並且我知道大多數時候,對於我認識的大多數人,您會覺得自己是乙個無能的人或白痴。基本上,我怎麼可能不理解這一點,然後您會感到沮喪。在這種情況下,我會告訴您情況並不像您想的那麼糟...

資料結構 資料結構與演算法01

1 求一組整數中的最大值。演算法 基本操作是 比較兩個數的大小 模型 仔細想想 你並不知道這個整數到底是多大?整數過大你該怎麼去表示?2 足協的資料庫管理的程式 演算法 需要管理的專案?如何管理?使用者介面?模型 3 資料與資料結構 資料 所有能被輸入到計算機中,並被計算機處理的符號的集合計算機操作...

資料結構 資料結構與演算法02

1 演算法設計的原則 設計演算法時,通常應考慮達到以下目標 1,正確性 2,可讀性 3,健壯性 4,高效率與低儲存量需求 1,正確性 規格說明 四個層次 a,程式中不含語法錯誤 b,程式對於幾組輸入資料能夠得出滿足要求的結果 c,程式對精心選擇的 典型 苛刻切帶有刁難性的幾組輸入資料能夠得出滿足要求...