首页
首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
数据结构之美
tfzh2017
创建于2022-03-19
订阅专栏
主要用C语言实现的常见数据结构
暂无订阅
共6篇文章
创建于2022-03-19
订阅专栏
默认顺序
默认顺序
最早发布
最新发布
数据结构与算法: 堆 优先队列 JavaScript语言描述
我在很早之前的文章里,分享过有C语言手撸一个基于数组实现的最大堆,所以堆的基本实现思路和方法,不再赘述。今天就用`JavaScript`描述一个最小堆,其实是基于最小堆的优先队列。
数据与结构与算法: 堆 C语言描述
用数组实现最大/小堆,有两种方式,一种是Array[0]不存实际值,另一种是Array[0]存实际值。 第二种的话,数组长度等于堆结点数,因为[0]是根结点的,对于i的左右子结点为2i + 1和2i + 2,父节点为i/2。
数据与结构与算法: 红黑树 C语言描述
这里与AVL树不同的地方在于,AVL树的插入后,通过递归将高度自底向顶传递,插入完成后再自顶向低的检查恢复平衡性。 而红黑树每插入一个节点后,尚未平衡前,单单通过原树的根节点是无法判断平衡的,当然也可以自顶向低遍历来找出待平衡的节点,但这样子做是很低效的,故而用一个全局变量储存…
数据结构与算法: 二叉搜索树 C语言描述
1. 目标:实现一个简易二叉搜索树 2. 构建二叉搜索树 3. 二叉搜索树查找 4. 二叉搜索树删除 被删除节点无子结点,那么直接删除该节点就好了。例如图中的0001,0005,0009,0014,0020。 被删除节点只有一个左节点,例如图中的0025,那么删除该节点,把左节…
数据结构与算法: 哈希表 C语言描述
1. 目标:实现一个简易哈希表 2. 代码实现
数据与结构与算法: AVL树 C语言描述
C语言实现AVL平衡二叉树 1 结构体 1.1 结构体 1.2 头文件及其他 2 旋转 2.1右单旋 2.2左单旋 2.3左右旋 2.3右左旋 3 自平衡 4 插入节点 5 删除节点 5.1 查找最大