二叉樹的理解

2021-07-22 19:11:36 字數 1825 閱讀 8020

關於二叉樹的理解: 

定義:首先,對於資料結構中的樹而言,樹是由n(n>=1)個有限節點組成乙個具有層次關係的集合,而二叉樹是每個父節點最多有兩個子節點的樹,說白了樹是從根節點從下蔓延的一類有層次的集合,而這種集合是以以節 點形式存在的

價值:或者說二叉樹存在的意義,二叉樹是一種具有一定的規律,有序,他的左子樹和右子樹都是按照一定的順序來安排的,樹的分類分為有序樹和無序樹,我們所去研究的都是一些有序的,即有一點規律和研究的事物,否則一切的都沒有意義了,其實所有的關於樹的解釋,都是從節點包裝開始的,也就是所有的樹都是基於node型別的,所以我在這裡給的**是屬於節點這一塊的

package list;

public class licklist

nownode.next=node;

length++;

}public void delete(int index) catch (exception e)

}int code=0;

node nownode=first;

while(code!=index)

nownode.next=nownode.next.next;

length--;

}public string get(int index) catch (exception e)

}//重新定義成煉表的形式

// node node=new node();

// node.value=v;

int code=0;

node nownode=first.next;

while(code!=index)

return nownode.value;

}public void update(int index,string v) catch (exception e)

}//定義成node型別

node node=new node();

node.value=v;

int code=0;

node nownode=first;

while(code!=index)

node.next=nownode.next.next;

nownode.next=node;

}public void insert(int index,string v) catch (exception e)

}//定義成node型別

node node=new node();

node.value=v;

int code=0;

node nownode=first;

while(code!=index)

node.next=nownode.next;

nownode.next=node;

length++;

}public int size()

}

完全二叉樹性質:一:若根結點的層次為1,則二叉樹第i層最多有2的(i-1)次方個結點。

二:在高度為k的二叉樹中,則最多有2k-1個結點(k≥0)

三: 設一棵二叉樹節點個數為n,則父節點個數為n/2。

四:一棵具有n個結點的完全二叉樹,對序號為i(0≤i0,則i的父母結點序號為:若2i+1若2i+2用處:利用完全二叉樹的性質,可以將一些資料編輯成有規律的或者說我們想編輯的序列,便於研究使用和處理資料。

二叉樹 二叉樹

題目描述 如上所示,由正整數1,2,3 組成了一顆特殊二叉樹。我們已知這個二叉樹的最後乙個結點是n。現在的問題是,結點m所在的子樹中一共包括多少個結點。比如,n 12,m 3那麼上圖中的結點13,14,15以及後面的結點都是不存在的,結點m所在子樹中包括的結點有3,6,7,12,因此結點m的所在子樹...

樹 二叉樹 滿二叉樹 完全二叉樹 完滿二叉樹

目錄名稱作用根 樹的頂端結點 孩子當遠離根 root 的時候,直接連線到另外乙個結點的結點被稱之為孩子 child 雙親相應地,另外乙個結點稱為孩子 child 的雙親 parent 兄弟具有同乙個雙親 parent 的孩子 child 之間互稱為兄弟 sibling 祖先結點的祖先 ancesto...

二叉樹遍歷理解

口訣 前序遍歷 根結點 左子樹 右子樹 中序遍歷 左子樹 根結點 右子樹 後序遍歷 左子樹 右子樹 根結點 層次遍歷 僅僅需按層次遍歷就可以 二叉樹的遍歷,是從左到右的,前 中 後這三個字代表著根結點的位置 其實也是最終根結點的位置 再次看到前序遍歷,前 就代表根結點在前,然後從左到右,就是 根結點...