gpt4 book ai didi

algorithm - 想要 : Theory for Copy, 在树中的节点中 move (例如拖放)

转载 作者:塔克拉玛干 更新时间:2023-11-03 05:26:39 24 4
gpt4 key购买 nike

我的一个应用维护着一个对象树,以大纲 View 显示。我已经实现了一个很长的例程,用于将对象从一个节点 move 或复制到另一个节点。例如,当用户在大纲 View 中执行拖放操作时会调用此例程。

当对象在同一个父对象中 move 时会变得很有趣。或者当某些节点不允许对象时,虽然我确实允许用户将它们放到那里,但我会帮助调整它们的最终位置。几周后,在前几个版本中修复了一些错误,我让这个例程始终按预期运行。我认为。但我不确定,因为此方法是临时开发的。这意味着:当我发现某些东西不起作用时,我会修复它。

目前我正在努力提高它在一些极端情况下的性能。例如,在每个对象 move 后立即重新索引所有受影响的节点的代码在逻辑上是无懈可击的,但是当用户在已经包含 1000 个项目的节点的头部 move 1000 个项目时成本很高。

当我看这段代码时,我觉得某些计算机科学家可能在某个时候写了教科书章节或关于这个主题的东西,我应该买那本书,读一读,撕掉我的广告hoc 代码并以正确 的方式进行。但是我在网络搜索中找不到任何内容。有人知道这样的书吗?

也许不是。也许这是其中一种情况,毕竟说了又做了,每个应用程序都太不同而无法提出通用解决方案?

谢谢,

杰瑞·克里诺克

最佳答案

听起来好像行得通,这比方法是否正确重要得多。

用户是否四处拖动 1000 个项目并对由此产生的延迟有疑问?

如果您需要加快速度,一个好的优化方法是将 move 和索引分离,并确保您的 move 代码在完成 move 后始终建立索引。或者,您可以允许您的 move 代码采用一组源和目标,以允许它仅索引一次,但仍控制索引过程。

我见过和体验过的大多数算法都侧重于获取数据或优化树(在确切的树结构不重要的情况下)以改进数据获取。由于您的代码考虑了特定的树结构,因此它们在这里不会真正提供帮助。

关于algorithm - 想要 : Theory for Copy, 在树中的节点中 move (例如拖放),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9713490/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com