你們有沒有糾結過這樣乙個問題,就是資料結構鍊錶中結點的「結」到底是哪個字?
說實話,在寫這篇部落格之前,我一直以為鍊錶中的結點叫「節點」,,所以不管是給**寫注釋,還是理解方面,我都覺得是「節點」,今天就來說一下節點和結點到底有什麼不同?
節點呢,被認為是乙個實體,有處理能力,比如,網路上的一台計算機;而結點則只是乙個交叉點,像「結繩記事」,打個結,做個標記,僅此而已,還有就是,要記住:一般演算法中點的都是結點。
我們在資料結構的圖形表示中,對於資料集合中的每乙個資料元素用中間標有元素值的方框表示,一般稱它為資料結點,簡稱結
點。在鍊錶資料結構中,鍊錶中每乙個元素稱為「結點」,每個結點都應包括兩個部分:乙個是需要用的實際資料data;另乙個就是儲存下乙個結點位址的指標,即資料域和指標域。資料結構中的每乙個資料結點對應於乙個儲存單元,這種儲存單元稱為儲存結點,也可簡稱結點。
說到這裡,我再補充乙個關於鍊錶的知識(不知道有沒有哪位童鞋和我一樣,在初學時不理解(捂臉))
鍊錶中前驅和後繼是啥?
舉例來說明哈:
(1)對於線性儲存結構:
1, 2, 3, ......, n, n+1, .......
結點n+1的直接前驅結點為n結點
(2)而對於鍊錶儲存結構
// 結點的定義
struct node
;
在上面資料結構中,struct node* head表示鍊錶的頭結點,head->next表示為頭結點head的後繼結點;而head則為head->next的前驅結點。 資料結構 從葉子結點到根節點的全部路徑
問題 給定乙個二叉樹,返回所有從根節點到葉子節點的路徑。說明 葉子節點是指沒有子節點的節點。示例 與此問題類似的問題 資料結構 二叉樹的最長路徑問題 思路 遇到的是葉子結點,將當前結點輸出 也就不需要進入陣列了 並將陣列的元素逆序輸出。遇到的不是葉子結點,將該元素進入陣列。遞迴實現左右子樹。核心 v...
資料結構例程 從根節點到每個葉子節點的路徑之逆
本文是資料結構基礎系列 6 樹和二叉樹中第11課時二叉樹遍歷非遞迴演算法和第12課時層次遍歷演算法的例程。問題 設計演算法輸出從根節點到每個葉子節點的路徑之逆。解法1 利用二叉樹後序遍歷非遞迴演算法中,每乙個葉子節點出現時,棧中從棧頂到棧底,正好是葉子節點到根節點的逆序的性質編寫。參考解答 btre...
怎麼學習資料結構和演算法?
1 資料結構是指一組資料的儲存結構 2 演算法就是運算元據的方法 3 資料結構和演算法是相輔相成的,資料結構是為演算法服務的,而演算法要作用在特定的資料結構之上 資料結構和演算法解決的是如何更省 更快地儲存和處理資料的問題,因此,我們就需要乙個考量效率和資源消耗的方法,這就是複雜度分析方法。在學習資...