社区
语言基础/算法/系统设计
帖子详情
请教一个有效率把顺序链表转为树状结构的算法(最终要实现在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
......
不知道有什么算法能够有效率的实现
...全文
160
11
打赏
收藏
请教一个有效率把顺序链表转为树状结构的算法(最终要实现在TREEVIEW里)
我有一个链表如下(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 ...... 不知道有什么算法能够有效率的实现
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用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
打赏
举报
回复
递归,呵呵..
严蔚敏数据
结构
演示系统完整学习资源
顺序
表基于连续内存空间存储数据元素,通常使用数组
实现
;而
链表
则通过节点间的指针链接来维持逻辑
顺序
,每个节点包含数据域和指针域。二者在内存布局上有本质区别:
顺序
表要求预分配固定大小的空间,访问快但插入删除效率低;
链表
动态分配节点,插入删除灵活但访问需遍历。int length;} SeqList;上述代码定义了
一个
静态
顺序
表SeqList,其中data数组用于存放整型数据,length记录当前有效元素个数。该
结构
在栈上分配内存时,整个data数组会被一次性预留,总占用空间为。
c#
treeview
查找并选中节点_每天5分钟用C#学习数据
结构
(15)二叉树 Part 1
【基础知识】|作者/ Edison Zhou这是恰童鞋骚年的第208篇原创文章上一篇介绍完了队列,本篇正式进入树与二叉树的世界。1树是个什么鬼?树的定义树(Tree)是 n(n≥0)个结点的有限集。n=0时,该树被称为“空树”。如上图所示,A点称为根节点,它有两棵子树,分别以B、C为根,而以C为根的子树又可以分成两棵子树。树的基本术语(1)不同的节点:根节点、内部节点、叶子节点以及节...
t
treeview
只展开一层节点_LeetCode 114. 二叉树展开为
链表
题解
LeetCode 114. 二叉树展开为
链表
题解题目描述思路1:前序遍历根据题意,我们要把所有的点按前序遍历的
顺序
将他们连成一条链,所以在这
里
最基础的做法就是对树进行前序遍历,并将这些节点记录起来。遍历结束后,我们将这些点按
顺序
链好即可。
实现
细节使用队列记录前序遍历的节点
顺序
。依次出队重新链到树上。切勿忘记将每个节点的左儿子设为空。代码/** * Definition for a bi...
嵌入式GUI开发实战:emWin树形视图控件深度解析与应用
树形视图是图形用户界面中用于展示层级数据的核心控件,其原理基于
树状
数据
结构
,通过父子节点关系组织信息。在嵌入式系统开发中,树形视图能够有效管理复杂配置菜单、文件目录等
结构
化数据,提升人机交互效率。emWin作为嵌入式领域广泛应用的图形库,其
TREEVIEW
控件提供了完整的树形视图解决方案,支持节点与叶子的区分、连接线显示、多种选择模式等关键特性。通过合理配置选择模式(如行选择模式)和启用自动滚动条,可以优化触摸屏设备的操作体验。在实际开发中,需关注内存管理、项插入策略(如懒加载)和重绘优化,以在资源受限的嵌
c#
treeview
查找并选中节点_每天5分钟用C#学习数据
结构
(31)查找 Part 2
【基础知识】|作者/ Edison Zhou这是恰童鞋骚年的第234篇原创文章前面讨论的几种查找方法中,二分查找效率最高,但其要求表中记录按照关键字有序,且只能在
顺序
表上
实现
,从而需要在插入和删除操作时移动很多的元素。如果不希望表中记录按关键字有序,而又希望得到较高的插入和删除效率,可以考虑使用几种特殊的二叉树或树作为表的组织形式。本篇阅读时间大约为15min。1二叉查找树基本概念二...
语言基础/算法/系统设计
16,741
社区成员
33,233
社区内容
发帖
与我相关
我的任务
语言基础/算法/系统设计
Delphi 语言基础/算法/系统设计
复制链接
扫一扫
分享
社区描述
Delphi 语言基础/算法/系统设计
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章