B树、B+树插入删除 1 B树在介绍B+树之前, 先简单的介绍一下B树,这两种数据结构既有相似之处,也有他们的区别,最后,我们也会对比一下这两种数据结构的区别。 1.1 B树概念B树也称B-树,它是一颗多路平衡查找树。二叉树我想大家都不陌生,其实,B树和后面讲到的B+树也是从最简单的二叉树变换而来的,并没有什么神秘的地方,下面我们来看看B树的定义。 每个节点最多有m-1个关键字(可以存有的键值对)。 根节点最少可以只 2020-11-30 数据结构 #二叉树 #数据结构
计算机网络知识点提要 概述网络协议的要素 语法:数据与控制信息的结构或格式 。 语义:需要发出何种控制信息,完成何种动作以及做出何种响应。 同步:事件实现顺序的详细说明 分层的好处: 各层之间是独立的 灵活性好 结构上可分割开 易于实现和维护 能促进标准化工作 网络体系结构 信道利用率 U=TD/(TD+RTT+TA) 即:接收到第一个确认前尽可能发送最多的帧 令 D0 表示网络空闲时的 2020-11-28 计算机网络 #计算机网络
Servlet允许跨域访问(Ajax请求Servlet数据) 之前用Servlet写过一个用户信息管理的服务端程序,是用于安卓app上的HTTP请求,现在想把这个客户端部分内容在网页重现,尝试用Ajax请求url为“xxx.do”的数据发现不行,浏览器开发者模式提示不允许跨域访问。 于是在Java代码HttpServletResponse处添加如下代码,使用 CORS协议允许 Response 跨域。 12345678910/* 允许跨域的主机地址 */r 2020-09-21 js #js
哈夫曼树,编码解码 定义给定N个权值作为N个叶子结点,构造一棵二叉树,若该树的带权路径长度达到最小,称这样的二叉树为最优二叉树,也称为哈夫曼树(Huffman Tree)。哈夫曼树是带权路径长度最短的树,权值较大的结点离根较近。 树结构12345678910111213141516171819202122232425262728293031323334353637class Node{public: 2020-09-19 c++ #数据结构 #c++ #哈夫曼
堆的基本操作:插入元素、删除最大元素 最大堆结构定义12345678910class Heap{ vector<int> vec;//用向量来构造堆 public: Heap() {} ~Heap(){} void insert(int n);//插入 void erase();//删除最大值 void display();//按层 2020-09-19 c++ #数据结构 #c++ #堆
满二叉树、完全二叉树、平衡二叉树、堆、哈夫曼树的概念 一、满二叉树 一棵二叉树的结点要么是叶子结点,要么它有两个子结点(如果一个二叉树的层数为K,且结点总数是(2^k) -1,则它就是满二叉树。) 二、完全二叉树 若设二叉树的深度为k,除第 k 层外,其它各层 (1~k-1) 的结点数都达到最大个数,第k 层所有的结点都连续集中在最左边,这就是完全二叉树。 三、平衡二叉树 它或者是一颗空树,或它的左子树和右子树的深度之差(平衡因子)的绝对值 2020-09-19 数据结构 #二叉树 #数据结构
二叉搜索树的插入、删除节点 二叉树结构定义123456789101112131415161718192021struct Node{ int data=0; Node* parent=NULL; Node* lchild=NULL; Node* rchild=NULL; Node(int n) { data=n; }};class 2020-09-19 c++ #二叉树 #数据结构 #c++
二叉树的遍历(前序、中序、后序)*(递归、非递归)共6种 二叉树结构定义1234567891011121314151617struct Node{ int data=0; Node* parent=NULL; Node* lchild=NULL; Node* rchild=NULL; Node(int n) { data=n; }};class BinaryS 2020-09-19 c++ #二叉树 #数据结构
VSCode C++断点调试配置 之前一直使用VS2019调试c++程序,但是平时写得比较多的单个cpp文件也需要建一个VS项目给人的感觉有些冗杂,接触了VSCode之后就被它的轻量和高扩展性吸引了,是时候把断点调试功能也配置好,尽量不用VS2019了。 在这之前需要安装好MinGW,配置好环境变量。 然后安装这个插件 CodeLLDB 打开空文件夹,新建cpp文件,可以先设置好断点 点击创建launch.json文件,选择C 2020-09-18 软件安装配置 #软件安装配置 #c++
递归应用:汉诺塔、数制转换 汉诺塔如下图所示,从左到右有A、B、C三根柱子,其中A柱子上面有从小叠到大的n个圆盘,现要求将A柱子上的圆盘移到C柱子上去,期间只有一个原则:一次只能移到一个盘子且大盘子不能在小盘子上面,求移动的步骤和移动的次数 n == 1 第1次 1号盘 A—->C sum = 1 n == 2 第 2020-09-18 c++ #数据结构 #c++ #递归