data-structures - 有其他类型数据的绳索名称吗?
问题描述
作为优化实验的一部分,我最终实现了一个用于打包数据(例如文本文档中的字符)的 B-Tree 数据结构,该结构针对在任意位置插入和删除内容进行了优化。值得注意的是,当插入或删除项目时,所有其他后续内容的索引文档位置会随之移动。
我的实现使用了 B 树。但是每个项目都存储包含子项的递归长度,而不是一个枢轴。
这种结构允许根据它们在log(n)时间内的当前位置来搜索、插入或删除项目。当叶节点被修改时,我们沿着树向上走,在向上的过程中增加或减少子长度字段。我们可以通过上下扫描来按当前文档位置(整数)搜索任何项目,计算在到达目标之前跳过的项目数。
我使用的是 b 树,但您也可以使用 BST、AVL/RB 树或跳过列表来实现此结构。
我的问题是:这种结构叫什么?
它类似于:
- 绳索,除了每个节点上的任意数据而不是字符串
- 来自 Xanadu 的 Einfilade——尽管在 1999 年之前这是一个商业秘密,我相信其他人在此期间也遇到过它。
解决方案
推荐阅读
- android - 如何在 Android 设备上不生根访问文件
- c++ - C++ 混合组合和继承的问题
- python - Python3 reduce() 函数替代使用循环而不是使用 from functools import reduce
- c# - 从日期开始的组最后一条记录中选择每个匹配结果之一
- vbscript - 在日期范围内显示消息 VbScript
- android - 当我使用 java.lang.Runtime 运行“logcat -s ActivityManager:I | grep Displayed”时,为什么我无法获得任何不属于我自己的应用程序的日志
- javascript - 错误:getaddrinfo EAI_AGAIN api.spotify.com:443
- perl - perl 分配对子程序的引用
- swift - UIView 作为子视图不会剪辑到超级视图
- ios - 尝试在 Xcode 中更新应用程序时出现证书错误