time-complexity - 为什么 B 树的复杂度是 O(log n),它不是二叉树
问题描述
根据Wiki和GFG,B 树的搜索/插入/删除时间复杂度为 O(log n)。AB 树可以有> 2 个孩子,即它不是二叉树。所以我不明白为什么它是 log n - 它不应该比 log n 快吗?例如,搜索应该是最坏情况 O(h),其中 h 是树的高度。
解决方案
B-Tree 是二叉树的推广,其中每个节点可以有超过 2 个子节点。但这并不确定。例如,如果每个节点的子节点数定义为 x,那么复杂度将为. 但是,当最小子节点数为 2(如在 B-Tree 中)时,树的最大高度将为对数基数 2)。因此,B-Tree 的复杂度为。
推荐阅读
- python - 在 pandas 中为 Dataframe 添加标题
- python - 在 python 中托管 OCX 控件
- java - Java 7 不使用 TLS 1.2 连接到 LDAPS 服务器
- debugging - 使用 Intellij 远程调试 Quarkus 时,如何跳过单步执行 _SubClass$$function$$?
- python - 如何显示和链接两个sql表?
- powershell - 如何使用 st_only_when_oof 从 Powershell 创建 Outlook 规则
- python - 如何将麦克风连接到 Windows 10 上的 Docker 应用程序并将输出保存到我的本地目录?
- c++ - 向量元素到字符串
- flutter - 我正在尝试将 Future 的返回值传递给 Flutter-Dart 移动应用程序中的方法映射,但无法映射。没有为“未来”定义方法“地图”
- c# - dotnet-run 命令未按预期工作