一、學習時間
2018年3月27日
二、課程安排
隊列、樹
三、學習內容
1. 什么是隊列
隊列是限制在兩端進行的插入和刪除操作的線性表(注:為區分滿隊和空對,滿隊元素的個數比數組中的個數少一個)
2.什么是樹
樹是有n個節點的有限集合,它滿足有且僅有一個特定的根節點,其余節點又分成m個互不相交的有限集合。
3.樹的基本概念
度數:一個節點的子樹的個數,其中,一棵樹的度數是指該樹種節點的最大度數。
樹葉:度數為零的節點
高度:樹中節點層數的最大值
4.什么是二叉樹
由一個根節點以及兩顆互補交融的、分別稱為左子樹和右子樹的二叉樹組成。
5.二叉樹的性質
二叉樹第i層上的節點最多為2^(i-1)
深度為K的二叉樹最多有2^k-1
任意一顆二叉樹中,樹葉的數目比度數為2的節點的數目多一
滿二叉樹:
深度為k時有2^k-1個節點的二叉樹
完全二叉樹:
只有最下面兩層有度數小于2的節點,且最下面一層的葉節點集中在最左邊的若干位置。
6.二叉樹的存儲以及遍歷
先序遍歷:先訪問根節點,再訪問左子樹,最后訪問右子樹
中序遍歷:先訪問左子樹,再訪問根節點,最后訪問右子樹
后序遍歷:先訪問左子樹,再訪問右子樹,最后訪問根節點
五、學習心得
通過對棧和隊的學習,明白指針在數據結構中的重要性,所以在學習的過程中,要明白指針的指向,指針地址的操作。在樹的學習中,重點需要注意的便是二叉樹的一些性質,同時,要注重對遞歸的理解。