![](https://img-blog.csdnimg.cn/20201014180756913.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据结构
文章平均质量分 60
DU777DU
本人是西安科技大学准毕业生,目前还是一个新手,请大家多多指教
展开
-
B树系列原理
特征1. B树是一棵 多叉 && 平衡 && 搜索 树(B树中每个节点可以有多个Key,也有多个孩子)2. B树的每个节点在实现时都要人为规定Key的上限(KEY_LIMIT = ?)3. B树每一个节点中的Key都是按照Key的大小顺序保存的(线性结构)4. B树中所有路径(从根到叶子)的长度完全一样5. B树的高度增长是由分裂导致的,是朝上生长的,一旦高度变化所有子树的高度同一变化6. 节点中Key的个数记为size,则child的个数一定是s..原创 2021-09-04 19:16:39 · 400 阅读 · 0 评论 -
红黑树原理
特征红黑树是 “平衡” && 搜索 && 二叉树“平衡”:相较于AVL树来说,红黑树是一种“弱平衡” 定义:红黑树中,任意根到叶子结点的路径中,LEN(max) <= 2 * LEN(min)红黑树5条规则:①红黑树中的节点:或红或黑②根节点一定是黑色的③“叶子结点”一定是黑色的(红黑树的叶子为null)④红黑树中,任意路径(根到节点)中,红色和红色不能相邻⑤红黑树中,任意路径(根到节点)中,黑色节点的数量...原创 2021-09-04 16:28:55 · 428 阅读 · 0 评论 -
AVL树原理
特征AVL树是 平衡 && 搜索 && 二叉树1. 搜索树中序遍历一定是有序的,并且按照key的大小顺序排列任取节点,left.key < root.key < right.key2. AVL树中平衡的定义任取节点,要求 节点左子树的高度 和 节点右子树的高度 的高度差的绝对值不能超过 1平衡因子(Balance Factor / BF):bf就是节点的左右子树高度差,node.BF= H(node.left) - H(..原创 2021-09-04 15:45:55 · 339 阅读 · 0 评论 -
设计循环队列
描述:设计你的循环队列实现。 循环队列是一种线性数据结构,其操作表现基于 FIFO(先进先出)原则并且队尾被连接在队首之后以形成一个循环。它也被称为“环形缓冲器”。循环队列的一个好处是我们可以利用这个队列之前用过的空间。在一个普通队列里,一旦一个队列满了,我们就不能插入下一个元素,即使在队列前面仍有空间。但是使用循环队列,我们能使用这些空间去存储新的值。你的实现应该支持如下操作:MyCircularQueue(k): 构造器,设置队列长度为 k 。Front: 从队首获取元素。如果队列为原创 2021-08-03 10:02:25 · 145 阅读 · 0 评论 -
中缀表达式转后缀表达式简单的手写方法
1. 中缀表达式转后缀表达式简单的手写方法注:只限于选择题,计算机不认识这个hhhh~~(1)先看乘除再看加减,把运算都加上括号(2)把括号内的运算符依次(从内到外)后移到括号外面(3)去掉所有括号即可得到后缀表达式上个栗子:2. 后缀表达式运算方法:利用栈(1)遇到数字就依次往栈里放(2)遇到运算符就依次从栈顶取两个元素,用当前运算符运算,结果再次放回栈顶(3)重复上面两个步骤举个栗子:(1)遇到数字就依次往栈里...原创 2021-08-03 09:51:11 · 327 阅读 · 0 评论 -
数据结构:栈
栈(Stack)1. 概念栈:一种特殊的线性表,其只允许在固定的一端进行插入和删除元素操作进行数据插入和删除操作的一端称为栈顶,另一端称为栈底栈中的数据元素遵守后进先出LIFO(Last In First Out)的原则压栈:栈的插入操作叫做进栈/压栈/入栈,入数据在栈顶出栈:栈的删除操作叫做出栈。出数据在栈顶栈的常用方法:方法 解释 E push(E item) 压栈 E pop() 出栈 E peek() 查看栈顶元素 ..原创 2021-08-03 09:52:40 · 550 阅读 · 0 评论 -
数据结构:队列
队列(Queue)1. 概念队列:只允许在一端进行插入数据操作,在另一端进行删除数据操作的特殊线性表队列具有先进先出FIFO(First In First Out)入队列:进行插入操作的一端称为队尾(Tail/Rear)出队列:进行删除操作的一端称为队头(Head/Front)2. 链表队列实现:队列也可以数组和链表的结构实现,使用链表的结构实现更优一些,因为如果使用数组的结构,出队列在数组头上出数据,效率会比较低class Node { in.原创 2021-08-03 09:52:54 · 137 阅读 · 0 评论 -
数据结构十大排序算法+二分查找(左程云 左神版 全文2W字+ word很大,你忍一下~~)
这是我在b站上2021最新左神数据结构算法全家桶这个视频上学习的排序算法,感觉挺不错的在这里和大家分享一下1. 选择排序1.1 选择排序的思想参考左神画的图:(1)从头(下标0位置)遍历一遍数组找到最小值,和下标位0位置上的数据交换,此时0位置的数据就固定是最小值了(2)从下标1位置开始(0位置已经固定就不用考虑了)再次遍历一遍数组,找到最小值,和下标为1位置上的数据交换,此时1位置的数据也就固定了(3)从下标2位置开始(0、1位置都已经固定)再次遍历一遍数组,找到最小值,和下标原创 2021-07-25 17:11:14 · 4175 阅读 · 57 评论 -
数据结构之顺序表与链表(多【骚】图预警)
目录1. 线性表2. 顺序表2.1 概念及结构2.2 接口实现2.3 顺序表的问题及思考3. 链表3.1 链表的概念及结构3.2 链表的实现4. 顺序表和链表的区别和联系1. 线性表线性表(linear list)是n个具有相同特性的数据元素的有限序列。线性表是一种在实际中广泛使用的数据结构常见的线性表:顺序表、链表、栈、队列、字符串... 线性表在逻辑上是线性结构,也就说是连续的一条直线。但是在物理结构上并不一定是连续的,线性表在物理上存..原创 2021-07-23 13:28:33 · 212 阅读 · 9 评论