常见数据结构

栈
特点

进栈顺序:A-B-C-D
出栈顺序:D-C-B-A

队列

进栈顺序:A-B-C-D
出栈顺序:A-B-C-D

数组

链表




总结:相对于数组来说,链表是一种查询比较慢,增删比较快的模型;数组根据索引查询最快,双链表增删头尾元素最快
二叉树、二叉查找树





平衡二叉树






1. 左左插入元素 2.右旋 3.迁移不合理子树:




我们发现:

1.以出问题的枝点为支点,先左旋(然后我们发现问题就变成了和左左一样的情况) 2.整体右旋 3.迁移不合理子树:



1.左旋 2. 迁移不合理子树:



1.以出问题的枝点为支点,先右旋(然后我们发现问题就变成了和右右一样的情况) 2.整体左旋 3.迁移不合理子树:


面试题:如果给你1到7的数据,你该如何制作出平衡二叉树,写出过程
1.以1作为根节点,然后加2,3
2.不平衡,整体左旋,平衡后加入3,4,5
3.不平衡,(此时可以整体左旋,但是为了使影响范围更小,所在局部范围进行左旋)以3为根节点左旋,加6
4.不平衡,整体左旋,调整不合理子树(3),加7
5.不平衡,以5为根节点左旋,完成

红黑树





浙公网安备 33010602011771号