[問題] Forest Traversal 或B-tree insertion

看板Programming作者 (Blue Sapphire)時間15年前 (2010/08/16 11:41), 編輯推噓0(001)
留言1則, 1人參與, 最新討論串1/1
遇到的問題: 不好意思,我直接把程式作業有困惑的部分拿出來詢問 我有想過實作,遇到了真的卡住的地方才上來詢問的 先謝謝各位了 想不出如何實作Forest Traversal 我目前在學資料結構,課本只有Binary Tree Traversal詳細解說 但是目前作業需求,似乎要用Forest實作符合要求 若用Binary Tree我想了一下,似乎在Node存 Data多存一些Data 也可以達到相同效果 http://mpc.cs.nctu.edu.tw/~tshuang/dshw2.pdf 不好意思,我就直接貼作業的pdf上來給各位參考了 我必須依照作業把好幾個file_.txt檔案轉成好幾個forest 然後把這些forest依照相關性合併成一顆大forest 希望得到的正確結果: 1.我希望能想到Traversal Forest的方法 2.或者用Binary Tree實作,Insertion該Insert到何處? 1.這個方法我想很久,可是唯一想到的就只有用暴力法 要存幾個level就依照level寫迴圈去讀取 2.這是昨天Forest想不出怎麼traverse實作的部分 目前想到Binary Tree Insertion就規定要插入當 某一個node的child下方都可以相等於Forest的定義 開發平台: VC++ 有問題的code:我的Forest node定義如下:若有更好方法麻煩跟我說 struct node{ int child_count; //紀錄有幾個真正child char string_data[500]; //Data struct node* child[500]; //最多有500個child,初始NULL int level; //第幾層 }; Binary Tree的node定義如下: struct node{ char string_data[500]; struct node* leftChild; struct node* rightChild; int level; }; Binary Tree部分我會Traverse,一開始分別建立很多Binary Tree時候我都直接插入 最Left Node變成好幾個Skew Binary Tree 之後要插入東西我目前想到是找到要插入當誰的child之後,檢查在那個node之下何時會 遇到NULL,就在那邊放入要插入的sub-tree或者node 補充說明: -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.113.246.132

08/17 11:27, , 1F
非二元非樹林 多元樹即可解,可逐一搜尋
08/17 11:27, 1F
文章代碼(AID): #1CQBDTmA (Programming)
文章代碼(AID): #1CQBDTmA (Programming)