数据结构
文章平均质量分 65
knookda
这个作者很懒,什么都没留下…
展开
-
Sleepy Cow Sorting G
先将后缀中的数字后加入到树状数组中,每移动一个数字就更新一次树状数组,相应的赋值为1,此后缀中比。也会相应的产生变化,为此我们需要一个数据结构来维护后缀,可以使用树状数组进行维护。的后缀来说,它们是不需要移动的,所以移动的次数为。每次移动的距离应该为其到后缀的距离加上此后缀中比。对于一个连续递增的长度为。由于后缀是在变化的则。原创 2023-03-09 15:40:38 · 257 阅读 · 0 评论 -
图的存储结构
将与每个头结点有邻接关系的点作为表结点链到头结点之后。是具有n个顶点的图,顶点顺序依次为。将所有顶点存入一个表中,作为。原创 2022-11-06 20:41:13 · 293 阅读 · 0 评论 -
图的基本介绍
在图中,顶点之间的关系可以是任意的,任意两个元素之间都可能相关顶点的前驱和后继个数无限制图是一种:数据元素间存在多对多关系的数据结构加上一组基本操作构成的抽象数据类型G=(V, VR)其中V是顶点的有穷非空集合;VR是顶点之间 关系的有穷集合,也叫做弧或边集合。弧是顶点的有序对,边是顶点的无序对。原创 2022-11-05 22:39:50 · 779 阅读 · 0 评论 -
二叉树小记
结点根节点、叶子结点父结点、子结点与兄弟结点注:树的子树是不相交的;除了根节点外,每个结点有且仅有一个父结点。度层有序树无序树森林概念性质树与二叉树满二叉树完全二叉树存储结构先序遍历: 先根 再左 再右中序遍历: 先左 再根 再右后序遍历: 先左 再右 再根[题一]([P1030 NOIP2001 普及组] 求先序排列 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn))给出一棵二叉树的中序与后序排列。求出它的先序排列。思路根据后序遍历的特点我们可以得到树的根原创 2022-10-25 21:38:33 · 255 阅读 · 0 评论 -
第一章 绪论
数据结构》是一门研究非数值计算的程序设计问题中 计算机的操作对象以及它们之间的关系和操作等的学科。原创 2022-09-03 20:04:27 · 172 阅读 · 0 评论 -
Light Switching--线段树
进行实现,0 为暗灯 1 为亮灯,则一段区间的区间和即为亮灯个数,当进行操作后,总灯数减去操作前的亮灯数即为操作后的亮灯数。然后我们在进行具体分析。因需要对区间进行性操作,所以需要懒标记。灯有两种状态,每一次操作状态都会取反。剩下就是输入输出以及建树等操作详见代码。将懒标记向下传递,用异或来取反状态。这类语句中,我们可以联想到。......原创 2022-08-12 09:26:03 · 117 阅读 · 0 评论 -
单调栈小结
找出每个数左边离它最近的比它大或者比它小的数。通过按照不同需求维护栈内元素达到降低时间复杂度的目的。以找出每个数左边离它最近的比它小的数为例当将一个元素压入栈之前,先判断栈顶元素是否小于待压入元素(也即此时的判断元素)最终内元素会成单调递减的状态。的条件可以根据具体问题进行调整例题奶牛排队分析本题应用单调栈求解比较容易。左边最小,右边最大的出现,提示了可以单调栈的方向思考注:解释可会有些不太清楚可以结合代码思考codeQueue找出在他们后面的年纪比他小的人和他最多间隔多少人。很明显可以用单调栈原创 2022-07-02 14:57:27 · 125 阅读 · 0 评论 -
线性表(顺序储存)
动态类型:可以动态增加空间顺序结构储存线性表顺序存储顺序指用一组地址连续的储存单元依次存储数据元素,数据元素之间的关系是一对一的关系优点:可以随机存取线性表中任一元素缺点:插入和删除操作所移动的元素较多静态类型的长度固定,动态类型不够存放可以加上一部分分别给出了静态以及动态的常用函数实现,以代码可以作为测试用......原创 2022-06-20 15:17:39 · 198 阅读 · 0 评论 -
动态链表(单链表)
动态链表链表的定义链表是一种物理存储单元上非连续、非顺序的存储结构,数据元素的逻辑顺序是通过链表中的指针链接次序实现的前置知识主要涉及结构体,指针,已经函数的知识链表的储存本文章主要采用的是链式储存的方法需要定义一个结构体,包括数据以及之战两部分struct node { int data; //储存当前结点的数值 struct node * next; //存放下一个结点的地址}; 为了方便之后操作我们可以用typedef对结构体类型重命名原创 2022-05-17 23:13:17 · 490 阅读 · 0 评论