1. 程式人生 > >大學生學程式設計(十):資料結構與演算法的基本概念

大學生學程式設計(十):資料結構與演算法的基本概念

為啥扯淡,因為我們開發人員很少用到它,目前流行的android開發有資料結構麼?沒有,至少你在用api的時候基本上是看不見的。c++有在STL基本容器中string, vector, list, deque, map等。人家都已經實現且以近完美,我們學它有啥用有必要嗎?

這個爭論由來已久,很多人認為,只要掌握幾種開發工具,熟悉api就是程式設計高手,其實這是種誤解。要想成為一個專業的開發人員,僅前面這點東西是不夠的。充其量就是一個編碼高手。

加學習群892643663獲取完整視訊和全套免費C/C++學習資料

一、什麼是資料結構

還是老一套生活中的例子,你上學吧,你高考吧,是不是有姓名,性別,年齡,戶口等。這些資訊就構成一個小的資料結構。這些東西要如何存放在計算機中,各個結構間有什麼關係,對整體有那些需要操作。比如查詢,刪除呀,怎麼儲存操作效率會高效呀,這就是資料結構。

通俗理解,資料相對於書,資料結構相當於書架。要取得書就在書架上面取,為了更快的取到想要的書,書架可能分在N個格子,不同種類的書放在不同的格子裡面。

二、資料結構能幹什麼

至於資料結構能幹什麼… 知道了人體結構就可以進行解剖了,當然你也可以研究怎麼更快的殺死一個人,或者制伏一個人,或者造一個人,或者畫一個人,總之, 它能幹什麼, 不在於它是什麼, 而在於"你想幹什麼"。

三、為什麼學習資料結構

咱們學習資料結構可不是為了殺死一個人,造一個人。原因很簡單它能讓是你的程式變得更優(運算更快,佔用資源更少)如果把程式看成一輛汽車,那麼程式語言就構成了這輛車的車身和輪胎。而演算法則是這輛車的核心——發動機(中國汽車發動機不行因為他們不懂資料結構)。這輛車跑得是快是慢,關鍵就在於發動機的好壞(當然輪胎太爛了也不行),而資料結構就是用來改造發動機的。

還有就是逼格夠高,你懂的…

四、基本資料結構

基本資料結構有如下幾類

在這裡插入圖片描述

我們介紹幾種常用的結構先就著圖留個印象

常用的線性結構有:線性表,棧,佇列,陣列,串。

線性表:

在這裡插入圖片描述

棧:
在這裡插入圖片描述

佇列:

在這裡插入圖片描述

非線性結構:二維陣列,多維陣列,樹(二叉樹等),廣義表,圖。

二位陣列:

在這裡插入圖片描述

樹:

在這裡插入圖片描述

二叉樹:

在這裡插入圖片描述

這篇我們就只扯一些概念一些基本資料結構,有圖有真相。

大家如果對程式設計感興趣,想了解更多的程式設計知識,解決程式設計問題,想要系統學習某一種開發知識,我們這裡有java高手,C++/C高手,windows/Linux高手等,大家可加入我們的qq群(C/C++群892643663:,Java群:851531810),大牛線上為您提供服務,還有編譯大禮包和學習教程贈送哦。