请教一个有效率把顺序链表转为树状结构的算法(最终要实现在TREEVIEW里)

huayuxing 2008-11-06 10:42:57
我有一个链表如下(5,6),(5,7)(5,9)(6,10)(6,12)(8,13)(5,14)(10,15).......可能会有几W甚至几十W之多
链表以结构体的形式存里内存数据流中
级数可能会有
最终实现在treeview上是
5-6
6-10
-15
6-12
7.......
9........
14....
8-13
......

不知道有什么算法能够有效率的实现
...全文
121 11 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
CaiBirdy 2008-11-12
  • 打赏
  • 举报
回复
我觉得你应该从取得的数据入手,多次取得后,对比下大概有什么规律,比如是不是有递增的趋势什么的,或者是否有分段的现象,之后再采用相应的方法。。
据个例子:
gwhdaxia 2008-11-10
  • 打赏
  • 举报
回复
只循环一次把树建起来应该是最快的,
huayuxing 2008-11-10
  • 打赏
  • 举报
回复
9楼的兄弟,站着说话不腰疼吗,呵呵,谁都知道只循环一次当然好了,要把解决的方法说出来才行啊!
ideation_shang 2008-11-09
  • 打赏
  • 举报
回复
在生成链表的时候 最好顺便做个索引,比如 (5,*)、(6,*)、(n,*)分开存储,在你生成树的时候效率就高多了
huayuxing 2008-11-09
  • 打赏
  • 举报
回复
肯定是一级一级的加的,但至少也要搜索(从头到尾)才知道哪些是一二级的,而且在生成连表的时候肯定是无序的
yeah920 2008-11-07
  • 打赏
  • 举报
回复
没搞过。帮顶。
CaiBirdy 2008-11-07
  • 打赏
  • 举报
回复
不过首先你的链表在生成时要先自动排好顺序,不然没效率,难度也高
CaiBirdy 2008-11-07
  • 打赏
  • 举报
回复
几十W。。只能一级一级添加吧,不可能一下子全添加的。。可以借鉴一下shelltreeview,
huayuxing 2008-11-07
  • 打赏
  • 举报
回复
自己顶一下
huayuxing 2008-11-06
  • 打赏
  • 举报
回复
兄弟,几十W做递归,做死人了
mdejtod 2008-11-06
  • 打赏
  • 举报
回复
递归,呵呵..

16,746

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 语言基础/算法/系统设计
社区管理员
  • 语言基础/算法/系统设计社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧