首页
首页
沸点
课程
直播
活动
竞赛
商城
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
数据结构与算法
剪刀石头布啊
创建于2021-05-19
订阅专栏
用c语言的形式介绍了数据结构和算法
等 3 人订阅
共20篇文章
创建于2021-05-19
订阅专栏
默认顺序
默认顺序
最早发布
最新发布
数据结构与算法----红黑树
性质1:每个节点要么是黑色,要么是红色。 性质2:根节点是黑色。 性质3:每个叶子节点(NULL)是黑色(由于数据结构基础特征,实际叶子节点下都会多出来一个NULL节点,当做黑色处理,或者当不存在)。 性质4:每个红色结点的两个子结点一定都是黑色。 性质5:任意一结点到每个叶子…
数据结构与算法----平衡二叉树(AVL树)
简介 平衡二叉树,又称为AVL树,为了优化排序二叉树极端情况(从小到大或从大到小插入,呈现链状)而衍生出来的结构 特点 1.基于排序二叉树 2.任意节点的左右子树的高度差都小于2 因此,同排序二叉树一
数据结构与算法----二叉树的旋转
简介旋转是当增删处理完成之后,无法自平衡的最终解决手段,平衡二叉树和红黑树都会用到,这里单独分一章节介绍,方便理解旋转一共有两种:左旋、右旋,为对称效果,理解一个另一个即理解节点基础数据结构如下左旋左
数据结构与算法----树表查询与二叉排序树
树表查询简介 常见的树表查询算法为,二叉排序树(BST)、平衡二叉树(AVL)、红黑树、B树、B+树、B*树等 参考思维导图,这里循序渐进,逐渐介绍到红黑树即可,其他的可参考前面二叉排序树基本思想加以
数据结构与算法----散列表(哈希表)
顺序表的物理地址是连续的,查询对应索引的数据时,效率非常高,即:利用偏移量一次访问到实际数据 散列表(哈希表)原理:创建顺序表保存数据,通过一系列散列函数(又称哈希算法),实现关键字转化顺序表索引
数据结构与算法----顺序查询、二分查询和索引(分块)查询
前言常用的有序序列查询方法:顺序查询、二分查询、索引查询(分块查询)、散列表查询(哈希表查询)、树表查询注意:这里的哈希表指的是标准的哈希表,外面谈论的哈希集合不少都是散列表(哈希表)和树表结合所致本
数据结构与算法----十大经典排序
十大经典排序分别为直接插入排序、希尔排序、起泡(冒泡)排序、快速排序、直接选择排序、堆排序、归并排序、计数排序、桶排序、基数排序
数据结构与算法----关键路径
关键路径是指工程项目从开始到结束经过的耗时最长的逻辑路径,因此优化关键路径是一种提高工程项目有效方法。 关键路径基于拓扑排序,且引出了以下四个概念。 Ve(j):表示事件(顶点)的最早开始时间,
数据结构与算法----拓扑排序
拓扑排序是非闭环图存在的线性解,由入度为0的节点开始进行遍历,结果非唯一 入度:多少个顶点指向自己,或者自己前面有多少个顶点指向自己 出度:自己指向多少个顶点,或者自己后面指向多少个顶点 活动:
数据结构与算法----单资源最短路径与两点间最短路径
最短路径分为单资源最短路径和两点间最短路径,其分别采用Dijkstra(迪杰斯特拉)、Floyd(弗洛伊德)算法来实现。 使用Dijkstra算法若想求出他们之间的最短路径,需要找到该顶点到其他顶点中距离最短的,然后该“最短顶点”(最短边),不停的更新到其他顶点的最短距离,然后…
数据结构与算法----最小生成树
最小生成树:一个有 n 个结点的连通图的生成树是原图的极小连通子图,且包含原图中的所有 n 个结点,并且有保持图连通的最少的边
数据结构与算法----图以及储存方式简介
平时使用的比较多。
数据结构与算法----堆
堆的特性: 1.堆分为大头堆和小头堆,因此,堆中某个节点的值总是不大于或不小于其父节点的值 2.堆总是一棵完全二叉树 从上可以推出,堆的最大节点(大头堆)或者最小节点(小偷对)尽可能靠拢根节;,另一个
数据结构与算法----哈弗曼树与编码
实现哈夫曼编码的方式主要是创建一个二叉树和其节点。这些树的节点可以存储在数组里,数组的大小为符号数的大小n,而节点分别是终端节点(叶节点、基础节点)与非终端节点(内部节点、根据哈夫曼算法后生成的节点)。 基本上,我们用'0'与'1'分别代表指向左子节点与右子节点,最后为完成的二…
数据结构与算法----线索二叉树
线索二叉树的特征就是 利用空子节点来标记其前驱后继,从而实现优化,如下图所示,红色箭头为正常父子关系,蓝色箭头为线索。 看了上面,可能会注意到用线索二叉树的时候提到的是中序线索二叉树,于此并列存在前序线索二叉树和后序线索二叉树,根据遍历顺序不同,线索的前驱和后继也会有所不同。例…
数据结构与算法----二叉树的储存和生成
二叉树的储存就是把一个二叉树结构,这里保存到一个线性数组中方便储存,利用上面总结出来的特性,以根节点索引为0,递归地按照对应索引找到其两个子节点,存放到数组中对应位置。如果为空的子树,由于那部分数据不会往数组存放,所以数据则为0(或者为空) 二叉树的生成同储存相似,通过上面的规…
数据结构与算法----树与二叉树遍历
树由根结点和若干颗子树构成。每个元素称之为节点,最顶部节点成为根节点,底部没有子节点的节点称为叶子节点,如下图所示
数据结构与算法----栈和队列
因此如果入队和出队比较频繁的话,那么出队会造成数组前面的空闲空间很多,却无法使用的情况,实属浪费,因此引出环形结构队列。
数据结构与算法----顺序表和链表
顺序表 顺序表不仅在逻辑上上是连续的,并且物理地址上连续的,就像下面的图一样,每一块物理地址都是紧紧挨着的,且存在线性关系 因此实际取值是不需要一个一个查找,可以直接通过索引计算偏移值,直接获取到对应
数据结构与算法--前言
简介一个程序由数据结构够和算法组成,那么想作为一名合格的程序员基本的数据结构和算法还是要掌握的,他能协助你在日后的开发中开拓思路,提高不少效率代码都是由基础的c语言编写而成,难理解部分也都带有相关注释