首页
首页
沸点
课程
直播
活动
竞赛
商城
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
数据结构
不闻钟
创建于2021-05-10
订阅专栏
有关数据结构的笔记
暂无订阅
共18篇文章
创建于2021-05-10
订阅专栏
默认顺序
默认顺序
最早发布
最新发布
树常用的三种存储结构
双亲表示法 实现:定义结构数组,存放树的结点,每个结点含两个域 数据域:存放结点本身的信息 双亲域:提示本结点的双亲结点在数组中的位置 双亲表示法表示普通树的代码: 结点结构: 树结构: 孩子链表 孩
浅谈二叉树算法
四种遍历算法 遍历算法几乎是二叉树所有算法的基础,而我们已经知道了二叉树的遍历方法有先序遍历、中序遍历、后序遍历,层序遍历;下面我们用代码实现一下四种遍历方法。 先定义一下二叉树的结构体: 因为二叉树
树和二叉树(一)
树与二叉树的概念 树 树的定义:树(Tree)是n(n >= 0)个结点的有限集。 若n = 0 ,则称为空树 若 n > 0,则它满足如下条件 1.有且仅有一个特定的称为根(Root)的结点 其余结
Acwing 3302
给定一个表达式,其中运算符仅包含 +,-,*,/(加 减 乘 整除),可能包含括号,请你求出表达式的最终值。 注意: 数据保证给定的表达式合法。 题目保证符号 - 只作为减号出现,不会作为负号出现,例
串的模式匹配算法
在主串中查找定位子串问题(模式匹配)是串中最重要的操作之一,一般而言有两种匹配方式 BF算法(朴素的模式匹配算法) 模式串和主串进行逐位比较, 如果匹配成功指针同时+1, 如果匹配失败, 则需要将指针
数组模拟栈,队列
栈 模拟栈是很简单的,用一个只在一端操作的数组便能表示,简单看一下: 队列 队列是相同的一个数组,但是可以在两端操作,一端进,另一端出。
链表的数组模拟
在平常写算法题时,常常考虑用到链表,但是像我们一般的molloc或者new出空间来花销太大了,往往时间不够用,这时候我们就需要用到数组来模拟链表了。 单链表 最简单的单链表 首先时初始化,将head置
Acwing 802
假定有一个无限长的数轴,数轴上每个坐标上的数都是 0。 现在,我们首先进行 n 次操作,每次操作将某一位置 x 上的数加 c。 接下来,进行 m 次询问,每个询问包含两个整数 l 和 r,你需要求出在
前缀和和差分
前缀和 一维前缀和 定义:S[i] = a[1] + a[2] + ... a[i] a[l] + ... + a[r] = S[r] - S[l - 1] 一维前缀和的目的就是降低复杂度,计算区间和
高精度
主要的高精度问题: A + B:两个大整数相加 A - B:两个大整数相减 A × b:一个大整数乘一个小整数 A ÷ b:一个大整数除以一个小整数 并不常见高精度相除相乘的问题。 大数的储存大致是相
二分
主要思想 第一次了解二分是在高中的数学课,当时没觉得多难,毕竟思想是很简单的。但在代码实现上却会遇到很多困难,最常见的也是最难的就是整数二分的边界问题。 整数二分的思路是这样的:将整数序列分为
快速排序与归并排序
快速排序 主要思想 基于分治思想,平均时间复杂度都是𝞗(nlogn),快排的性能受初始数列的分布影响较大,最坏情况下时间复杂度达到𝞗(n^2),空间复杂度达到𝞗(n)(所以他是不太稳定的) 模板 关于
串的模式匹配算法
算法目的 确定主串中所含子串(模式串)第一次出现的位置 算法应用 搜索引擎,拼写检查,语言翻译,数据压缩等 算法种类 BF算法(Brute-Force,又称古典,朴素,穷举) KMP算法 BF算法 将
队列
定义 队列(Queue)是仅在表尾进行插入操作,在表头进行删除操作的线性表(头插尾删)。它是一种先进先出(FIFO)的线性表 形如图: 表尾即an端。称为队尾:表头即a1端,称为队头。` 同样的队列的
栈
定义 栈是一种特殊的线性表,限定插入和删除操作只能在表的一端(通常是表尾)进行。(又称为后进先出的线性表,简称LIFO结构)。 插入元素到栈顶(表尾)的操作,称为入栈[压栈](push)。从栈顶(表尾
单链表
链式储存结构 节点在存储器中的位置时任意的,即逻辑上相邻的数据元素在物理上不一定相邻 ,所以链式又被称为非顺序映像或链式映像。 用一组物理位置任意的存储单元来存放线性表的数据元素。这组存储单元可以时连
顺序表
线性表的定义和特点 定义:线性表是具有相同特性的数据结构元素(由n[n>=0]个数据元素(结点)a1,a2……an组成的)的一个有限序列。 其中数据原始的个数n定义为表的长度 当n = 0时称为空表
循环链表与双向链表
循环链表 循环链表是一种头尾相接的链表,表中的最后一个结点的指针域指向头结点,整个链表形成一个环。 示意图: 这样的有点是可以从表中任一结点出发均可找到其他结点。而循环链表由于没有NULL指针,所以涉