Skip to content

Latest commit

 

History

History
53 lines (51 loc) · 2.37 KB

数据结构算法合集.md

File metadata and controls

53 lines (51 loc) · 2.37 KB

常用的数据结构

参考知乎:景略集智的回答

1,找到数组中第二小的元素
2,找到数组中第一个没有重复的整数
3,合并两个分类数组
4,重新排列数组中的正值和负值

堆栈

1,使用堆栈计算后缀表达式
2,对堆栈中的值进行排序
3,检查表达式中的括号是否平衡

队列

1,使用队列来实现堆栈
2,颠倒队列中前 k 个元素的顺序
3,使用队列生成从 1 到 n 的二进制数

链表

1,翻转列表
2,检测链表中的循环
3,返回链表中倒数第 n 个节点
4,移除链表中的重复值

1,找到一个二叉树的高度
2,找到一个二叉搜索树中第 k 个最大值
3,找到距离根部“k”个距离的节点
4,找到一个二叉树中给定节点的祖先(ancestors)

字典树(Tries,这是一种高效的树,有必要单独列出来)

1,计算字典树中的总字数
2,打印存储在字典树中的所有单词
3,使用字典树对数组的元素进行排序
4,使用字典树从字典中形成单词
5,构建一个T9字典

哈希表

1,找到数组中的对称对
2,追踪遍历的完整路径
3,查看一个数组是否为另一个数组的子集
4,检查给定数组是否不相交 git

Array

数组是一种最简单和最广泛使用的数据结构,其它数据结构比如堆栈和队列都源自数组。
下图是一个大小为 4 的简单数组,包含几个元素(1,2,3 和 4)。
每个数据元素会被分配一个正的数值,叫作“索引”,它对应该元素在数组中的位置。
大部分编程语言都将初始索引定义为 0.

以下是两种数组:

  • 一维数组(如上所示)
  • 多维数组(数组的数组)

数组的基本操作:
Insert——在给定索引位置插入一个元素
Get——返回给定索引位置的元素
Delete——删除给定索引位置的元素
Size——获取数组内所有元素的总数

后续再补充吧