[問題] Forest traversal或者 binary tree insertion
看板C_and_CPP (C/C++)作者bluesapphire (Blue Sapphire)時間15年前 (2010/08/16 11:30)推噓1(1推 0噓 11→)留言12則, 3人參與討論串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/16 14:01, , 1F
08/16 14:01, 1F
→
08/16 14:03, , 2F
08/16 14:03, 2F
→
08/16 14:05, , 3F
08/16 14:05, 3F
→
08/16 14:05, , 4F
08/16 14:05, 4F
→
08/16 14:07, , 5F
08/16 14:07, 5F
→
08/16 14:07, , 6F
08/16 14:07, 6F
→
08/16 14:08, , 7F
08/16 14:08, 7F
→
08/16 22:20, , 8F
08/16 22:20, 8F
推
08/17 20:16, , 9F
08/17 20:16, 9F
→
08/17 20:16, , 10F
08/17 20:16, 10F
→
08/17 20:17, , 11F
08/17 20:17, 11F
→
08/17 20:17, , 12F
08/17 20:17, 12F
C_and_CPP 近期熱門文章
PTT數位生活區 即時熱門文章