




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
第6 高等教育,2008.6,“十一五”國(guó)家級(jí)規(guī)按某一規(guī)律系統(tǒng)地 并使每個(gè)結(jié)點(diǎn)恰好被 F FJL
Na)第一棵樹的 在先根次序下遍歷第一棵樹 在后根次序下遍歷第一棵樹 temte<classT>TreeNode<T>*root){while(root!=NULL) //當(dāng)前結(jié)//遍歷第一棵樹根的森林rootroot->RightSibling();遍歷其他樹} CEDJFXMLCEDJFXMLKGLINerse(TreeNode<T>*root){while(root!=NULL)//遍歷第一棵樹根的森林 //當(dāng)前結(jié)點(diǎn)root=root->RightSibling();//遍歷其他樹}} D 森林廣度優(yōu)先得到層次序列:ADBCEFGKHvoidTree<T>::WidthTraverse(TreeNode<T>*root)using queue<TreeNode<T>*>aQueue;TreeNode<T>*pointer=root;while(pointer!=NULL){ pointerpointer }pointer pointer=pointer->LeftMostChild(); //pointer指向最左孩子while(pointer!=NULL){ pointer=pointer-}}}D
DE 2014FallStructures&HZ8 2014FallDataStructures&Algorithms Haiyan 每個(gè)分支結(jié)點(diǎn)均 其子結(jié)點(diǎn)信息,子結(jié)點(diǎn)按照\(chéng)A索引值父結(jié)點(diǎn)\A0B00B11D0C21D0C\1E3\1E\2F4\2F2G52G\2H6\2H\3I7\3I\3J8\3J\6K9\6K\6L\6L
2\4\\\值
只需簡(jiǎn)單設(shè)置三個(gè)指針值即可與子結(jié)點(diǎn)表表示法相比,空間效率更高,且結(jié)點(diǎn)每個(gè)結(jié)點(diǎn)一個(gè)基于數(shù)組的子結(jié)點(diǎn)指針表。在子結(jié)GHGH 由于樹的每個(gè)結(jié)點(diǎn)均包含固定數(shù)目的指針,而且樹的ADT的每個(gè)函數(shù)均能有效實(shí)現(xiàn),故動(dòng)態(tài)“右兄” K // //樹結(jié)點(diǎn)的值 //右兄結(jié)點(diǎn)//tem //拷貝構(gòu)造函數(shù)m_Value=value;pChild=NULL;pSibling} te<class //return} te<class 如果結(jié)點(diǎn)是葉,返回trueif(pChild==NULL)returntrue;returnfalse;} te<class //返回第一 } te<class //return} te<class TreeNode<T>::setValue(T& //m_Value=}//TreeNode<T>* ////返回current的父節(jié)點(diǎn),由函數(shù)ParentTreeNode<T>*getParent(TreeNode<T>*root,TreeNode<T>* voidtemte<classT>CTree<T>::Tree()root //}temte<classT>Tree<T>::~Tree()while(root)}temte<classT>TreeNode<T>*Tree<T>::getRoot()return}using TreeNode<T>*pointer=root;TreeNode<T>*fatherupperlevelpointer=NULL;//記錄父結(jié)點(diǎn)if(current!=NULL&&pointer!=current)while(pointerNULL) if(current -> }pointer upperlevelpointer= pointerpointer if(current==pointer)father break;}else{}}}aQueue.clear( return}temte<classvoidTree<T>::DestroyNodes(TreeNode<T>*root)if(root)deleteroot;}}
ABABCKDEFGHJ
0024445600244456ABCKDEFGHJ
找結(jié)點(diǎn)的和兄弟比較費(fèi)事(遍查整個(gè)數(shù)組沒有表示出結(jié)點(diǎn)之間的左右次序(適于無(wú)序樹abcdefabcdefghija-b0d1e1h3i3j3c0f7g70123456789intrightSibling_partree(PParTreet,intp)inti;if(p>=0&&p<t-{for(i=p+1;i<t->n;if(t->nodelist[i].parent==t-}return(-}nSrx,(x,x)∈R(自反x,y)∈R(y,x)∈R(對(duì)稱x,y)∈R(y,z)∈Rx,z)∈R(傳遞 點(diǎn)的根結(jié)點(diǎn)的過程稱為Find(A,(C,(J,(H,(D,(K,(E,(H,先對(duì)5(A,B)、(C,K(J,F)(H,E)BE 23456789BE(A,B)(C,K)(J,F)BE
A
0024456ABCKD0024456ABCKDEFGHJ
E E
A0B0C2KDA0B0C2KD4E4F4G5H6JB0123456789 temte<classclassParTree ParTreeNode<T>* //樹結(jié)點(diǎn)的數(shù)int Find(ParTreeNode<T>*node ParTree(constint virtual voidUnion(inti,int i,jboolDifferent(inti,int temte<class{ParTreeNode<T>*pointer=node;while(pointer->getParent()!=NULL)returnpointer;}temte<classvoidParTree<T>::Union(inti,intj)ParTreeNode<T>*pointeri=Find(&array[i]);//找到結(jié)點(diǎn)i的根ParTreeNode<T>*pointerj=Find(&array[j]);//找到結(jié)點(diǎn)j的根if(pointeri!=pointerj){if(pointeri->getCount()>=pointerj-{pointerj-pointeri->setCount(pointeri->getCount()}elsepointerj->setCount(pointeri->getCount()}}} Union:… …n
以把樹的整體深度限制在O(logn)logn a)路徑壓縮之 (b)路徑壓0024446ABCKDEFGHJE Etemte<class{if(node->getParent()==NULL)returnnode;returnnode->getParent();}log*nnlogn1nlog*655364(4次log操作 任何結(jié)點(diǎn)的的所有結(jié)點(diǎn)都直接跟在該結(jié)點(diǎn);
EGE 2014FallDataStructures&Algorithms Haiyanltag有子結(jié)點(diǎn)(對(duì)應(yīng)二叉樹有則為0,沒有則為
ltag的值完全可以推知llinkltag為0的結(jié)點(diǎn)有結(jié)點(diǎn),lli
溫馨提示
- 1. 本站所有資源如無(wú)特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 水上施工承攬合同范本
- 買服裝合同范本
- 豪華住宅租賃合同(2篇)
- 二零二五年度人工智能產(chǎn)業(yè)融資借款合同
- 二零二五年度互聯(lián)網(wǎng)安全專家勞動(dòng)合同規(guī)范
- 二零二五年度個(gè)人車庫(kù)出售合同-車位使用權(quán)與廣告位合作開發(fā)協(xié)議
- 2025年度短視頻演員虛擬形象授權(quán)使用合同
- 二零二五年度車間出租與工業(yè)互聯(lián)網(wǎng)平臺(tái)服務(wù)合同
- 二零二五年度新能源車輛制造單位員工勞動(dòng)合同書(含新能源汽車研發(fā)及制造協(xié)議)
- 2025年度能源合同解除三方協(xié)議理由書
- 地理-天一大聯(lián)考2025屆高三四省聯(lián)考(陜晉青寧)試題和解析
- 小巴掌童話課件
- 教科版六年級(jí)科學(xué)下冊(cè)全冊(cè)教學(xué)設(shè)計(jì)教案
- 部編版小學(xué)五年級(jí)下冊(cè)《道德與法治》全冊(cè)教案含教學(xué)計(jì)劃
- 初中數(shù)學(xué)新課程標(biāo)準(zhǔn)(2024年版)
- GB/T 19342-2024手動(dòng)牙刷一般要求和檢測(cè)方法
- 2024年山東鐵投集團(tuán)招聘筆試參考題庫(kù)含答案解析
- 8款-組織架構(gòu)圖(可編輯)
- 中學(xué)生班干部培訓(xùn)方案(共4頁(yè))
- 凈土資糧——信愿行(11)第六講凈業(yè)三福變化氣質(zhì)
- 美的集團(tuán)公司分權(quán)手冊(cè)
評(píng)論
0/150
提交評(píng)論