
linux 后台学习笔记
文章平均质量分 68
dai1396734
这个作者很懒,什么都没留下…
展开
-
理解B树的设计与定义
1、索引多到内存存不下的时候,需要把索引存储到磁盘,如果层高过高会导致对磁盘访问次数增多在多叉树的基础上要求所有叶子节点在一个层高B树定义:一颗M阶B树T,满足以下条件每个结点至多拥有M课子树根结点至少拥有两颗子树除了根结点以外,其余每个分支结点至少拥有M/2课子树所有的叶结点都在同一层上有k课子树的分支结点则存在k-1个关键字,关键字按照递增顺序进行排序关键字数量满足ceil(M/2)-1 <= n <= M-1B树中所有节点的孩子节点数中的最大值称为B树的阶,记为M(原创 2021-12-15 16:21:30 · 935 阅读 · 0 评论 -
环形数组(ringbuffer)
一:环形数组1、概念**百度百科:**是一种用于表示一个固定尺寸、头尾相连的缓冲区的数据结构,适合缓存数据流**个人理解:**本身就是一个定长数组,在存储数据时,达到存储上限时会从0继续存储,也就是他在存储数据时是个闭环的过程,举个例子:如下图,假设是个 大小为9字节的数组,当存满了9个字节的数据时,在存入字节时就会从0开始存储,环形数组也称ringbuffer2、优势首先是一个先进先出的队列,当取走数据时不需要移动数组中的其他元素,在单消费者单生产者的模型下,不需要加锁,可以更快的存取数据。原创 2021-11-19 17:02:03 · 8840 阅读 · 1 评论 -
mysql connector--c++ 安装
Access denied for user ‘root’@‘localhost’方式一:#sudo 强行登录sudo mysql#替换密码,账号依然是root#insert_password 填自己的密码,密码有一定的要求,大小写字母数字和标点符号#注意最后的 符号";"ALTER USER ‘root’@‘localhost’ IDENTIFIED WITH mysql_native_password BY ‘insert_password’;方式二:找不到my.cnf查找find原创 2021-08-26 17:35:02 · 3042 阅读 · 1 评论 -
mysql connectorc++ 基础教程(一)
官方教程原创 2021-08-26 17:27:29 · 6330 阅读 · 0 评论 -
tcp/ip的简单理解
一:字节传输在网络中通信的基础单位是字节,1字节(byte) = 8位(bit),这里的bit就是一种数字信号,对应着实际电路中高低电平,举个很通俗易懂的例子:A端为一个开关,B端为一个灯泡,假设定义灯泡“亮”状态为1,“灭”状态为0,如果A端按了8次开关分别是:开、关、开、关、开、关、开、关,那么B端这段时间对应的状态就是“10101010”,如果在A端在加个转换器能将数字“10101010”转换为电路的“开关开关开关开关”,那么就相当于A端把数据“10101010”发送到了B端,图示只是说明了A端原创 2021-07-23 16:29:58 · 1712 阅读 · 2 评论 -
简单描述时间轮
时间轮作用也是用来作定时器触发任务,只是他更高效,时间复杂度为O(1)。运行原理为了方便理解我们参考钟表的形式,它分为3个层次:时、分、秒,只有秒钟在运动同样的,时间轮也分为多层,同样的只有第一层在运动,举个简单的4层时间轮例子(如下左图),我们假设最小计时单位为1(姑且理解为秒),用time来计时,初始为0,随着time递增,则:我们可以知道 time 应该落在第一层的位置int first_index = time%5当 first_index == 0,也就是第一层轮巡完毕,就需要将原创 2021-07-07 16:35:20 · 3013 阅读 · 0 评论 -
最小堆数据结构与定时器实现
最小堆最小堆的定义1、是一棵满二叉树2、子树也是一棵满二叉树3、左右节点的值都比当前节点的大从定义可知,根节点是树中的最小值,最小堆一般用链表存储,父子节点的关系,用纯数学的关系表示为:假设当前节点的在链表中的索引为n,左子节点为2n+1 ,右子节点为2n+2...原创 2021-06-29 18:45:57 · 804 阅读 · 0 评论 -
红黑树的实现及源码
红黑树是基于二叉搜索树来的,在增加和删除后,增加了颜色平衡调整。思路可参考:红黑树与二叉搜索树c++源码 与 qt图形化显示:二叉搜索树和红黑树的源码实现git仓库中:rbTress分支为红黑树实现master分支为二叉搜索树的实现以rbTress为准,初步测试没什么大问题,但是没有经过大量测试,并不排除代码中的bug...原创 2021-05-29 11:22:28 · 223 阅读 · 0 评论 -
二叉搜索树的实现
定义节点节点的定义比较简单,需定义好 索引key,左右子节点,父节点以及用户想要保存的自定义数据template <typename T>class Node{public: Node(int key,T t,Node* left,Node *right,Node *parent){ this->t = t; this->key = key; this->left = left; this->原创 2021-05-21 15:17:28 · 270 阅读 · 0 评论 -
epoll创建一个简单的tcp服务端
一:原理参考大神的吧 二:实现和select差不多的逻辑1、创建监听套接字,并开启监听2、创建epoll3、将监听套接字加入epoll4、等待事件到来,5、轮询监听事件队列,如果监听的事件的fd是服务器监听的socket,则将接入的客户端的socket fd加入epoll,不是则处理客户端的业务逻辑6、下一轮监听#include <iostream>#include <sys/socket.h>#include <sys/types.h>#i原创 2021-03-10 21:03:25 · 307 阅读 · 0 评论 -
select创建一个简单的服务器
一:原理select实现了一个多路复用的概念,那么何为多路复用,简单理解就是可以把多个分散的IO事件(读,写,error)集中到一个地方处理,就网络而言,通过select,可以将多个客服端的socket加入一个集合,然后轮询这个集合查找你感兴趣的事件二:用处就网络而言,在服务器这层,当有多个客户端同时连接进服务器时,不必开多线程去接受连接,也不会出现单线程阻塞等待的情况三:使用第一步:创建一个监听socket第二步:创建一个fd集合第三步:将监听socket加入集合第四步:监听这个集合,如果原创 2021-03-10 20:27:19 · 273 阅读 · 0 评论 -
C++创建一个简单的tcp服务端
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录前言一、pandas是什么?二、使用步骤1.引入库2.读入数据总结前言提示:这里可以添加本文要记录的大概内容:例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。提示:以下是本篇文章正文内容,下面案例可供参考一、pandas是什么?示例:pandas 是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的。二、使用步骤1.引入库代码原创 2021-03-05 13:15:00 · 1190 阅读 · 0 评论