-
葉子(終端節點) 根(非終端節點) 節點深度(節點位置在第n層深度就為n) 樹深度(最深的深度N,該樹的深度就為n)查看全部
-
搜索節點的函數應該為: Node* Node::searchNode(int index) { if(this->index==index)return this; if(this->pLNode!=NULL) { if(this->pLNode->index==index)return this->pLNode; Node *temp=this->pLNode->searchNode(index); if(temp!=NULL)return temp; /* 如果不加這個判斷if(temp!=NULL)而是直接return temp則會導致即使在左子樹中沒有找到下標為index的節點也會直接返回NULL,而不再進行右子樹中的搜索。 */ } if(this->pRNode!=NULL) { if(this->pRNode->index==index)return this->pRNode; Node *temp=this->pRNode->searchNode(index); if(temp!=NULL)return temp; } return NULL; }查看全部
-
樹的前中后序遍歷不容易,但是節點的前中后序遍歷可以使用遞歸來完成,遞歸就是在某一函數中調用該函數本身。查看全部
-
鏈表和數組的一個區別就是鏈表沒有m_iSize這個數據成員,二叉樹的鏈表實現和二叉樹的數組實現也有這個區別。因此二叉樹的鏈表實現不用判斷要添加的節點的左右孩子是否沒有內存,而是應該判斷左右孩子是否已經有數據。查看全部
-
如果直接將pNode這個節點掛載到樹中,因為pNode是一個臨時節點所以用根節點的孩子指針指向它沒有什么意義,在addNode這個函數執行完之后,pNode申請的內存就會被回收。查看全部
-
樹的前序遍歷:根左右; 中序遍歷:左根右; 后序遍歷:左右根; 可以簡單的看頭節點0的位置, 在遍歷出來的節點的最前面就叫做前序遍歷,在遍歷出來的節點的中間就叫做中序遍歷,在遍歷出來的節點的最后面就叫做后序遍歷。查看全部
-
頭節點的數據域沒有任何意義,但是它的指針域指向左孩子和右孩子,初值為NULL。查看全部
-
數組在實例化的時候要先指定內存的大小,即要先說明申請的元素的個數m_pTree=new int[size];而鏈表在實例化的時候不用關注總內存的大小,只要申請第一個頭節點的內存就夠了。m_pNode=new Node();查看全部
-
在二叉樹中,使用0表示當前位置不存在節點的情況。查看全部
-
非終端的節點都叫做根,而不僅僅只有A一個節點叫做根??梢哉f在一個樹中,一個節點不是根就是葉,不存在根和葉之外的節點,葉就是終端節點,根就是非終端節點。查看全部
-
在樹中,一個雙親節點有幾個孩子節點,那么這個雙親節點的度就是幾。查看全部
-
可以將DeleteNode中的第二個實參定位NULL;省的定義;查看全部
-
"遞歸就形成了:訪問左結點就是訪問左子樹,訪問右結點就是訪問右子樹"查看全部
-
為什么不判斷根據索引找到的結點有沒有左右孩子再進行掛載?查看全部
-
二叉樹遍歷 前中后是對根來說的查看全部
舉報
0/150
提交
取消