────────────────────────────────────
推荐一个 零声学院 免费公开课程,个人觉得老师讲得不错,分享给大家:[Linux,Nginx,ZeroMQ,MySQL,Redis,fastdfs,MongoDB,ZK,流媒体,CDN,P2P,K8S,Docker,TCP/IP,协程,DPDK等技术内容,立即学习]
后台服务器:https://course.0voice.com/v1/course/intro?courseId=5&agentId=0
────────────────────────────────────

前言

今天天晴晴朗,惠风和畅,一切事情基本上已经尘埃落定。唯一的缺点就是我又要重新做起,要面对新的机遇,新的挑战。忽然想起一个高层的话,“多一物有多一物的烦恼,少一物有少一物的自在。”我拼尽全力争取的金钱、声誉也许根本就是一个幻象,而并非生命的全部,什么才是自己的生命所向往的东西呢?如果明天是deadline,那今天还会这般心态的活着吗?人生就是那么悲情,泽木兴难大师曾经说过,“我们终将赤裸裸的死去。”,丢掉心中的烦恼,轻装上阵,学好今天这节课吧!

三级存储

在这里插入图片描述

磁盘的存储为什么适合B+树呢?

为了方便我们减少寻址。

多叉树与B+树的区别?

  • 多叉树没有约束平衡
  • 没有约束子节点的数量
  • 数据是有规律的

B树不适合做范围查询

btree_node

//b+tree
#define M 6
typedef int KEY_TYPE;
struct btree_node{
	struct btree_node *chilldren[M];
	KEY_TYPE keys[M-1];
	int num;
	int leaf;
};
struct btree_node * btree_create_node(int t,int leaf)
{
	struct btree_node *node =(struct btree_node *)calloc(1,sizeof(struct btree_node));
	if(node==NULL) return NULL;
	node->num=0;
	node->keys=(KEY_TYPE*)calloc(1,(2*t-1)* sizeof(KEY_TYPE));
	node->children=(struct btree_node **)calloc(1,2*t*sizeof(struct btree_node *));
	node->leaf=leaf;
	return node;
};

总结

今天闲来无事,来学习磁盘存储链式的B树与B+树,后来实在感觉沉闷,无心听课,还是决定放弃了,感觉心里总是不踏实,也许这就是失业人士最大的感触吧,好想赚钱也好想上班~。算了,去拿qt写些代码,找点具体的事情做。

Logo

K8S/Kubernetes社区为您提供最前沿的新闻资讯和知识内容

更多推荐