
初阶数据结构
文章平均质量分 62
全部凭借C语言实现的简单初阶数据结构
DarknessCor
不定期更新Unity游戏开发或者是C++编程语言的优质内容
展开
-
二叉树之推排序(升序)
首先,如果要完成升序,那我们可以建立一个大堆,因为大堆可以选出一个最大的值放在堆的最上面,我们就可以根据每次选出一个最大值来进行排序的做法.值得一说的是,如果给定一个数组,让进行建堆排序操作的话,建立大堆可以有两种不同的过程,两种过程对应了不同的时间复杂度。与向上调整法不同的是,向下调整法开始的第一个节点是最后一个非叶子节点。原创 2023-11-28 23:04:25 · 493 阅读 · 0 评论 -
数据结构 栈(C语言实现)
称为栈顶,另一端称为栈底。栈中的数据元素遵守后进先出LIFO(Last In First Out)的原则。栈的实现一般可以使用数组或者链表实现,相对而言数组的结构实现更优一些。因为数组在尾上插入数据的代价比较小。栈:一种特殊的线性表,其只允许在固定的一端进行插入和删除元素操作。进行数据插入和删除操作的一端。压栈:栈的插入操作叫做进栈/压栈/入栈,入数据在栈顶。出栈:栈的删除操作叫做出栈。栈的压栈和出栈大概就是以下图解。原创 2023-11-12 23:42:58 · 366 阅读 · 0 评论 -
线性表的概念
线性表在逻辑上是线性结构,也就说是连续的一条直线。因为二叉树是树形结构,在逻辑上并不是逻辑上是线性结构,因此此题目选C.原创 2023-11-17 23:06:29 · 944 阅读 · 0 评论 -
二叉树的顺序结构及实现
普通的二叉树是不适合用数组来存储的,因为可能会存在大量的空间浪费。现实中我们通常把堆(一种二叉树)使用顺序结构的数组来存储,需要注意的是这里的堆和操作系统虚拟进程地址空间中的堆是两回事,一个是数据结构,一个是操作系统中管理内存的一块区域分段。如果有一个关键码的集合K = { , , ,…, },把它的所有元素按完全二叉树的顺序存储方式存储在一个一维数组中,并满足: <= 且 <= ( >= 且 >= ) i = 0,1,将根节点最大的堆叫做最大堆或大根堆,根节点最小的堆叫做最小堆或小根堆。原创 2023-11-24 00:14:59 · 220 阅读 · 1 评论 -
数据结构 队列(C语言实现)
队列:只允许在一端进行插入数据操作,在另一端进行删除数据操作的特殊线性表,队列具有先进先出FIFO(First In First Out) 入队列:进行插入操作的一端称为队尾 出队列:进行删除操作的一端称为队头。队列也可以数组和链表的结构实现,使用链表的结构实现更优一些,因为如果使用数组的结构,出队列在数组头上出数据,效率会比较低。原创 2023-11-12 23:43:34 · 1377 阅读 · 1 评论 -
二叉树的实现(纯C语言版)
/ 通过前序遍历的数组"ABD##E#H##CF##G##"构建二叉树。// 判断二叉树是否是完全二叉树。// 二叉树查找值为x的节点。// 二叉树第k层节点个数。// 二叉树叶子节点个数。// 二叉树节点个数。// 二叉树前序遍历。// 二叉树中序遍历。// 二叉树后序遍历。原创 2023-11-27 21:35:23 · 522 阅读 · 0 评论