一种数据结构是在计算机中组织数据以便有效使用的一种特殊方式。
例如, 我们可以使用来存储具有相同数据类型的项目列表Array数据结构。
文章图片
数组数据结构
本页包含有关具有主题问题的不同数据结构(DS)的详细教程。
主题:
- Array
- 链表
- 叠放
- 队列
- 二叉树
- 二进制搜索树
- 堆
- 散列
- 图形
- 矩阵
- 杂项
- 先进的数据结构
- 数据结构概述|集合1(线性数据结构)
- 数据结构概述|第2组(二叉树, BST, 堆和哈希)
- 数据结构概述|设置3(图形, 特里, 分段树和后缀树)
- 抽象数据类型
单链表:
- 链表简介
- 链表与阵列
- 链表插入
- 链接列表删除(删除给定密钥)
- 链接列表删除(在给定位置删除键)
- 程序员查看数组与链接列表的方法
- 查找链接列表的长度(迭代和递归)
- 如何编写修改链表头指针的C函数?
- 交换链表中的节点而不交换数据
- 反向链接列表
- 合并两个排序的链表
- 合并排序的链表
- 以给定大小的组反向链接列表
- 检测并删除链接列表中的循环
- 将两个数字相加, 以链表表示|套装1
- 旋转链接列表
- C中的通用链接列表
- 循环链表介绍和应用,
- 循环单链接列表插入<
- 循环链接列表遍历
- 将循环链表分为两半
- 循环链表的排序插入
- 双链表的介绍和插入
- 删除双向链接列表中的节点
- 反转双链表
- 大树列表递归问题。
- 双链表上的QuickSort
- 合并双链表的排序
链表上的测验
【数据结构综合列表】链表编码实践
链表上的最新文章
堆栈:
- 堆栈介绍
- 使用堆栈的中缀到后缀转换
- 后缀表达的评估
- 使用堆栈反转字符串
- 在一个数组中实现两个堆栈
- 检查表达式中的括号是否平衡
- 下一个更大的元素
- 使用递归反转堆栈
- 使用递归对堆栈进行排序
- 股票跨度问题
- 设计和实现特殊的堆栈数据结构
- 使用队列实现堆栈
- 设计一个对中间元素进行操作的堆栈
- 如何有效地在单个数组中实现k个堆栈?
- 使用递归对堆栈进行排序
所有堆栈文章
堆栈上的编码实践
堆栈上的最新文章
队列:
- 队列介绍和阵列实现
- 队列的链表实现
- 队列数据结构的应用
- 优先队列介绍
- 双端队列(简介和应用)
- 使用圆形数组实现双端队列
- 使用堆栈实现队列
- 找到参观所有汽油泵的第一个环游
- 大小为k的所有子数组的最大值
- 生成从1到n的二进制数的有趣方法
- 如何在单个数组中有效地实现k个队列?
队列中所有文章
队列编码实践
关于队列的最新文章
二叉树:
- 二叉树介绍
- 二叉树属性
- 二叉树的类型
- 握手引理和有趣的树属性
- 二叉树的枚举
- 树数据结构的应用
- 树遍历
- BFS与DFS的二叉树
- 级别顺序树遍历
- 二叉树的直径
- 无递归的有序树遍历
- 有序树遍历, 无需递归且无堆栈!
- 线程二叉树
- 一棵树的最大深度或高度
- 如果给定两个遍历序列, 可以构造二叉树吗?
- 克隆具有随机指针的二叉树
- 从给定的有序和预序遍历构造树
- 二叉树的最大宽度
- 打印节点到根的距离为k
- 在二叉树中打印给定节点的祖先
- 检查一个二叉树是否是另一个二叉树的子树
- 连接相同级别的节点
二叉树遍历测验
所有关于二叉树的文章
二叉树的编码实践
关于树的最新文章
二进制搜索树:
- 在BST中搜索并插入
- 从BST删除
- 二叉搜索树中的最小值
- BST中给定密钥的有序前任和后继
- 检查二叉树是否是BST
- 二进制搜索树中的最低共同祖先。
- 二进制搜索树中的有序后继
- 在BST中查找第k个最小元素(BST中的订单统计信息)
- 合并两个BST, 并保留有限的空间
- 交换BST的两个节点, 更正BST
- BST的地面和天花板
- 就地转换排序的DLL到平衡的BST
- 在平衡的BST中找到具有给定总和的货币对
- n键可能的二叉搜索树总数
- 合并两个平衡的二叉搜索树
- 二叉树到二叉搜索树的转换
平衡二叉搜索树的测验
所有关于二叉搜索树的文章
二叉搜索树的编码实践
关于BST的最新文章
堆:
- 二进制堆
- 为什么优先于BST优先使用Binary Heap?
- 二项式堆
- 斐波那契堆
- 堆排序
- 数组中的第K个最大元素
- 排序几乎排序的数组/
- 锦标赛树(优胜者树)和二进制堆
堆测验
堆编码实践
最近关于堆的文章
散列:
- 哈希介绍
- 单独的链接进行碰撞处理
- 冲突处理的开放式寻址
- 按垂直顺序打印二叉树
- 查找一个数组是否是另一个数组的子集
- 两个链表的并集和相交
- 用给定的总和找到一对
- 检查给定数组是否包含彼此之间k距离内的重复元素
- 从给定的门票清单中找到行程
- 查找每位员工下的员工数量
所有有关散列的文章
哈希编码实践
最近关于散列的文章
图形:
简介, DFS和BFS:
- 图及其表示
- 图的广度优先遍历
- 图的深度优先遍历
- 深度优先搜索的应用
- 广度优先遍历的应用
- 在有向图中检测周期
- 检测无向图中的周期
- 检测无向图中的周期
- 有向无环图中的最长路径
- 拓扑排序
- 检查给定图是否为Bipartite
- 蛇梯问题
- 最大限度地减少彼此借钱的给定朋友之间的现金流量
- Boggle(在一个字符板上查找所有可能的单词)
- 为边缘分配方向, 以便有向图保持非循环
图形测验
图遍历测验
图最短路径测验
图最小生成树测验
图的编码实践
关于图的最新文章
先进的数据结构:
高级列表:
- 高效内存双链表
- XOR链表–具有内存效率的双链表|套装1
- XOR链表–具有内存效率的双链表|套装2
- 跳过列表设置1(简介)
- 自组织列表|设置1(简介)
- 展开的链接列表|设置1(简介)
- 段树|设置1(给定范围的总和)
- 段树|设置2(范围最小查询)
- 分段树中的延迟传播
- 持久段树|设置1(简介)
尝试:
- 特里(插入和搜索)
- 特里(删除)
- 最长的前缀匹配– Java中基于Trie的解决方案
- 在给定的布尔矩阵中打印唯一行
- 如何实现反向DNS查找缓存?
- 如何实现正向DNS查找缓存?
二进制索引树:
- 二叉索引树
- 二维二元索引树或Fenwick树
- 二进制索引树:范围更新和点查询
- 二进制索引树:范围更新和范围查询
后缀数组和
后缀树
:
- 后缀数组介绍
- 后缀数组nLogn算法
- kasai从后缀数组构造LCP数组的算法
- 后缀树介绍
- Ukkonen的后缀树构造–第1部分
- Ukkonen的后缀树构造–第2部分
- Ukkonen的后缀树构造–第3部分
- Ukkonen的后缀树构造–第4部分
- Ukkonen的后缀树构造–第5部分
- Ukkonen的后缀树构造–第6部分
- 广义后缀树
- 使用后缀树构建线性时间后缀数组
- 子串检查
- 搜索所有模式
- 最长重复子串,
- 最长的普通子串, 最长的回文子串
AVL树:
- AVL树|设置1(插入)
- AVL树|套装2(删除)
- 具有重复密钥的AVL
- 八卦树|设置1(搜索)
- 八卦树|套装2(插入)
- B树|设置1(简介)
- B树|套装2(插入)
- B树|套装3(删除)
- 红黑树介绍
- 红黑树插入。
- 红黑树删除
- 红黑树插入程序
K维树:
- KD树(搜索和插入)
- K D树(查找最小值)
- K D树(删除)
- Treap(随机二叉树)
- 三元搜索树
- 间隔树
- 实施LRU缓存
- 排序存储在不同机器上的数字
- 从文件中找到k个最常见的单词
- 给定一系列单词, 将所有字谜一起打印
- 锦标赛树(优胜者树)和二进制堆
- 决策树–伪造(伪造)硬币拼图(12个硬币拼图)
- 意大利面叠
- 字典和拼写检查器的数据结构?
- 笛卡尔树
- 笛卡尔树排序
- 稀疏集
- 树的质心分解
- 果树-胡树
数组:
- 搜索, 插入和删除未排序的数组
- 在排序的数组中搜索, 插入和删除
- 编写程序以反转数组
- 领导者阵列
- 给定一个数组A []和一个数字x, 请检查A []中的对, 总和为x
- 多数元素
- 查找出现次数的奇数
- 最大总和连续子数组
- 查找丢失的号码
- 在已排序且经过透视处理的数组中搜索元素
- 将大小为n的数组合并为大小为m + n的另一个数组
- 两个排序数组的中位数
- 数组旋转程序
- 阵列旋转的逆向算法
- 阵列旋转的块交换算法
- 最大和, 使得没有两个元素相邻
- 按频率对元素排序|套装1
- 计算数组中的反转
数组编码实践
阵列测验
数组编码实践
关于数组的最新文章
矩阵:
- 搜索按行和按列排序的矩阵
- 以螺旋形式打印给定的矩阵
- 布尔矩阵问题
- 在给定的布尔矩阵中打印唯一行
- 全部为1的最大尺寸正方形子矩阵
- 在给定的布尔矩阵中打印唯一行
- 原位M x N大小的矩阵转置|更新
- 动态编程|设置27(二维矩阵中的最大和矩形)
- Strassen的矩阵乘法
- 创建具有O和X的交替矩形的矩阵
- 从行和列的排序矩阵中按排序顺序打印所有元素
- 给定一个n x n方阵, 求出大小为k x k的所有子方和
- 计算每个岛按行和列分隔的岛数
- 在给定的按行排序的矩阵的所有行中找到一个公共元素
矩阵编码实践
关于矩阵的最新文章。
其他:
- 常见数据结构面试问题套装1
- n个元素和O(1)运算的数据结构
- 表达树
推荐阅读
- Dubbo 3 深度剖析 - 透过源码认识你
- 单个资源预留的数据结构
- 字典和拼写检查器的数据结构()
- 数据科学生命周期详细指南
- Python中机器学习的数据预处理
- 数据挖掘中数据源的类型详细介绍
- 数据挖掘基本概念详细介绍
- R中的DataFrame操作详细指南
- 编译器中的数据流分析简要指南