You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Java中基于数组实现的队列,其peek()方法的时间复杂度是多少?

数组实现队列的peek()方法时间复杂度分析

你说得完全正确,用数组实现队列时,peek()方法的时间复杂度确实是O(1)。

数组属于支持随机访问的数据结构,在实现队列时我们通常会维护一个队头指针(比如用变量记录队头对应的数组下标),peek()方法的逻辑仅仅是返回该下标指向的数组元素,不需要遍历队列中的任何元素,也不存在循环、递归这类会随数据量增长而增加操作次数的逻辑,因此它的时间复杂度是常数级的O(1)。

举个简单的伪代码示例:

class ArrayQueue {
    private int[] arr;
    private int front; // 记录队头下标

    public int peek() {
        if (isEmpty()) {
            throw new NoSuchElementException();
        }
        return arr[front]; // 直接访问数组元素,O(1)操作
    }

    // 辅助的isEmpty方法
    private boolean isEmpty() {
        // 此处省略判断逻辑
        return false;
    }
}

内容的提问来源于stack exchange,提问作者Ashish

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.06 19:40:37