搜索
查看
编辑修改
首页
UNITY
NODEJS
PYTHON
AI
GIT
PHP
GO
CEF3
JAVA
HTML
CSS
搜索
AllinToyou
这个屌丝很懒,什么也没留下!
关注作者
热门标签
jquery
HTML
CSS
PHP
ASP
PYTHON
GO
AI
C
C++
C#
PHOTOSHOP
UNITY
iOS
android
vue
xml
爬虫
SEO
LINUX
WINDOWS
JAVA
MFC
CEF3
CAD
NODEJS
GIT
Pyppeteer
article
热门文章
1
【自然语言处理】Transformer中的一种线性特征
2
在Android Studio上使用Monkey工具对安卓应用进行压力测试_android monkey
3
android adb使用_android adb print storage path
4
基于html+js实现轮播图_html + javascript 轮播图
5
ChatGPT提示词大赏:GPT Prompts Hub 2024年最新ChatGPT提示词项目_chatgpt提示词大赏:gpt prompts hub 2024年最新chatgpt提示词项目 作
6
ubuntu 分区 方案_ubuntu分区
7
【ubuntu】安装 Anaconda3_anaconda3 ubuntu
8
重磅消息!ChatGPT最新绘画编辑功能!一句话就能PS图片!
9
特征选择的方法:包裹法之递归特征消除
10
linux dns配置srv记录,DNS之SRV记录
当前位置:
article
> 正文
Java实现的插入法建立B+树_java bijiashu
作者:AllinToyou | 2024-05-31 12:06:37
赞
踩
java bijiashu
我所实现的B+树是有关于《数据库系统实现》上的B+书算法的实现。利用插入法,我构建出了一个以long型数据作为键值,以Object型数据为指针的B+索引树。
有关我的程序的说明:
(1)元组数量的取值范围的含义是:本程序中我要生成“要建立元组数”那么多个元组(这里我用Student类代替)并写入文件。每个元组的键值是一个随机长整数(不重复),数量的取值范围其实是指“随机生成的键值的最大值”
(2)要建立的元组数顾名思义,也指代B+树的叶节点的数量(因为每个叶都存放一个指向元组的文件指针)[说明:因为我用RandomAccessFile来存储元组,所以元组的文件指针实际上是一个Long型的数字]
(3)每个节点能容纳的键数量--不懂得看看B+树的定义
(4)桶的数量:引入桶的目的是因为可能要生成很多个不重复的键值,要解决不重复的问题,传统的比较方法时间消耗非常大(O(N)的),引入适量的桶可以加快查找比较的时间。我使用HashSet作为桶,以实现快速建立多个不重复的键值。(当然,要是生成键值少的话就不需要很多桶了--关于桶的概念请查阅向关资料)
(5)文本框中的值是我测试使用的初始值,当你点“复位”的时候,将显示我们老师要求的数值
(6)“要查找的键值”指,你输入一个键值,程序将在书中寻找,并在文本框中给出查找路径(打印出所经过的节点的内容),最后给出你所输入的键值在不在者棵树中。
(7)程序在使用时一定要使用我给的bat文件打开,因为这样可以打开控制台(命令行),因为生成后的树中的键值信息和树的层次信息将在命令行显示。
有关的B+树插入知识:
插入原则上是第归的:(1)设法在适当的叶节点中为新建找到空闲空间,如果有的话,就把键值放在哪里,(2)如果在适当的叶节点中没有空间,就把该叶节点分裂成两个,并且把其中的键分到这两个新节点中,使每个新节点有一半或刚好超过一半的键。(3)某一层的节点分裂在其上一层看来相当于是要在这一较高的层次上插入一个新的键-指针对。因此,我们可以在这一较高层次上第归测试用这个插入策略:如果有空间,就插入;反之则分裂这个入节点且继续相熟的高层推进。(4)例外的情况是,如果试图插入键到跟节点中并且跟节点没有空间,就分裂跟节点成两个节点,在更上一层创建一个新的跟节点。这个新的跟节点有两个刚分裂成的节点作为他的子节点。
友情提示:我的所有代码由JB9生成,压缩包中将附工程文件。由于最近在看《重构》,所以代码中有些风格是从里面学的,但是目前还学艺不精,有点不伦不类,请见谅。我的全部代码放在我的邮箱,要用的到那里去下载,各位抱歉,不会上传图片,大家下载到程序之后就可以看到了:〉
gondam_f91@163.com
密码是012401030
如果程序有BUG,或者看官有什么好的建议,欢迎回复,或发邮件到我的邮箱,我会很乐意与你讨论的。
声明:
本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:
https://www.wpsshop.cn/w/AllinToyou/article/detail/652220
推荐阅读
article
java
平衡
树
算法_
平衡
二叉
排序
树
算法
java
...
packagecom.utils;import
java
.util.Iterator;import
java
.util.No...
赞
踩
article
[
AIGC
]
Java
CompletableFuture
:简介及
示例
...
Java
中的实现了Future和接口,是对Future的补充和增强。在原生的Future中,我们只能通过get方法来获...
赞
踩
article
java
-springboot基于
机器
学习
得
心脏病
预测
系统
的设计与实现-计算机毕业设计_
java
机...
基于
机器
学习
得
心脏病
预测
系统
前台主要功能有心脏疾病详情功能、报警功能、预警报警功能、心脏疾病上报功能、监测与监测个性化功...
赞
踩
article
Java
-
Stream
流式编程...
Java
Stream
流式编程
Java
-
Stream
流式编程 ...
赞
踩
article
java
npe
是
什么
_
NPE
问题(一)...
最近在看Java
_
manual.pdf,其中有一点值得反思:“防止
NPE
,
是
程序员的基本修养。”
NPE
(Null Po...
赞
踩
article
java
-
web3
j库交互
智能
合约
_
使用
java
事项
web3
合约
...
首先将最新版本的
web3
j安装到项目中。当不需要Web3j实例时,需要调用。方法来释放它所
使用
的资源。_
使用
java
事项...
赞
踩
article
java
web
start
launcher
,
Java
版本
7u45
(NPE)后
Java
web
s...
Our
java
application is launchend via
java
web
start
(with g...
赞
踩
article
【
Java
数据结构
】
单链
表
与
OJ
题_
java
数据结构
节
单链
表
练习...
本期主要讲解:1、什么是链
表
?2、实现一个单向非循环链
表
2.1 实现前的约定2.2 addFirst 方法2.3addL...
赞
踩
article
【Java】
数据结构
---
二叉树
详解_先序
遍历
为
efhigjk
,中序
遍历
为
hfiejkg
...
数据结构
---
二叉树
_先序
遍历
为
efhigjk
,中序
遍历
为
hfiejkg
先序
遍历
为
efhigjk
,中序
遍历
为hfiejk...
赞
踩
article
Spring
boot
3
链接
Redis
遇到的报错(本文仅记录保存,优质文章移步
spring
boot
专...
参数,修改这个参数对应的数值(我的因为是通过命令行操作设置的密码,所以在配置文件里面发现这个参数是注释掉的,后来取消注释...
赞
踩
article
电销
机器人
源码
支持私有云和本地部署
_
智能
外呼
电话
机器人
源码
java
...
通过此接口可以实现拨打
电话
播放语音验证码完成后的回调。"description": "操作成功."通过此ID可以查询对应...
赞
踩
article
N
皇后
问题
(
java
)_用栈解决
n
皇后
问题
,
请用
java
代码
实现
...
n
皇后
问题
是一个以国际象棋为背景的
问题
:在
n
×
n
的国际象棋棋盘上放置
n
个
皇后
,使得任何一个
皇后
都无法直接吃掉其他的
皇后
,...
赞
踩
article
N
皇后
问题
(
java
)_多
皇后
问题
...
N
皇后
问题
(
java
)一、递归法(有局限性,
N
太大可能导致栈溢出)package com.lxf.demo03;impo...
赞
踩
article
[
LeetCode
] 51. N
皇后
(
java
实现)
dfs
_
n
皇后
问题
dfs
java
...
[
LeetCode
] 51. N
皇后
(
java
实现)
dfs
1. 题目2. 读题(需要重点注意的东西)3. 解法4. 可...
赞
踩
article
N
皇后
问题
【
java
】【
回溯
法
】_
回溯
法
求
n
皇后
问题
java
...
N
皇后
问题
【
java
】【
回溯
法
】N
皇后
问题
概述N
皇后
问题
java
代码解析N
皇后
问题
概述要想解决
n
皇后
问题
,首先要明白什么...
赞
踩
article
【困难】N
皇后
问题
-
Java
:解法
一
_
java
n
皇后
问题
是指
在
n
*
n
的
棋盘上要摆
n
个
皇...
package live.every.day.Programmi
n
gDesig
n
.Codi
n
gI
n
terviewGuid...
赞
踩
article
n
皇后
问题
java
代码
蓝桥
杯《
算法
很
美
》_
算法
很
美
java
...
n
皇后
问题
java
代码
蓝桥
杯《
算法
很
美
》_
算法
很
美
java
算法
很
美
java
...
赞
踩
article
Java
——N
皇后
问题
_n
皇后
问题
java
...
按照国际象棋的规则,
皇后
可以攻击与之处在同一行或同一列或同一斜线上的棋子。n
皇后
问题
研究的是如何将 n 个
皇后
放置在...
赞
踩
article
n
皇后
问题
(回溯法
java
)...
问题
描述:
n
皇后
问题
研究的是如何将
n
个
皇后
放置在
n
×
n
的棋盘上,并且使
皇后
彼此之间不能相互攻击,即任意两个
皇后
...
赞
踩
article
回溯
法
:N
皇后
问题(
Java
)...
能完整放满所有行的放
法
就是最优的,将其打印,当处理完第一行所有列的
皇后
放
法
后,就相当于找完了所有的放
法
。思路:首先要创建...
赞
踩
相关标签
java平衡树算法
AIGC
java
python
开发语言
后端
java npe是什么
web3
智能合约
java web start launcher
数据结构
链表
算法
redis
bootstrap
数据库
机器人
servlet
人工智能
语音识别
蓝桥杯
职场和发展