[英]Need help to determine if a given algorithm is iterative or recursive
所以我有一個計算機科學模塊的項目,他們要求我們快速執行迭代和合並排序,所以我寫了一個算法,但我不確定它是迭代還是遞歸。
任何反饋將不勝感激,提前致謝!
這是算法(它有效,只需要知道它是否是迭代的)
public static void quickSort(ArrayList<school> x){
if(x.isEmpty()){
return ;
}
ArrayList<school> smaller = new ArrayList<>();
ArrayList<school> greater = new ArrayList<>();
school pivot = x.get(0); // pivot value
int i; // incremental counter
school j; // looping value
for( i=1; i < x.size();i++){
j = x.get(i);
if( j.getName().compareTo(pivot.getName()) < 0 ){
smaller.add(j);
}else{
greater.add(j);
}
}
quickSort(smaller);
quickSort(greater);
x.clear();
x.addAll(smaller);
x.add(pivot);
x.addAll(greater);
}
quickSort
函數是從自身內部調用的,因此這是遞歸的。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.