簡體   English   中英

需要幫助來確定給定算法是迭代還是遞歸

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM