Receta Gatimi

Algoritm Renditje - QuickSort


+ Pėrgjigju tek Diskutimi
Rezultatet nga 1 deri tek 2 prej 2
  1. #1
    iii pazevendesueshem! Super Mod Maska e ReniX
    Anėtarėsimi
    Nov 2006
    Vendndodhja
    Fi-IT
    Postime
    14,359
    Gjinia
    Mashkull
    Reputacioni
    36

    Arrow Algoritm Renditje - QuickSort

    Quicksort - Java



    Quicksort eshte nje algoritem per renditje rikorsiv qe nuk perdor memorie shtes, si mergesort (do e shpjegojme temen tjeter) ai perdor tekniken "divide et impera" (nda dhe pushto, e pedour nga romaket). Ai zgjedh nje element (pivot) dhe i ndan elementet e tjere duke vendosur nga e majta ata me te vegjelit dhe nga e djathta ata me te medhenjte dhe me pas ben krahasime dhe zevendesime.
    Quicksort eshte shume i thjeshte per tu implementuar por nqs do te benim ndonje ndryshim ka mundesi qe ai te behet teper i veshtire duke na prishur pune. Kompleksiteti nė rastin mesatar ėshtė nlog , por ne rastin me te keq ai ngrihet ne katror.


    Pseudokodi quicksort anglisht:
    Kodi PHP:
    function quicksort(array)
         var list 
    lessgreater
         
    if length(array) ≤ 1  
             
    return array  
         
    select and remove a pivot value pivot from array
         for 
    each x in array
             if 
    ≤ pivot then append x to less
             
    else append x to greater
         
    return concatenate(quicksort(less), pivotquicksort(greater)) 
    Ketu keni nje shembull te implementuar ne Java te Quicksort:
    Kodi PHP:
    // Vini re: per nisjen fin duhet te jete i barabarte me v.length-1
    public void QuickSortint [] int in int fin ){
            if( 
    fin<=in )return;
                
    int pos=ndarjev,in,fin );
                
    QuickSortv,in,pos-);  //Ndarja e majte
                
    QuickSortv,pos+1,fin ); //Ndarja e djathte
        
    }
     
    public 
    int ndarjeint[]int in int fin ){
          
    // Elementi pivot eshte i pari (pozcioni 0)
            
    int i=in+1,j=fin;
            while( 
    i<=){
                while( (
    i<=fin) && (v[i]<=v[fin]) ) i++;
                    while( 
    v[j]>v[in] ) j--;
                    if( 
    i<=){
                          
    // Ndrysho
                        
    int t=v[i];
                        
    v[i]=v[j];
                        
    v[j]=t;
                    }
            }
              
    // Ndrysho
            
    int tt=v[in];
            
    v[in]=v[i-1];
            
    v[i-1]=tt;
     
            return 
    i-1;
        } 
    per Lirenti.com 2009, ReniX
    Imazhi dhe nje pjese e algoritmint nga wikipedia

  2. #2
    ..::мoderaтor::.. 35% Maska e kristimcs
    Anėtarėsimi
    Mar 2009
    Vendndodhja
    MC Planet
    Postime
    585
    Gjinia
    Mashkull
    Reputacioni
    16
    nk mora vesh gje..per cfare sherben kjo?

+ Pėrgjigju tek Diskutimi

Tema tė ngjashme

  1. Pėrgjigje: 0
    Postimi i Fundit: 20-12-2009, 07:40 PM

Etiketat pėr kėtė Temė