棧(Stack) 只允許在一端進行插入或刪除操作的線性表 棧頂(Top):棧中允許進行插入和刪除操作的那一端; 棧底(Bottom):固定的,不允許進行插入或刪除的另一端 1.棧是受限的線性表 ...
本來打算貼上極客時間的目錄圖片,結果發現圖片太長了。影響到閱讀,何況我並不是為了宣傳極客時間的專欄。 作為一名軟件工程師,為什么要學習數據結構和算法 看到這個標題,我打算先不看文章,先自己反思一下。自己寫程序多年,發現在做很多項目的時候被算法限制了自己的發揮,很多實現明明知道應該有更好的辦法,但是就是無法寫成代碼。還有很多時候,看別人的源碼也會一知半解,甚至要加上斷點調試才知道整個實現邏輯。所以, ...
2019-04-20 19:07 0 815 推薦指數:
棧(Stack) 只允許在一端進行插入或刪除操作的線性表 棧頂(Top):棧中允許進行插入和刪除操作的那一端; 棧底(Bottom):固定的,不允許進行插入或刪除的另一端 1.棧是受限的線性表 ...
樹 一對多的樹型結構,有且只有一個特定的根結點。 結點的度:結點擁有子樹的數量{ 度為0:葉子結點/終端結點。 度不為0:非終端結點 ...
圖G由頂點集V和邊集E組成,記為G=(V,E) 圖不可為空,一定有頂點集不為空 有向圖:有向邊(弧)的有限集合 無向圖:無向邊的有限集合 連通:頂點V到頂點V'有路徑 連通分量:無向圖中的極 ...
隊列 只允許在一端進行插入,在另一端進行刪除的線性表 隊頭(Front):允許刪除的一端(隊首) 隊尾(Rear):允許插入的一端 FIFO:先進先出 不要求從數組首位開始存儲隊列 ...
02 如何抓住重點,系統高效地學習數據結構與算法 什么是數據結構?什么是算法? 從廣義上講,數據結構就是指一組數據的存儲結構算法就是操作數據的一組方法; 從俠義上講,是指某些著名的數據結構和算法,比如隊列、棧、堆、二分查找、動態規划等; 數據結構和算法是相輔相成 ...
1.數據>數據元素>數據項 數據的基本單位是數據元素,數據元素的基本單位是數據項 2.運算的定義->針對邏輯結構 集合:同屬於一個集合,無其他關系。(數學上的集合) 線性結構:1對1關系(排隊) 樹形結構:1對多關系(族譜) 圖狀網狀結構:多對多關 ...
線性表:具有相同數據類型的n(n>0)個數據元素的有限序列。 主要有順序存儲和鏈式存儲。 順序存儲: 特點:地址連續,隨機/存取,順序存儲。 建立:首地址/存儲空間大小(數組),表長。 方式:靜態和動態。 優點:存儲密度大;隨機存儲:快速存取表中任一位置元素。 缺點:插入 ...
二叉樹 n(n>=0)個結點的有限集合:(五種形態) 1.或者為空二叉樹,n=0; 2.或者由一個根結點和兩個互不相交的被稱為根的左子樹和右子樹組成。左子樹和右子樹又分別是一棵二叉樹。 ...