前端如何學習資料結構與演算法

2021-10-02 22:43:21 字數 1208 閱讀 2531

生命不是要超越別人,而是要超越自己。

作為乙個對演算法沒有任何認知,非科班出身的前端程式設計師,如果想提高自己的能力,不再只寫業務**當乙個應用工程師,演算法是必須掌握的一門本領。演算法也是一種思想,當你去讀一些優秀框架的原始碼,如果對演算法和資料結構一無所知,讀起來很困難,你無法理解人家為什麼要那樣寫,那樣寫的好處是什麼,接下來就跟大家分享下作為乙個前端程式設計師,如何學習資料結構與演算法。

演算法就是計算或者解決問題的步驟,演算法與程式有些相似,區別在於程式是以計算機能夠理解的程式語言編寫而成的,可以在計算機上執行,而演算法是以人類能夠理解的方式描述的,用於編寫程式之前。不過,在這個過 程中到**為止是演算法、從**開始是程式,並沒有明確的界限。

就算使用同乙個演算法,程式語言不同,寫出來的程式也不同;即便使用相同的程式語言, 寫程式的人不同,那麼寫出來的程式也是不同的。

計算機是乙個冰冷的機器,操作者下發什麼指令,計算機就會執行什麼操作

開發者要做的只是如何把實際問題轉換成計算機可識別的指令,如何轉化?《資料結構》的經典說法:設計出資料結構,在施加以演算法就行了。開發者編寫的指令好壞,將直接影響到程式的效能,指令又由資料結構和演算法組成,因此資料結構和演算法的設計與最終程式的好壞息息相關。

書中沒有使用任何程式語言,有豐富的配圖來講解演算法和資料結構,作為乙個小白,看這本書最為合適。

本書從js角度出發,講解常用演算法和資料結構。相對於前端而言,這本書可以讓你理解演算法和資料結構在前端的應用。

這兩本書採用其他程式語言講解,學習完前兩本書後,再來看兩本書可以更深層次的理解演算法。

可以在書中學習很多經典題目,練的多了會總結出每種演算法的規律,掌握書中的內容後,再去解leetcode上的題會輕鬆很多。

先從簡單的題開始解,慢慢進入中等難度。中等的題目可以解決時,已經對典型題目有了很深的見解,此時再去解決更複雜的問題時,就可以活學活用,根據規律來解決問題。

前端該如何準備資料結構和演算法

awesome-coding-js

資料結構與演算法 01 如何學習資料結構與演算法

過於學術的概念定義比較抽象,難以理解。我們從廣義和狹義兩個層面,來理解資料結構與演算法這兩個概念。從廣義上講,資料結構就是指一組資料的儲存結構 怎麼放 演算法就是運算元據的一組方法 怎麼用 我們以圖書館的場景為例來進一步理解 圖書館書籍量十分巨大,首先要分類設定閱覽室,譬如社科類 科技類 報刊類等。...

資料結構之如何高效學習資料結構與演算法

資料結構我覺得就是指一組資料的儲存結構 演算法就是運算元據的一組方法 資料結構是為演算法服務的,演算法要作用在特定的資料結構之上 學會複雜度分析。相當於武功的心法 但是不用全掌握,要掌握重點 這裡面有 10 個資料結構 陣列 鍊錶 棧 佇列 雜湊表 二叉樹 堆 跳表 圖 trie 樹 10 個演算法...

如何學習資料結構和演算法

首先掌握常用的 基礎的。然後在此基礎上往進行擴充套件學習。常用的 基礎的資料結構和演算法有20個。資料結構 陣列 鍊錶 棧 佇列 雜湊表 二叉樹 堆 跳表 圖 trie樹 演算法 遞迴 排序 二分查詢 搜尋 雜湊演算法 貪心演算法 分治演算法 回溯演算法 動態規劃 字串匹配演算法。這些需要一一攻克。...