我有点坏╰☆ 发表于 2013-2-17 13:45:37

一道未知难度的算法题,求围观

这是我们学校的一个算法比赛题目,我没有参赛,这是从我同学那里拿来的,我对数据结构和算法一知半解,所以不知道这题目难度如何?求大家给出思路或者核心伪代码,当然能编译通过的源代码也最好不过,本人希望能把道题解决,从而更好地学习数据结构,求指导,谢谢!
题目如下:

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 存在上下级递归关系

叶夜唯名 发表于 2013-2-19 03:20:08

帮你顶起。希望你能找到帮你的大侠哈

wangyexin 发表于 2013-2-19 09:02:42

额 是二叉树还是三叉树 还是任意的

七月之变 发表于 2013-2-19 11:08:31

依我来看,不算难。

wangyexin 发表于 2013-2-22 08:15:49

是不是每层的子节点都比上层多一个?

天天2250051400 发表于 2013-2-22 08:27:28

饿……楼上貌似清一色VIP。表示我也不会的说……帮楼主顶顶吧,哈哈:lol

一剑 发表于 2013-2-22 08:32:14

链表没学好吧。。。

pro_xk 发表于 2013-2-22 08:49:52

没太看明白,和三楼观点一样

故乡的风 发表于 2013-2-22 09:10:22

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个下节点(儿子)

iiiyu222 发表于 2013-3-2 15:50:28

这是啥,不敢说

律动小手指 发表于 2013-3-6 00:05:09

看了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);
}

律动小手指 发表于 2013-3-6 00:24:55

第二个问题
我是自学的啊,不太明白你想表达的上下级递归关系是什么意思。
我的理解:
用递归的方式遍历这棵树,指针指向a,然后递归打开b1,递归打开c1,递归打开d1,最后指针指向d1的下一个兄弟。这时指针内的地址就是第四层的b1;
不知道这个答案能不能帮助你!

纷飞流年,谁 发表于 2013-3-17 17:14:35

像杨辉三角。。。

1187059391 发表于 2013-3-30 21:06:40

看不懂,:dizzy::dizzy:

1187059391 发表于 2013-3-30 21:07:19

:lol:lol:lol:lol帮顶

□_谁_□_枫_□ 发表于 2013-3-31 16:59:08

帮你顶起。希望你能找到帮你的大侠哈

hahah 发表于 2013-6-14 12:08:08

围观。。。。。。。

゛记忆、零碎忆 发表于 2013-6-15 22:25:49

顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶

゛记忆、零碎忆 发表于 2013-6-15 22:26:57

顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶

Skyline 发表于 2013-6-20 21:04:14

貌似很复杂的样子!!!!!!!!!!
页: [1] 2
查看完整版本: 一道未知难度的算法题,求围观