m-way树的实际运用

发布于 2024-10-15 21:50:15 字数 68 浏览 4 评论 0原文

我又开始学习数据结构了。我发现它的实际用途很少。其中之一是关于磁盘上的文件系统。有人能给我更多实际用途的例子吗 m 路树。

I have started studying data structures again . I found very few practical uses of this. One of those were about file system on disk . Can someone give me more example of practical uses
of m-way tree .

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

不打扰别人 2024-10-22 21:50:15

M 路树出现在很多竞技场中。这是一个小样本:

  1. B 树:这些是搜索树,类似于具有巨大分支因子的二叉搜索树。它们的设计方式使得每个节点都可以放入可以一次性从硬盘读取的内存中。它们具有与常规 BST 相同的渐近保证,但旨在最大限度地减少为查找特定元素而搜索的节点数量。因此,许多大型数据库系统使用 B 树或其他相关结构在磁盘上存储大型表。这样,昂贵的磁盘读取次数就会最小化,并且整体效率会更高。
  2. 八叉树。八叉树及其二维四叉树是用于在三维空间中存储点的数据结构。它们在视频游戏中广泛用于快速碰撞检测和实时渲染计算,如果没有它们,我们的情况会更糟。
  3. 链接/砍伐树木。这些专门的树用于网络流问题,可以比传统方法更快地有效计算匹配或找到最大流,这在运筹学中具有巨大的适用性。
  4. 不相交的森林。这些多路树用于最小生成树算法,以惊人的速度计算连接性,将运行时间优化到理论极限附近。
  5. 尝试一下。这些树用于对字符串数据进行编码,并允许极快地查找、存储和维护字符串集。它们也用于一些正则表达式游行者。
  6. Van Emde Boas Trees - 整数优先级队列的闪电般快速实现,由具有巨大分支因子的树木森林支持。
  7. 后缀树。这些文本处理领域的瑰宝允许快速字符串搜索。它们通常还具有远大于二的分支因子。
  8. PQ 树。这些用于编码排列的树允许线性时间平面性测试,其在电路布局和图形绘制中具有应用。

唷!那是很多树。希望这有帮助!

M-way trees come up in a lot of arenas. Here's a small sampling:

  1. B-trees: these are search trees like a binary search tree with a huge branching factor. They're designed in such a way that each node can fit just inside of the memory that can be read from a hard disk in one pass. They have all the same asymPtotic guarantees of regular BSTs, but are designed to minimize the number of nodes searched to find a particular element. Consequently, many giant database systems use B-trees or other related structures to store large tables on disks. That way, the number of expensive disk reads is minimized and the overall efficiency is much greater.
  2. Octrees. Octrees and their two-dimensional cousins quadtrees are data structures for storing points in three dimensional space. They're used extensively in video games for fast collision detection and real-time rendering computations, and we would be much the worse odd if not for them.
  3. Link/cut trees. These specialized trees are used in network flow problems to efficiently compute matchings or find maximum flows much faster than conventional approaches, which has huge applicability in operations research.
  4. Disjoint-set forests. These multiway trees are used in minimum-spanning tree algorithms to compute connectivity blindingly fast, optimizing the runtime to around the theoretical limit.
  5. Tries. These trees are used to encode string data and allow for extremely fast lookup, storage, and maintenance of sets of strings. They're also used in some regular expression marchers.
  6. Van Emde Boas Trees- a lightning fast implementation of priority queues of integers that is backed by a forest of trees with enormous branching factor.
  7. Suffix trees. These jewels of the text processing world allow for fast string searches. They also typically have a branching factor much greater than two.
  8. PQ-trees. These trees for encoding permutations allow for linear-time planarity testing, which has applications in circuit layout and graph drawing.

Phew! That's a lot of trees. Hope this helps!

铁轨上的流浪者 2024-10-22 21:50:15

m-way,你的意思是广义树吗?如果是这样,几乎任何“单亲”层次结构都是如此。

By m-way, do you mean a generalized tree? If so, pretty much any 'single parent' hierarchy.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文