CS 中的许多数据结构都是二进制的(BST、堆等)。以非二进制形式实现它们的充分理由是什么? IE。每个节点有一个有 3 个 child 的堆,等等。
最佳答案
每个节点有两个以上子节点的树是一种权衡,因为它们的深度较浅,但每个节点的链接更多。 B-tree ,通常用于数据库和文件系统,是每个节点具有多个链接的树结构的典型示例。这种结构非常适合文件系统,因为可以调整 B 树节点的大小以与文件系统 block 或簇的大小紧密匹配。
关于algorithm - 什么时候非二进制数据结构比二进制数据结构更好? (即堆、BST 等),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11496215/