趣說:什麼是數據結構和算法

相信你的電腦裏面

應該有這麼一個
視頻教程文件夾


面試

圖片




不用我說算法

在這裏面確定是你數組

精心收藏的精華教程數據結構




圖片




不辭辛勞的你框架


按照每一個優秀的老師數據結構和算法

都分門別類的安排好ide

每一系列的精品教程學習





圖片




當你心血來潮之時
亦或是求知慾旺盛之時你會去這個文件夾裏面
尋找優秀的教程加以學習

可能你會按照老師的名稱查找也可能你會按照你喜歡的姿式查找...

無論怎麼樣
你終歸找到了教程學習了 1 分鐘而後就快樂的完事了




你可能要問了這特麼和數據結構算法有個毛線關係?

其實你對文件中的教程分門別類的存儲就是一種數據結構

你經過不一樣的方式去文件夾裏面查找教程這方式就是一種算法





具體來講數據結構就是對數據按照必定的規律進行組織和存儲


對數據如何安排取決於你

你以什麼樣的方式安排存儲數據
你獲得的就是什麼樣的數據結構

好比你以這樣的關係存儲數據


spa

名稱
出道時間(年)
蒼井空
2002
小澤瑪利亞
2005
波多野結衣
2008
...
...



你看定義了名稱和年份而後把具體的數據收集好存儲在這張表中
那麼這張表就是數據結構




這時候你可能會想到
Python 中的類 Class你以前在 Class 中
定義的一些屬性
好比:

3d



這也是一種數據結構的定義
你知道的 Python 數據類型如:Number/String/List..它們也都是一種數據結構

固然
在數據結構中比較典型的有
數組、棧、圖、樹、鏈表等等

它們都有各自的規律
去安排數據的存儲






而算法呢就是按照特定的指令
以必定的邏輯按序列去完成指定的任務

因此算法更強調的是
「邏輯方法」

固然,前人在搞算法的時候
已經留下了很多算法祕籍
好比:
二分查找、排序、遞歸、貪婪、動態規劃等等


圖片


而後
爲啥人們一提到數據結構就會提到算法呢
這是由於它們有着
很是曖昧的關係
它們
相濡以沫相敬如賓相輔相成
能夠說數據結構沒了算法就是擺設
算法沒了數據結構就是有吉爾沒地兒使


圖片

好了
道理我都懂那麼數據結構算法它們和 Python 有什麼關係呢?

沒有半毛錢關係
或者說關係不大

放心Python 不是它們的小三


由於數據結構算法
並非完整的代碼
更多的是如何解決問題的邏輯方法

而這些是能夠經過代碼去描述和實現的

因此呢Java、C、Python等等語言均可以上

只不過
Python用的人多語言相對簡單
用它來描述算法相關是個不錯的選擇




最後你可能會問了數據結構和算法
有個毛線用啊?

額..
是基本功
是一種思想是看懂框架代碼的前提
是解決問題的套路是水平的體現是面試的門檻...


圖片

ok今天就跟你說這麼些
最後的最後來跟你作個小小的互動若是小帥b在這裏用 Python 偶爾跟你扯扯算法的東東

你會?

相關文章
相關標籤/搜索