日期:2014-05-17  浏览次数:20908 次

C# 求一个算法
选择有一组数字如下
1
 2
  3
  3
   4
   4
   4
   4
  3
 2
  3
  3
   4
   4
    5
    5
 2
 2
是一个以1做根节点的树状结构,现在有个需求,如何根据这组数字组成一个树形数据结构
节点关系是
1是跟节点,然后你会看到节点都是从小到大排序并且同级的节点是相同的,而节点包含的子节点必定比父节点的数字要大。请问如何把这种规律的数字整理成一个二叉树呢?
有高手可以用C#来实现一下这个算法吗?
算法 C#

------解决方案--------------------
 你去百度一下无限级树形, 用数据库做操作 ,遍历数据
大概表是
ID NAME   MasterID
1  主级      0
2  1子级     1
3  1子级2    1
4  1子级3    1
5  2子级     2
6  2子级2    2
7  5的子级   5
8  5的子级2  5
------解决方案--------------------
小根树,小根堆,可以解决你的问题
------解决方案--------------------
给你个思路:假设你十分了解二叉树,首先你定义好树的基本结构,然后你把你的数据存成一个list或什么的,然后对你的list进行排序,你应该知道二叉树的每一个节点,理论都是一个二叉树结构,你从根节点开始组装节点 ,直到你把list里的数据全部用完,应该结果就出来了。试一下吧。
------解决方案--------------------
树还是二叉树?