数据结构
文章平均质量分 77
分享数据结构知识
kqs__
这个作者很懒,什么都没留下…
展开
-
快速排序和归并排序的非递归形式
详细解释了快速排序 ,归并排序的边界问题,欢迎指导。原创 2023-09-16 16:35:49 · 156 阅读 · 1 评论 -
排序(希尔、快速、归并排序)
所谓排序,就是使一串记录,按照其中的某个或某些关键字的大小,递增或递减的排列起来的操作。假定在待排序的记录序列中,存在多个具有相同的关键字的记录,若经过排序,这些记录的相对次序保持不变,即在原序列中,r[i]=r[j],且r[i]在r[j]之前,而在排序后的序列中,r[i]仍在r[j]之前,则称这种排序算法是稳定的;否则称为不稳定的。数据元素全部放在内存中的排序。数据元素太多不能同时放在内存中,根据排序过程的要求不能在内外存之间移动数据的排序。原创 2023-09-13 22:17:38 · 338 阅读 · 4 评论 -
二叉树oj
思路:此题为二叉树遍历问题。首先假设根节点的值作为标准值,在遍历的过程中如果有别的节点的值与其不相等则为假。递归的返回条件:第一:当目前节点为空的时候我们返回真。第二:当目前节点的左右孩子不为空,并且值左右孩子的值不等于根的值的时候我们返回假。如果当前节点的值不符合以上两种情况,则继续往下遍历。原创 2023-08-28 20:34:30 · 231 阅读 · 0 评论 -
二叉树的层序遍历及完全二叉树的判断
二叉树的层序遍历需要一个队列来帮助实现。我们在队列中存储的是节点的地址,所以我们要对队列结构体的数据域重定义,以上代码 从逻辑上来讲就是1入队,1出队,2(1的左孩子)入队,4(1的右孩子)入队,2出队......原创 2023-08-26 22:00:50 · 405 阅读 · 6 评论 -
二叉树链式结构的实现
学习二叉树的基本操作前,需先要创建一棵二叉树,然后才能学习其相关的基本操作。由于现在我们对于二叉树的了解还处于初级阶段,所以我们手动创建一棵简单的二叉树,以便进入二叉树操作学习,等深入了解二叉树之后,我们再来研究二叉树真正建立的方法。从概念中可以看出,二叉树定义是递归式的,因此后序基本操作中基本都是按照该概念实现的。原创 2023-08-26 21:00:54 · 185 阅读 · 0 评论 -
二叉树的顺序结构及实现(堆、Top-k)
再进行向下调整算法。原创 2023-08-24 11:29:35 · 96 阅读 · 0 评论 -
二叉树基本概念
树是一种非线性的数据结构,它是由n(n>=0)个有限结点组成一个具有层次关系的集合。把。原创 2023-08-22 21:47:45 · 194 阅读 · 13 评论 -
链表oj(复制随机链表)、栈和队列oj(循环队列)
链表oj(随机),栈和队列oj原创 2023-08-22 20:32:28 · 63 阅读 · 0 评论 -
栈和队列 (以及实现)
栈:一种特殊的线性表,其只允许在固定的一端进行插入和删除元素操作。进行数据插入和删除操作的一端称为栈顶,另一端称为栈底。栈中的数据元素遵守后进先出LIFO(Last In First Out)的原则。压栈:栈的插入操作叫做进栈/压栈/入栈,。出栈:栈的删除操作叫做出栈。原创 2023-08-09 17:17:31 · 120 阅读 · 0 评论 -
链表oj (环形链表oj)
链表题目分享!原创 2023-08-09 16:52:58 · 149 阅读 · 2 评论 -
无头单向非循环单链表、带头双向循环链表
链表之 无头单链表,有头双向链表原创 2023-08-03 16:53:33 · 175 阅读 · 15 评论 -
顺序表的实现
线性表(linear list)是n个具有相同特性的数据元素的有限序列。线性表是一种在实际中广泛使用的数据结构,常见的线性表:顺序表、链表、栈、队列、字符串...线性表在逻辑上是线性结构,也就说是连续的一条直线。但是在物理结构上并不一定是连续的线性表在物理上存储时,通常以的形式存储。顺序表是用一段物理地址连续的存储单元依次存储数据元素的线性结构,一般情况下采用数组存储。在数组上完成数据的增删查改。顺序表一般可以分为:1. 静态顺序表:使用定长数组存储元素。原创 2023-07-28 13:50:19 · 279 阅读 · 10 评论 -
算法的时间复杂度与空间复杂度
一辆车的好坏我们可以从价格,油耗...... 方面来衡量,但衡量一个算法的好坏我们该从哪一个方面入手呢?斐波那契数列的递归实现方式非常简洁,但简洁一定好吗?那该如何衡量其好与坏呢?原创 2023-07-27 17:20:29 · 263 阅读 · 8 评论