嵌入式學習 day 16 17

2021-08-15 10:55:23 字數 1702 閱讀 2920

樹:1.有且僅有乙個稱為根的節點;2.當n>0時,其餘的節點可以分為m(m>0)個互不相交的有限集。每乙個節點又是一棵樹,並且稱為根的子樹。

節點的分類:節點擁有的子樹數稱為節點的度。度為0稱為終端節點或者葉節點;度不為0的稱為非終端節點或者分支節點。樹的度是樹內節點的度的最大值。

節點間關係:節點的子樹的根稱為該節點的孩子,該節點稱為孩子的雙親。同乙個雙親的孩子之間稱為兄弟。如果將樹中節點的各子樹看成是從左到右是有次序的,不能互換,稱改樹為有序樹,否則稱為無序樹。

結點的層次:樹中結點最大層次成為樹的深度或高度。如果樹中結點的各子樹看做是有序的不能互換的則稱該樹為有序數,否則為無序樹,森林是m(m>=0)顆互不相交的樹的集合。

樹的儲存結構:順序儲存、鏈式儲存

孩子兄弟表示法,隨之引出二叉樹。

二叉樹定義:二叉樹是n(n>=0)個節點的有限集合,該集合或者為空集(稱為空二叉樹),或者由乙個根節點和兩顆互不相交的,分別稱為根節點的左子樹、根節點只有右子樹、根節點既有左子樹又有右子樹。

五種基本形態:空二叉樹、只有乙個根節點、根節點只有左子樹、根節點只有右子樹、根節點既有左子樹又有右子樹。

二叉樹的特點:1.每個節點最多有兩顆子樹,即不存在度大於2的節點。2.左子樹和右子樹是有序的,不能隨便顛倒。3.即使樹中某個節點只有一顆子樹,也要區分是左子樹還是右子樹。

滿二叉樹:深度為k且含有2^k-1個節點的二叉樹稱為滿二叉樹。

完全二叉樹:(這個不是很明白,要仔細看)

如果乙個有n個節點的二叉樹按滿二叉樹方式子上而下,自左至右對它進行編導,若樹中所有節點和滿二叉樹的1~n編號完全一致,則稱該樹為完全二叉樹。

二叉樹的性質: 1.

1.在二叉樹的第

i層上最多有

2i-1

個節點(i>=1)。

2.二叉樹中如果深度為k,那麼最多有2k-1

個節點。(k>=1)。

3.n0=n2+1  n0

表示度數為

0的節點

(葉子節點)n2

表示度數為

2的節點。4.

在完全二叉樹中,具有

n個節點的完全二叉樹的深度為

[log

2n]+1,

其中[log

2n]+1

是向下取整

(不大於

[log

2n]+1

的最大整數)。

5.(1)

(這個最為重要!!!)

若對含n

個結點的完全二叉樹從上到下且從左至右進行1至

n的編號

,則對完全二叉樹中任意乙個編號為

i的結點

:1.若i=1,則該結點是二叉樹的根,無雙親,否則(i>1時),編號為【i/2】(向下取整)的結點為其雙親結點;

(2)若2i>n,則該結點無左孩子,否則,編號為2i的結點為其左孩子結點;

(3)若2i+1>n,則該結點無右孩子,否則,編號為2i+1的結點為其右孩子結點。

遍歷次序,這個最為重要!1.前序遍歷:根 左 右

2.中序遍歷:左 根 右

3.後序遍歷:左 右 根

其中資料結構如果筆試考到,肯定考的是二叉樹,其中二叉樹的遍歷(遞迴演算法):面試題目:推導遍歷結果。

《大話資料結構p212》

接下來就是實際看**來查詢不會有疑問的知識點。

嵌入式學習 day 2

1.linux常用命令考查 1 cd 返回到home 2 cd 返回到上一級 3 將temp目錄壓縮 tar czvf a.tar.gz temp 4 檢視主機名 hostname 5 diff命令 在最簡單的情況下,比較給定的兩個檔案的不同。如果使用 代替 檔案 引數,則要比較的內容將來自標準輸入...

嵌入式學習 day 3

1.linux 中顏色所代表的屬性 綠色檔案 可執行檔案 可執行程式 紅色檔案 壓縮檔案或者包檔案 藍色檔案 目錄 白色檔案 一般檔案 如文字檔案 淺藍色檔案 鏈結檔案 紅色 閃爍 表示鏈結的檔案有問題 黃色檔案 表示裝置檔案 2.檔案目錄的許可權以及修改許可權 首先了解各個許可權 rwx rwx ...

嵌入式學習 day 5

雖然老師今天布置了作業,但是我還是想把今天所學先梳理一遍然後再寫作業,相信,磨刀不誤砍柴工。1.幼稚提問 關於 int main 和 void main 在最新的c99標準下,只有這兩種表示是正確的 1.int main void 整數型別主函式 無型別 2.int main int argc,ch...