作者bluesapphire (Blue Sapphire)
看板Programming
标题[问题] Forest Traversal 或B-tree insertion
时间Mon Aug 16 11:41:15 2010
遇到的问题: 不好意思,我直接把程式作业有困惑的部分拿出来询问
我有想过实作,遇到了真的卡住的地方才上来询问的
先谢谢各位了
想不出如何实作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
1F:→ Foremanytz:非二元非树林 多元树即可解,可逐一搜寻 163.15.40.185 08/17 11:27