
数据结构
文章平均质量分 58
东东7_7
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
简单理解B树和B+树
前言 前面我们说了红黑树,他是一种特殊的搜索树,但是由于他只是二叉树,所以这就导致他在大量的数据面前深度过高,同时会造成大量的磁盘空间浪费,所以我们又研究出来了B树和B+树 B树 他是人们早期的一种设计,他打破了二叉树的方式,它可以有多个分支,使得磁盘空间可以重分利用,同时减少了IO操作 定义: 结点最多有M颗子树,M-1关键字 除了跟结点和叶子结点处,他的每个结点至少有(M/2)个子节点,向上取整(分裂的时候分开,则至少两颗子树) 若根结点不是叶子结点,则至少有两颗子树 一颗标准的B树如下图 B-t原创 2021-03-04 22:11:52 · 180 阅读 · 2 评论 -
简单理解红黑树
前言 在计算机领域,数据的处理能力是非常重要的,查找作为一种对数据处理一个很重要的能力,我们就先来看看今天要说的红黑树 查找 说到查找我们很快就能想起来很多常用的查找方式,比如说遍历,二分查找,哈希等,其中我们知道哈希在一定情况下可以达到O(1)的时间复杂度,速度可谓是非常之快,但是他也有他的缺点就是不能范围查找,所以我们就来说说今天要说的红黑树。 二叉查找树 说到红黑树,我们不得不先说一下二叉查找树,因为红黑树是在他的基础上建立的,下图就是一颗二叉查找树 他有着以下特点 左子树的上的值永远小于或等于右原创 2021-03-04 10:21:12 · 162 阅读 · 1 评论 -
数据结构之二叉树
树的相关术语 节点:数的分支或者边缘的结合部 叶子节点:树的最边缘部分,没有分支的节点 分之结点:数的分支结合部 结点的度:从结点出发的分支个数 树的宽度/度:所有树中结点的度的最大值 树的高度/深度:距离根节点最远的叶子节点与根节点之间间隔的节点个数。 树的性质 有且仅有一个称为root的跟结点 其他结点都是不相交的结点子集 跟结点没有前驱 叶子结点没有直接后续 2.树的简化形式 ==》二叉树 性质:除过必须有树本身的性质外,还有如下特性。 二叉树必须有左右子树之分: 定义: 1、有限集合 2、互原创 2020-08-31 10:37:34 · 109 阅读 · 0 评论 -
数据结构之线性表
前言 线性表是我们平时经常用的一种数据结构,他最典型的就是数组,他的优势在于他的查找方便,但是对于增加和删除就显得不那么尽人意了 线性表的数据结构 define SIZE 100 typedef struct _list_ { datatype value[SIZE]; int n; }sqlist; 线性表的插入 int sqlist_into (sqlist *l,int num,da...原创 2020-02-15 12:54:03 · 88 阅读 · 0 评论 -
数据结构之链式栈
前言 链式栈是一种将链表和栈结合的数据结构,他有着栈的优点,也同时有着链表大小没有限制的优点,它里面的数据是由一个个节点所构成的 链式栈的数据结构 它是由是一个链表和一个栈组成,如图所示 typedef struct link_ { int data; struct link_ *next; }link; typedef struct lstack_ { link *head; int...原创 2020-02-15 12:26:05 · 326 阅读 · 0 评论 -
数据结构之概念,算法,线性表概述
前言 数据结构在我们编程的过程中是不可避免要遇到的,我们可以去通过学习而选择更高效的数据结构,进而减少我们对内存使用,带来更高的储存效率 基本概念 数据结构为数据,结构,基本操作的结合 数据 数据分为两类,分别为数值型数据和非数值型数据 数值型数据 为 flaot,int,char,long等等 非数值型数据 为文字,音频,视频,字符等 结构 结构是用于表示非数据型数据。分为逻辑结构和储存结构 逻...原创 2019-08-10 18:06:54 · 162 阅读 · 0 评论 -
数据结构之单链表
前言 在前面我们了解了线性表中的顺序表优点,顺序表可以将数放到一片连续的内存里且存储效率高,但是增加和删除效率很低,不可以增加长度,而今天的链表刚好解决了这些问题,链表在增加和删除中有着很高的效率,而且不像顺序表那样每删一个要顺序的移动 定义 链表是数据储存单元中非连续数据结构,数据的储存结构是通过指针链接依次实现的,链表由一系列结点组成。每个结点包括两个部分:一个是存储数据元素的数据域,另一个是...原创 2019-08-17 16:53:05 · 134 阅读 · 0 评论 -
数据结构与之栈
前言 栈是一种重要的数据结构,他可以允许在栈顶元素的输入和输出,他有着先入先出的特性,栈可以在函数的调用中做储存点,在递归运算中也大量的使用了 栈。 栈与线性表的关系 相同点:都是线性结构----前趋,后继,连续 不同点:栈具有固定的操作位置和操作方向 线性表是多样的操作位置和方向 同时要明确概念,栈顶,栈底,栈空,栈满 栈的数据结构 typedef int datatype; typedef s...原创 2019-08-31 00:17:21 · 175 阅读 · 0 评论