Java队列常用操作及相关leetcode算法题

单端队列

leetcode中大部分是使用单端队列,一个口进,一个口出
底层使用链表实现
判断数据结构的好坏要对比四个操作

1、访问Access

时间复杂度是O(N),需要遍历才能找到要访问的元素。

2、搜索Search

时间复杂度是O(N)。和访问一样,也是需要遍历才能找到对应的元素。

3、插入Insert

时间复杂度是O(1)。只能在队尾插入元素。

4、删除Delete

时间复杂度为O(1)。只能在队头删除元素。

Java队列常用操作

1、创建队列

Queue<Integer> queue = new LinkedList<>();
Queue是Java中的队列接口,通常使用链表来实现这个接口,因为队列经常要插入删除,链表的插入删除时间复杂度比较小。

2、添加元素

queue.add(1);
queue.add(2);
queue.add(3);
时间复杂度是O(1)。

3、获取元素

int head = queue.peek();
获取队列头元素,即当前最先出队列的元素。时间复杂度是O(1)。

4、删除元素

int head = queue.poll();
删除队列头元素ÿ

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值