首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
算法篇之数据结构
阿托
创建于2021-08-10
订阅专栏
介绍数据结构
暂无订阅
共8篇文章
创建于2021-08-10
订阅专栏
默认顺序
默认顺序
最早发布
最新发布
深度优先搜索和和广度优先搜索
定义 深度优先搜索(Depth-First Search,DFS)和广度优先搜索(Breadth-First Search,BFS)是基本的暴力技术,常用于树和图的遍历问题。
堆储存方式及堆操作
堆的定义 堆是一个树型的数据结构,是一个二叉树,每个节点都比他的字节的小(小根堆)/大(大根堆)。 堆的存储方式 由于堆是一个满二叉树,所以可以使用数组的方式进行存储,如图我们可以观察到,如果当前节点
并查集
并查集定义 并查集是一种树型的数据结构,用于解决集合快速合并和查询问题。 集合定义 需要一个数组用来保存当前集合属于哪个集合编号,还需要定义一个find(x)函数,用来查询x集合所欲哪个集合编号。用递
字典树
字典树定义 字典树又叫trie树、前缀树。是一种树形的数据结构,主要用于存储和统计大量的字符串,主要思想是利用字符串的前缀来节省存储空间。字典树主要包含两个操作:插入和查询。
KMP
KMP算法定义 KMP算法是一种字符串匹配的算法,KMP算法的核心是利用匹配失败的信息,尽可能的减少模式串与主串的匹配次数。其重要的一个就是next[]数组的实现。时间复杂度为O(m+n) next数
单调栈和单调队列
定义 单调栈定义:单调栈的本质还是一个栈,具备栈的性质,只不过在栈的基础上有添加了一个性质,单调栈内的元素都是有序的(升序或降序); 单调队列定义:单调队列使用的是双端队列,双端队列在队列的两端都可以
栈和队列
定义 栈的定义:栈是一个操作受限制的数据结构,是一种先进后出的数据结构,队列的定义:队列也是一个受限制的数据结构,是一种先进先出的数据结构
链表
链式存储结构的表称为链表,传统的指针链表可以快速的执行插入和删除根据,但是不能根据数组下标访问元素。本篇文章使用数组模拟链表可以快速执行增删改查操作,包括单链表和双链表 单链表 双链表