gpt4 book ai didi

java - 无法理解我的书如何计算算法步骤

转载 作者:行者123 更新时间:2023-11-30 04:05:50 25 4
gpt4 key购买 nike

在这个例子中,我的书向我展示了如何计算冒泡排序算法中的步骤。代码中的每条注释都解释了为什么添加到 steps 的数量。

代码:

public void bubbleSort(ArrayList <Comparable> list){
steps = 0;
for (int outer = 0; outer < list.size() - 1; outer++){
for (int inner = 0; inner < list.size()-outer-1; inner++){
steps += 3;//count one compare and 2 gets
if (list.get(inner).compareTo(list.get(inner + 1)) > 0){
steps += 4;//count 2 gets and 2 sets
Comparable temp = list.get(inner);
list.set(inner,list.get(inner + 1));
list.set(inner + 1,temp);
}
}
}
}

当查看 steps += 4; 时,我明白为什么他们添加 4:仅仅因为有 2 个 get 语句和 2 个 set 语句。然而,在这一步 steps += 3;//count 1 Compare and 2 gets 我不明白为什么要添加 3。 if 语句之前的代码中的位置是有比较语句吗?此外,if 语句之前的“2​​ gets”在哪里?也许我误解了他们计算步数的方式,但这实际上是我的书提供的全部内容。

最佳答案

if 语句本身有两个获取和一个比较:

if (list.get(inner).compareTo(list.get(inner + 1)) > 0)

关于java - 无法理解我的书如何计算算法步骤,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20752062/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com