一道未知难度的算法题,求围观
这是我们学校的一个算法比赛题目,我没有参赛,这是从我同学那里拿来的,我对数据结构和算法一知半解,所以不知道这题目难度如何?求大家给出思路或者核心伪代码,当然能编译通过的源代码也最好不过,本人希望能把道题解决,从而更好地学习数据结构,求指导,谢谢!题目如下:
1 .分别用 java (不限于java)和 javascript (这个可以忽略)建一棵树 ,
a
b1 b2
c1 c2 c3 c4 c5 c6
......
z1 z2 ...
2. 对以上所建的树进行分析, 找出存在上下级递归关系的节点(如果有的话)
如:
a
b1 b2
c1 c2c3 c4 c5 c6
d1 b1 d3 d4
第4层的b1 和 第2层的b1 存在上下级递归关系
帮你顶起。希望你能找到帮你的大侠哈 额 是二叉树还是三叉树 还是任意的 依我来看,不算难。 是不是每层的子节点都比上层多一个? 饿……楼上貌似清一色VIP。表示我也不会的说……帮楼主顶顶吧,哈哈:lol 链表没学好吧。。。 没太看明白,和三楼观点一样 LZ题目说明没写清楚。题1的要求补充一下:
a
b1 b2
c1 c2 c3 c4 c5 c6
......
z1 z2 ...
a) 共26层
b) 第一层 1 个节点
c) 对 n>1, 第n层会有n * (n-1层的节点数) 个节点
d) 对 n>=1 and n<=25, 第n层的每个点都有n+1个下节点(儿子) 这是啥,不敢说 看了9楼的问题补充:
c) 对 n>1, 第n层会有n * (n-1层的节点数) 个节点
说明:第二层2个节点,第三层6个节点,第四次12个节点,第五层5*(5-1)=20个节点~~~~
d) 对 n>=1 and n<=25, 第n层的每个点都有n+1个下节点(儿子)
说明:第二层2个节点,第三层6个节点,第四层12个节点,第五层12*5=60个节点~~~
按照条件c来创建这棵树我目前也没办法,但是按照条件d来创建这棵树,我写了一个函数,希望朋友们给予指正,谢谢。
struct QElemType
{
CSTree tr;
int n;
};
CreateCSTree(CSTree &T)
{
int i, m;
LinkQueue q;
QElemType p;
CSTree t;
T = (CSTree)malloc(sizeof(CSNode))
if(!T)
exit(OVERFLOW);
InputData(T->data);//数据写入函数,需要自己写
p.tr = T;
p.n = 2;
EnQueue(q, p);
while(!EmptyQueue && p.n != 27)
{
DeQueue(q,p);
p.tr = p.tr->leftchild;
for (i=0; i<p.n; ++i)
{
p.tr = (CSTree)malloc(sizeof(CSNode))
if(!p.tr)
exit(OVERFLOW);
InputData(T->data);
m = p.n+1;
p.n = m;
EnQueue(q,p);
p.tr = p.tr->nextchild;
}
p.tr = NULL;
}
DestroyQueue(q);
} 第二个问题
我是自学的啊,不太明白你想表达的上下级递归关系是什么意思。
我的理解:
用递归的方式遍历这棵树,指针指向a,然后递归打开b1,递归打开c1,递归打开d1,最后指针指向d1的下一个兄弟。这时指针内的地址就是第四层的b1;
不知道这个答案能不能帮助你!
像杨辉三角。。。 看不懂,:dizzy::dizzy: :lol:lol:lol:lol帮顶 帮你顶起。希望你能找到帮你的大侠哈 围观。。。。。。。 顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶 顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶 貌似很复杂的样子!!!!!!!!!!
页:
[1]
2