当前位置: 首页 > ai >正文

算法C实现--第16章习题集-外部查找

持续更新中

16.7 Give the height of the B trees that result when you insert the keys 562, 221, 240, 771, 274, 233, 401, 273, 201 in Exercise 16.28 in that order into an initially empty tree, for each value of M > 2 M > 2 M>2.

Exercise1607

目标:直观上感受下B树高度和节点数、阶数之间的关系。

理论关系:
log ⁡ M N ≤ H ≤ log ⁡ M / 2 N \log_{M}N\leq H \leq\log_{M/2}N logMNHlogM/2N
这个公式告诉我们,树高与 M M M 的对数成反比。当 M M M 越大,树能够容纳的键越多,树高就越低。

运行结果

M = 3, 插入完成,节点总数 N = 9,B 树高度 H = 3
M = 4, 插入完成,节点总数 N = 9,B 树高度 H = 2
M = 5, 插入完成,节点总数 N = 9,B 树高度 H = 1
M = 6, 插入完成,节点总数 N = 9,B 树高度 H = 1
M = 7, 插入完成,节点总数 N = 9,B 树高度 H = 1
M = 8, 插入完成,节点总数 N = 9,B 树高度 H = 1
M = 9, 插入完成,节点总数 N = 9,B 树高度 H = 1
M = 10, 插入完成,节点总数 N = 9,B 树高度 H = 0

汇总分析:

M理论最小高度 log ⁡ M N \log_M N logMN理论最大高度 log ⁡ M / 2 N \log_{M/2} N logM/2N实际高度 H
3 log ⁡ 3 9 = 2 \log_3 9 = 2 log39=2 log ⁡ 1.5 9 ≈ 4.82 \log_{1.5} 9 \approx 4.82 log1.594.823
4 log ⁡ 4 9 ≈ 1.58 \log_4 9 \approx 1.58 log491.58 log ⁡ 2 9 ≈ 3.17 \log_2 9 \approx 3.17 log293.172
5 log ⁡ 5 9 ≈ 1.37 \log_5 9 \approx 1.37 log591.37 log ⁡ 2.5 9 ≈ 2.32 \log_{2.5} 9 \approx 2.32 log2.592.321
6 log ⁡ 6 9 ≈ 1.22 \log_6 9 \approx 1.22 log691.22 log ⁡ 3 9 = 2 \log_3 9 = 2 log39=21
7 log ⁡ 7 9 ≈ 1.12 \log_7 9 \approx 1.12 log791.12 log ⁡ 3.5 9 ≈ 1.93 \log_{3.5} 9 \approx 1.93 log3.591.931
8 log ⁡ 8 9 ≈ 1.05 \log_8 9 \approx 1.05 log891.05 log ⁡ 4 9 ≈ 1.58 \log_4 9 \approx 1.58 log491.581
9 log ⁡ 9 9 = 1 \log_9 9 = 1 log99=1 log ⁡ 4.5 9 ≈ 1.47 \log_{4.5} 9 \approx 1.47 log4.591.471
10 log ⁡ 10 9 ≈ 0.95 \log_{10} 9 \approx 0.95 log1090.95 log ⁡ 5 9 ≈ 1.37 \log_5 9 \approx 1.37 log591.370
http://www.xdnf.cn/news/14097.html

相关文章:

  • 从事算法工作对算法刷题量的需求
  • 0到1案例演示 vue + axios 请求 springboot 的 restful 风格接口(前后端分离+跨域问题)
  • k8s的开篇学习和安装
  • 1.0 前言(Python系列教程)
  • 深入解析JVM字节码执行引擎
  • 基于GNU Radio Companion搭建的FM信号及数字通信
  • python: wxpython 4.2 开发一个邮件客户端,能编写邮件,发送邮件及附件
  • Ubuntu中Chromium无法使用Fcitx输入中文的问题
  • PySpark 使用pyarrow指定版本
  • cesium入门
  • 剖析电商搜索要点并基于Es+Redis模拟电商搜索行为
  • Flink task、Operator 和 UDF 之间的关系
  • 【系统分析师】2009年真题:案例分析-答案及详解
  • HQL 优化:从低效到高效的蜕变之旅
  • Python 函数
  • UE5反射系统分析(一)generated.h
  • 日本生活:日语语言学校-日语作文-沟通无国界(1)-题目:假装写日记
  • 【精选】计算机毕业设计SpringBoot车辆保险理赔平台 保险登记 出险申报 理赔审核进度管理系统源码+论文+PPT+讲解
  • 拆解 CMS/G1/ZGC 三种垃圾回收器算法过程
  • 228永磁同步电机无速度算法--基于双重锁相环的滑模观测器
  • 【FineDance】ModuleNotFoundError: No module named ‘pytorch3d‘
  • 时间序列数据库技术深度解析:核心原理与最佳实践
  • Windows安装部署jenkins
  • YOLOv8分类的三种C++实现:opencv dnn/libtorch/onnxruntime
  • 【编译原理】第九章 运行时存储
  • 2025-06-14【视觉】批量筛选图集中包含某种物体对象的方法
  • Spring Framework 执行链路设计
  • PC 基准测试工具 3D Mark 登陆 macOS
  • Boost dlib opencv vs2022 C++ 源码安装集成配置
  • Missing Semester计算机教育中缺失的一课:Vim