社区
语言基础/算法/系统设计
帖子详情
请教一个有效率把顺序链表转为树状结构的算法(最终要实现在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
......
不知道有什么算法能够有效率的实现
...全文
144
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
打赏
举报
回复
递归,呵呵..
GTK.rar_gtk
在虚拟机下
实现
任务管理器,类似于windows下的简单的管理器
Virtual
Treeview
控件深度解析与实战应用
Virtual
Treeview
是 Delphi/C++ Builder 平台下高性能树形控件的标杆组件,采用虚拟化绘制机制,仅渲染可见节点,显著提升大数据量下的响应速度与内存效率。它不依赖于系统原生树控件,而是通过自定义绘制与事件驱动模型
实现
高度灵活的UI控制。该控件广泛应用于文件浏览器、设备管理器、任务调度系统等需展示复杂层级
结构
的场景,支持多列显示、拖放操作、异步加载与完全自定义外观,适用于对性能和交互体验有严苛要求的企业级应用开发。其“按需回调”数据提供模式,使得百万级节点管理成为可能。
VB自定义美观Tree树控件开发实战
在Visual Basic(VB)中,标准的
TreeView
控件虽然功能完备,但在复杂业务场景下常面临外观僵化、性能瓶颈和扩展性不足的问题。为了满足高自由度交互需求与现代化UI风格,开发人员往往需要构建
一个
完全可定制的树形控件。本章将从零开始,系统性地剖析如何基于 VB6 或 VB.NET 环境(以 VB.NET 为主),通过继承并结合 GDI+ 技术,
实现
一套高性能、可扩展、视觉表现力强的自定义 Tree 控件。该控件的核心目标是:解耦数据模型与视图渲染。
QList、QMap、QVector、QQueue、QStringList的使用
QVector 是 Qt 容器类库中的
一个
重要组成部分,它提供了类似于 C++ 标准库中的 std::vector 的功能,但同时拥有 Qt 独特的优势。QList 采用连续的内存块来存储数据,支持快速的随机访问和高效的内存使用。QQueue,源自Qt框架,是
一个
C++
实现
的队列类,提供了丰富的API以
实现
队列的各种操作。由于其方便易用的特性,在Qt框架中QStringList被大量使用于各种场景下,比如在GUI开发中的列表、ComboBox、
TreeView
等控件,或者在网络传输中的数据序列化和解析等。
三轴雕刻机控制系统设计与
实现
详解
插补是指在起点与终点之间按一定规律插入中间点的过程,使各轴协调运动形成连续轨迹。最常用的是直线插补与圆弧插补。CmdCNC 使用 RS232 或 USB 转串口适配器连接到主控板,通信参数通常设置为115200bps, 8N1, 无流控。所有指令均以纯文本形式发送,遵循如下语法
结构
:其中:
是大写的两字母或三字母指令代码;可选参数字段,多个参数间用空格分隔;为可选校验字段,用于增强数据完整性;\n表示命令结束符(换行)。
语言基础/算法/系统设计
16,742
社区成员
33,237
社区内容
发帖
与我相关
我的任务
语言基础/算法/系统设计
Delphi 语言基础/算法/系统设计
复制链接
扫一扫
分享
社区描述
Delphi 语言基础/算法/系统设计
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章