leetcode基本数据结构

2、链表

2,1、解题技巧

  • 利用快慢指针(有时候需要用到三个指针)
  • 链表的翻转
  • 寻找倒数第k个元素
  • 寻找链表中中间元素
  • 判断链表是否有环
  • 构建一个虚假的链表头
  • 两个排序链表,进行排序整合
  • 将链表的奇偶数按原定顺序分离,生成前半部分为奇数,后半部分为偶数

2.2、如何训练该技巧

在纸上或者白班上画出节点之间的互相关系画出修改的方法

凭空想象是比较困难的

画在白班上,还能让面试官清楚的看到思路

3、栈

3.1、栈特点

  • 后进先出

3.2、算法基本思想

  • 可以用一个单链表来实现
  • 只关心上一次的操作
  • 处理完上一次的操作后,能在O(1)时间内查找到更前一次的操作

4、队列

4.1、队列特点

  • 先进先出

4.2、常用场景

  • 广度搜索

5、双端队列

5.1、常用场景

实现一个长度动态变化的窗口或者连续区间

6、树(重点掌握)

6.1、树的共性

  • 结构直观
  • 通过树问题来考察递归算法掌握的熟练程度

对于树的性质,往往要求每个节点都必须满足

  • 在定义二叉搜索树时,没个节点都必须是二叉搜索树
  • 求二叉树的深度

6.2、面试中常考的树的形状有

  • 普通二叉树
  • 平衡二叉树
  • 完全二叉树
  • 二叉搜索树

特殊的树:红黑树(不要了解)

6.3、常考

遍历(递归与非递归写法)

  • 前序 遍历(在树里搜索,以及创建一颗新的数用到)
  • 中序遍历(二叉搜索树,此时访问到的顺序就是元素的顺序)
  • 后序遍历 (当需要修改左右子节点,修改叶子节点时,收集的信息从底部到跟时)

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-0DLBPm2k-1585481734514)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\1585465293114.png)]

7、优先队列

(实现比较繁琐,在解决面试哦中的问题时,实行拿来主义即可)

本质

二叉堆的结构,利用一个数组结构来实现完全二叉树

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-guRQ7EXS-1585481734516)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\1585465613098.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-361HmvMI-1585481734518)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\1585465639989.png)]

扫描二维码关注公众号,回复: 10288660 查看本文章

基本操作

  • 向上筛选
  • 向下筛选

`时间复杂度:O(logk)

另一个重要的时间复杂度:优先队列的初始化 时间复杂度o(n)

特点

与普通队列的区别

保证每次取出的元素是队列中优先级最高的

优先级别可自定义

最常用的场景

从杂乱无章的数据中按照一定的顺序(或者优先级)筛选数据

	* 给定一个数组,找到前k个大的数
	* 求前k个高频元素
	* 关键如何定义优先级

8、图

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Iv12U9vN-1585481734520)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\1585465974189.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-SvKEcsCs-1585481734522)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\1585465989483.png)]

9、前缀树

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-XBOatO6V-1585481734526)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\1585466149662.png)]

在这里插入图片描述

10、线段树

在这里插入图片描述

11、树状数组

在这里插入图片描述

发布了223 篇原创文章 · 获赞 22 · 访问量 2万+

猜你喜欢

转载自blog.csdn.net/ZHOUJIAN_TANK/article/details/105184564