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