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

for/while循环数组最小值算法及时间复杂度技术咨询

问题解答

1. 你的for循环实现的时间复杂度分析

你的代码分为两个核心部分:

  • 第一个for循环用于读取n个元素并添加到列表,共执行n次操作,时间复杂度为O(n)。
  • 调用内置函数min(list1)时,Python会遍历整个列表的n个元素来确定最小值,这部分时间复杂度同样是O(n)。

将两部分操作的时间复杂度叠加后,整体时间复杂度为O(n)(线性时间复杂度),线性级别的操作相加后仍保持线性级别。

2. while循环实现数组最小值查找(Python)

以下是包含输入逻辑和最小值查找的while循环实现代码:

list1 = []
num = int(input("Enter number of elements in list: "))

# 读取数组元素
i = 1
while i <= num:
    ele = int(input("Enter elements: "))
    list1.append(ele)
    i += 1

# 查找最小值
if not list1:
    print("List is empty")
else:
    min_val = list1[0]
    index = 1
    while index < len(list1):
        if list1[index] < min_val:
            min_val = list1[index]
        index += 1
    print("Smallest element is:", min_val)

时间复杂度分析

  • 读取元素的while循环执行n次,时间复杂度为O(n)。
  • 查找最小值的while循环需要遍历列表所有n个元素,时间复杂度为O(n)。

整体时间复杂度为O(n),无论数组元素排列顺序如何,都必须遍历所有元素才能确定最小值,因此最好情况与最坏情况的时间复杂度均为线性级别。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.09 19:25:28