数据结构:八大数据结构分类


https://blog.csdn.net/yeyazhishang/article/details/82353846

1、数组array  https://www.bilibili.com/video/BV1ef4y1e7Qn
优点:按照索引遍历或查询速度快  缺点:数组的大小固定后就无法扩容了,只能存储一种类型的数据,添加,删除的操作慢,因为要移动其他的元素。适合:频繁查询,对存储空间要求不大,很少增加和删除的情况。
复杂度:访问O(1),搜索O(N),插入O(N),删除O(N)
力扣 485最大连续的个数  283零移动  27移除元素

2、栈 stack  https://www.bilibili.com/video/BV1Lf4y1e7L9
栈常应用于实现递归功能方面的场景
复杂度:访问O(1),搜索O(N),插入O(1),删除O(1)
力扣 20有效的括号 496下一个更大元素

3、队列 queue https://www.bilibili.com/video/BV1xX4y1u7Jv/
使用场景:因为队列先进先出的特点,在多线程阻塞队列管理中非常适用。
复杂度:访问O(N),搜索O(N),插入O(1),删除O(1)
力扣 933最大请求次数 239滑动窗口最大值

4、链表link list  https://www.bilibili.com/video/BV1oa4y1H7Vq
优点:添加删除元素快,缺点:查找慢,含指针信息空间大。适用于数据量较小,需要频繁增加,删除操作的场景
复杂度:访问O(N),搜索O(N),插入O(1),删除O(1)
力扣 203移除链表元素  206链表反转

5、树tree https://www.bilibili.com/video/BV1Ez4y1C7Yy/
    二叉树是特殊的树,普通二叉树是指叶子节点最多有两个孩子,满二叉树是指除了叶子节点每个节点都有两个孩子,完全二叉树是指依次填满的
    二叉树遍历根节点的位置:前序,中序(对二叉查找树进行中序遍历,得到有序集合),右序。
复杂度:
力扣 144二叉树前序遍历 94二叉树中序遍历 145二叉树后序遍历

6、散列表 hash table https://www.bilibili.com/video/BV1vV411h7nE
复杂度:访问,搜索O(1),插入O(1),删除O(1) 如果碰撞次数k 则是O(k)
力扣 217存在重复元素 389找不同 496下一个更大元素

7、堆:https://www.bilibili.com/video/BV1xa4y1H7rD
    完全二叉树
    堆中某个节点的值总是不大于或不小于其父节点的值
    最大堆,最小堆,遍历,搜索,添加,删除
复杂度:访问 ,搜索O(N),插入O(log N),删除O(log N)
力扣     215数组中第K个最大元素 692前K个高频单词

8、图 https://www.bilibili.com/video/BV1gy4y1B75b
复杂度:访问O(N),搜索O(N),插入O(1),删除O(1)
力扣 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值