数据结构

  • 最近更新时间 :2020年1月20日,

一个数据结构是一种在计算机中组织数据以使其能被有效利用的特殊方法。

例如,可以使用。存储具有相同数据类型的项列表大批数据结构。

阵列数据结构

本页包含了关于不同数据结构(DS)的详细教程,这些数据结188金宝搏真人20构与主题相关的问题。

主题:

概述:

链表:



单向链表:

  1. 链表简介
  2. 链表vs数组
  3. 链表插入
  4. 删除链表(删除给定的键)
  5. 链表删除(删除指定位置的键)
  6. 程序员查看阵列与链接列表的方法
  7. 查找链表的长度(迭代和递归)
  8. 如何写C函数,修改一个链表的头指针?
  9. 交换链表中的节点而不交换数据
  10. 反向链表
  11. 合并两个排序的链表
  12. 对链表进行归并排序
  13. 在给定大小的组中反转链接列表
  14. 检测并删除链表中的循环
  15. 两个由链表|表示的数字相加,集合为1
  16. 旋转链表
  17. C语言中的泛型链表

循环链表:

  1. 循环链接列表介绍和应用程序,
  2. 循环单链表插入<
  3. 循环链接列表遍历
  4. 将循环链表分成两部分
  5. 为循环链表排序插入

双向链表:

  1. 双重链接列表介绍和插入
  2. 删除双链表中的节点
  3. 反向双链表
  4. 伟大的树列表递归问题。
  5. 对双链表进行快速排序
  6. 双链表的归并排序

所有联系列表
链接列表中的测验
联系列表编码练习
最近有关相关列表的文章

堆:

  1. 介绍堆栈
  2. 使用堆栈进行中缀到后缀的转换
  3. 后缀表达式的求值
  4. 使用堆栈反转字符串
  5. 在一个数组中实现两个堆栈
  6. 检查表达式中是否有平衡的括号
  7. 下一个更大的元素
  8. 使用递归反转堆栈
  9. 使用递归对堆栈进行排序
  10. 库存跨度问题
  11. 设计并实现特殊的堆栈数据结构
  12. 使用队列实现堆栈
  13. 设计一个在中间元素上有操作的堆栈
  14. 如何在单个数组中有效地实现k堆栈?
  15. 使用递归对堆栈进行排序

堆栈测验
栈上的所有文章
堆栈编码实践
关于堆栈的最新文章

队列:

  1. 队列介绍和阵列实现
  2. 链接列表执行队列
  3. 队列数据结构的应用
  4. 优先队列的介绍
  5. DEQUE(介绍和应用)
  6. 使用圆形数组实现Deque队列
  7. 使用堆栈实现队列
  8. 找到第一个巡视所有加油站的路线
  9. 所有大小为k的子数组的最大值
  10. 一个有趣的方法,从1到n生成二进制数
  11. 如何在单个数组中有效地实现k队列?

测试在队列
所有在排队的文章
排队编码练习
最近关于队列的文章

二叉树:

  1. 二叉树介绍
  2. 二叉树的性质
  3. 二叉树的类型
  4. 握手引理和有趣的树形属性
  5. 二叉树的枚举
  6. 树形数据结构的应用
  7. 树绊倒
  8. BFS对二叉树的DFS
  9. 层次顺序树遍历
  10. 二叉树的直径
  11. 无需递归的Inorder树遍历
  12. 没有递归和堆栈的Inorder树遍历!
  13. 线索二叉树
  14. 树的最大深度或高度
  15. 如果给你两个遍历序列,你能构造二叉树吗?
  16. 用随机指针克隆二叉树
  17. 从给定的Inorder和Preorder遍历构造树
  18. 二叉树的最大宽度
  19. 打印k从root距离的节点
  20. 打印二叉树中给定节点的祖先
  21. 检查一个二叉树是否是另一个二叉树的子树
  22. 连接相同级别的节点

二叉树小测验
在二叉树遍历上的测验
二叉树上的所有文章
二叉树的编码实践
最近关于Tree的文章

二叉搜索树:



  1. 在BST中搜索和插入
  2. 删除从BST
  3. 二叉搜索树中的最小值
  4. 在BST中,给定键的顺序前身和后继
  5. 检查一个二叉树是否为BST
  6. 二叉搜索树中最低的共同祖先。
  7. 二叉搜索树的Inorder后继器
  8. 求BST中的k最小元素(BST中的序统计量)
  9. 合并两个具有有限空间的BSTS
  10. BST的两个节点被交换,纠正BST
  11. 地板和天花板
  12. 对平衡BST的分类DLL的就地转换
  13. 在一个平衡的BST中找到一个具有给定和的一对
  14. 有n个键的可能二叉搜索树的总数
  15. 合并两个平衡二叉搜索树
  16. 二叉树到二叉搜索树的转换

二叉搜索树测验
在平衡二元搜索树上测验
所有关于二叉搜索树的文章
二叉搜索树的编码实践
最近关于BST的文章

堆:

  1. 二进制堆
  2. 为什么二进制堆优先于BST进行优先级队列?
  3. 二项堆
  4. 斐波那契堆
  5. 堆排序
  6. 数组中第K大的元素
  7. 排序几乎排序的阵列/
  8. 竞赛树(赢家树)和二叉堆

堆上的所有文章
测试在堆
堆上的编码实践
关于堆的最新文章

哈希:

  1. 哈希的介绍
  2. 单独链接碰撞处理
  3. 用于冲突处理的开放寻址
  4. 按垂直顺序打印二叉树
  5. 找到数组是否是另一个数组的子集
  6. 联盟和两个联系列表的交点
  7. 找出一对给定的和
  8. 检查给定数组是否包含彼此k距离内的重复元素
  9. 从给定的门票列表中查找行程
  10. 查找每个员工下的员工数

测试在哈希
所有关于哈希的文章
关于哈希的编码实践
哈希最近的文章

图形:

介绍,DFS和BFS:

  1. 图表及其表示
  2. 宽度的第一个遍历图形
  3. 深度首先遍历图形
  4. 深度优先搜索的应用
  5. 广度优先遍历的应用
  6. 检测定向图中的周期
  7. 检测一个无向图的图形
  8. 在无向图中检测周期
  9. 有向无环图中的最长路径
  10. 拓扑排序
  11. 检查一个给定的图是否是二部图
  12. 蛇和梯子问题
  13. 最大限度地减少一套给定的朋友之间的现金流量彼此借用
  14. Boggle(在字符板中找到所有可能的单词)
  15. 将方向指定为边缘,以便定向图仍然是无循环的

所有关于图数据结构的文章
测试在图
图遍历测验
在图形最短路径上测验
在图中测验最小生成树
编码图表
最近关于图表的文章

高级数据结构:

先进的列表:

  1. 内存高效双链表
  2. XOR链表-一个内存高效的双链表|集合1
  3. XOR链表-一个内存高效的双链表|集合2
  4. Skip List | Set 1(引言)
  5. 自组织列表| Set 1(介绍)
  6. 展开链表| Set 1(介绍)

段树:

  1. 段树|集合1(给定范围的和)
  2. 段树|设置2(范围最小查询)
  3. 段树中的延迟传播
  4. 持续段树|集1(介绍)

段树上的所有文章
Trie:

  1. Trie |.(插入和搜索)
  2. 单词查找树|(删除)
  3. 最长的前缀匹配 - Java中基于Trie的解决方案
  4. 打印给定布尔矩阵中唯一的行
  5. 如何实现反向DNS查找缓存?
  6. 如何实现转发DNS查找缓存?

所有关于Trie的文章
二进制索引树:

  1. 二进制索引树
  2. 二维二进制索引树或Fenwick树
  3. 二叉索引树:范围更新和点查询
  4. 二叉索引树:范围更新和范围查询

所有关于二进制索引树的文章
后缀数组,后缀树:

  1. 后缀数组介绍
  2. 后缀数组NLogn算法
  3. Kasai从后缀数组构建LCP数组算法
  4. 后缀树的介绍
  5. Ukkonen的后缀树建设 - 第1部分
  6. Ukkonen的后缀树建设 - 第2部分
  7. Ukkonen的后缀树建设 - 第3部分
  8. Ukkonen的后缀树结构-第4部分,
  9. Ukkonen的后缀树建设 - 第5部分
  10. Ukkonen的后缀树建设 - 第6部分
  11. 广义后缀树
  12. 使用后缀树构建线性时间后缀数组
  13. 依据检查
  14. 搜索所有模式
  15. 最长的重复的子字符串,
  16. 最长的常见基板,最长的回文基


所有关于后缀树的文章

AVL树:



  1. AVL Tree | Set 1(插入)
  2. AVL Tree | Set 2(删除)
  3. AVL重复键

splay tree:

  1. Set 1 (Search)(搜索)
  2. Set 2(插入)

B树:

  1. B-Tree |集合1(介绍)
  2. B-Tree | Set 2(插入)
  3. B-Tree | Set 3(删除)

红黑树:

  1. 红黑树的介绍
  2. 红色黑树插入。
  3. 红黑树删除
  4. 红黑树插入程序


所有关于自平衡BSTs的文章

k尺寸树:

  1. KD树(搜索和插入)
  2. K D树(求最小值)
  3. K D树(删除)

其他:

    1. 随机二叉搜索树
    2. 三元搜索树
    3. 区间树
    4. 实现LRU缓存
    5. 对存储在不同机器上的数字进行排序
    6. 从一个文件中找出k个最常用的单词
    7. 给定一组单词,把所有的字谜都打印在一起
    8. 竞赛树(赢家树)和二叉堆
    9. 决策树-假(假)硬币拼图(12个硬币拼图)
    10. 意大利面条堆栈
    11. 字典和拼写检查的数据结构?
    12. 笛卡尔树
    13. 笛卡尔树排序
    14. 稀疏集
    15. 精心分解树
    16. Gomory-Hu树

关于高级数据结构的最新文章。

数组:

      1. 在未排序的数组中进行搜索、插入和删除
      2. 在已排序的数组中进行搜索、插入和删除
      3. 写一个程序以反转数组
      4. 数组的leader
      5. 给定一个数组A[]和一个数字x,检查在A[]中的pair以sum作为x
      6. 多数元素
      7. 找出奇数次出现的数
      8. 最大和相邻子数组
      9. 找到丢失的号码
      10. 在已排序和主元数组中搜索元素
      11. 将尺寸n数组合并到另一个大小的尺寸m + n
      12. 两个排序阵列的中位数
      13. 数组旋转程序
      14. 数组旋转的反转算法
      15. 数组旋转的块交换算法
      16. 使两个元素不相邻的最大和
      17. 按频率排序元素|设置1
      18. 数组中的indersions

数组中的所有文章
数组编码练习
armar ariz.
数组编码练习
关于阵列的最新文章

矩阵:

      1. 在按行和按列排序的矩阵中搜索
      2. 以螺旋形式打印一个给定的矩阵
      3. 布尔矩阵问题
      4. 打印给定布尔矩阵中唯一的行
      5. 所有1的最大大小方子矩阵
      6. 打印给定布尔矩阵中唯一的行
      7. inplace m x n大小矩阵转置|更新
      8. 动态编程|设置27(2D矩阵中的最大和矩形)
      9. Strassen矩阵乘法
      10. 使用o和x的交替矩形创建矩阵
      11. 从行和列明亮的矩阵中打印排序顺序的所有元素
      12. 给定N个X正方形矩阵,找到大小k x k的所有子方块的总和
      13. 计算每个岛按行和列分开的岛的数目
      14. 在给定行的所有行中查找一个通用元素的给定行的排序矩阵

关于矩阵的所有文章
矩阵编码实践
最近关于矩阵的文章。

Misc:

      1. 常见的数据结构面试问题|集1
      2. n个元素和O(1)操作的数据结构
      3. 表达式树

您可以创建一个新的DS主题,并使用我们的门户与其他极客讨论它实践。见最近添加的问题实践数据结构




我个人的笔记 arrow_drop_up