Advertisement
Guest User

Untitled

a guest
Jun 25th, 2017
61
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.34 KB | None | 0 0
  1. subalgoritm heapify(lista , n , i) este:
  2. largest <- i {root}
  3. l <- 2 * i + 1 {left}
  4. r <- 2 * i + 2 {right}
  5. daca l < n si lista[l] > lista[largest] atunci:
  6. {left child > root}
  7. largest = l
  8. sf_daca
  9. daca r < n si lista[r] > lista[largest] atunci:
  10. {left child > root}
  11. largest = r
  12. sf_daca
  13. daca largest != i atunci:
  14. @swap(lista[i] , lista[largest])
  15. heapify(lista , n , largest)
  16. sf_daca
  17. sf_subalgoritm_heapify
  18.  
  19. subalgoritm heapSort (lista , n) este:
  20. pentru i = n / 2 - 1 , 0 executa:
  21. heapify(lista , n , i)
  22. sf_pentru
  23. pentru i = n - 1 , 0 executa:
  24. @swap(lista[0] , lista[i])
  25. heapify(lista , i , 0)
  26. sf_pentru
  27. sf_subalgoritm_heapSort
  28.  
  29. functia binarySearch (lista , valoare , stanga , dreapta) este:
  30. cat_timp stanga <= dreapta executa:
  31. mijloc <- (stanga + dreapta) / 2
  32. daca lista[mijloc] = valoare atunci:
  33. binarySearch <- adevarat
  34. altfel
  35. daca lista[mijloc] > valoare atunci:
  36. dreapta <- mijloc - 1
  37. altef
  38. stanga <- mijloc + 1
  39. sf_daca
  40. sf_daca
  41. sf_cat_timp
  42. binarySearch <- fals
  43. sf_functie_binarySearch
  44.  
  45. functia cauta(lista) este:
  46. heapSort(lista , @dimensiune(lista))
  47. pentru i = 0 , @dimensiune(lista) executa:
  48. n <- lista[i] + 1
  49. daca binarySearch(lista , n , 0 , @dimensiune(lista)) atunci:
  50. functia <- adevarat
  51. sf_daca
  52. sf_pentru
  53. functia <- fals
  54. sf_functia_cauta
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement