Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- subalgoritm heapify(lista , n , i) este:
- largest <- i {root}
- l <- 2 * i + 1 {left}
- r <- 2 * i + 2 {right}
- daca l < n si lista[l] > lista[largest] atunci:
- {left child > root}
- largest = l
- sf_daca
- daca r < n si lista[r] > lista[largest] atunci:
- {left child > root}
- largest = r
- sf_daca
- daca largest != i atunci:
- @swap(lista[i] , lista[largest])
- heapify(lista , n , largest)
- sf_daca
- sf_subalgoritm_heapify
- subalgoritm heapSort (lista , n) este:
- pentru i = n / 2 - 1 , 0 executa:
- heapify(lista , n , i)
- sf_pentru
- pentru i = n - 1 , 0 executa:
- @swap(lista[0] , lista[i])
- heapify(lista , i , 0)
- sf_pentru
- sf_subalgoritm_heapSort
- functia binarySearch (lista , valoare , stanga , dreapta) este:
- cat_timp stanga <= dreapta executa:
- mijloc <- (stanga + dreapta) / 2
- daca lista[mijloc] = valoare atunci:
- binarySearch <- adevarat
- altfel
- daca lista[mijloc] > valoare atunci:
- dreapta <- mijloc - 1
- altef
- stanga <- mijloc + 1
- sf_daca
- sf_daca
- sf_cat_timp
- binarySearch <- fals
- sf_functie_binarySearch
- functia cauta(lista) este:
- heapSort(lista , @dimensiune(lista))
- pentru i = 0 , @dimensiune(lista) executa:
- n <- lista[i] + 1
- daca binarySearch(lista , n , 0 , @dimensiune(lista)) atunci:
- functia <- adevarat
- sf_daca
- sf_pentru
- functia <- fals
- sf_functia_cauta
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement