Advertisement
Guest User

Untitled

a guest
Mar 22nd, 2018
74
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.54 KB | None | 0 0
  1. n șiruri deja sortate a1... an pentru care se cunosc
  2. valorile acestora a1--> a11 a12... a1k1
  3. . . . . . . . . . .
  4. an-->an1 an2... ank1
  5. 1. Abordare trivial
  6. 2. Abordare naivă
  7. ( merge )
  8. 3. Abordare acceptată
  9. ( merge )
  10. 4. Abordare optimă
  11. l1 , l2 -> l1+l2 deplasări în rezultat
  12.  
  13. siruri cu lungimi: 30, 10, 50, 10, 20
  14. 30+10 -> 40 + 50 -> 90 +10 -> 100 + 20 -> 120 deplasări
  15.  
  16. pt optim: interplasez cate două din cele mai scurte șiruri din cele pe
  17. care le dețin la un moment dat:
  18.  
  19. 10+10 -> 20+20 -> 40 +30 -> 70 +50 -> 120 deplasări
  20.  
  21. inițial organizez aj ca heap h w1+...+k1
  22.  
  23. pt i=1; la n-1
  24. arătam de 2 ori din heap
  25. introducem
  26.  
  27. Idee: efortul de reorganizare a unui heap este minim
  28.  
  29. NDG -> metode de reprezentare/conversii(12)
  30. parcurgeri DFS/BFS/aplicatii(5+1)
  31. -> cazuri particulare de NDG
  32. C1 -> grafuri ( graf conex, aciclic în care conexitatea minimal
  33. asigurată, aciclicitatea maximal asigurată )
  34. Aplicații: Arborii minheap
  35. C2 -> NDG ( grafuri nedirecționate ) ponderate -> Algoritmul lui Kruskal, Prim
  36.  
  37. D -> DG grafuri orientate -> Roy Ooyd
  38. -> Roy Warshall
  39. -> Riktha
  40.  
  41. Heap-uri(grămezi)
  42. Heap-uri este un arbore binar în interiorul caruia orice nod are un nume și o informație astfel
  43. încât sunt verificate proprietățiile.
  44. 1. Descendenții unui nod i, dacă exista se numesc 2*i și 2+1
  45. 2. Informația unui nod i este mai mică decât toți descendenții săi.( informația minimă se află in
  46. rădacină )
  47.  
  48. Construcția unui minheap:
  49. Principiu:
  50. - se pornește cu heap-ul singleton, la fiecare pas se inserează un câte nou nod într-un heap deja
  51. existent
  52. - fie pas i al inserției nodului i din cele deținute în heap-ul anterior creat
  53. - se determină tatăl acestuia ( partea întreagă din i/2 ) apar situațiile
  54. a) relația tată-fiu este corectă și în acest moment consider heap-ul cu i elemente, trec la
  55. inserția următoare
  56. b) relația tată-fiu este incorectă, în acest caz -> interschimb informațiile tată fiu cu
  57. scopul de a restabli corectitudinea
  58. aleg fiu fostul tată cu intenția de a
  59. face un șir de verificări asupra
  60. consistenței grămezilor heap-ului
  61.  
  62.  
  63. Pseudocod
  64. pt i=2 de la n execută
  65. tată=int i/2
  66. atâta timp cat v[tata]>v[i] și v[tată]>1
  67. | dacă v[tată] > v[i] interschimb v[tată] cu v[i]
  68. fiu=tată;
  69. tată=int fiu/2
  70.  
  71.  
  72. n=5
  73. M={5|,1,9,14,2}
  74. 5
  75. / \
  76. = =
  77. Vnou:[1][5][9][14][2]
  78. 1
  79. / \
  80. 5 =
  81. Vnou:[1][5][9][14][2]
  82. 1,5,9
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement