Algoritmet dhe strukturat e t dhnave Algorithms PEMET

  • Slides: 35
Download presentation
Algoritmet dhe strukturat e të dhënave Algorithms Ø PEMET AVL Ø STRUKTURAT HEAP

Algoritmet dhe strukturat e të dhënave Algorithms Ø PEMET AVL Ø STRUKTURAT HEAP

Algoritmet dhe strukturat e të dhënave Ø PEMET AVL § Ekzistojne shume algoritme qe

Algoritmet dhe strukturat e të dhënave Ø PEMET AVL § Ekzistojne shume algoritme qe perdoren per balancimin e BST § AVL trees eshte nje BST ku secila node e permbush kushtin: Ø Lartesia (height) e nenpemes (sub-strees) se majte dhe nenpemes se djathe ndryshon maximum vetem per ± 1. Ø Lartesia e leaf (gjethes) eshte 0 Ø Lartesia e null pointer eshte -1 Ø Faktori i balancimit: hleft – hright Ø Lartesia e nodes llogaritet h = max{height(left child), height(right child)}+1 ‣

Algoritmet dhe strukturat e të dhënave Ø PEMET AVL - shembuj

Algoritmet dhe strukturat e të dhënave Ø PEMET AVL - shembuj

Algoritmet dhe strukturat e të dhënave Ø PEMET AVL – AVL? PO secila nenpeme

Algoritmet dhe strukturat e të dhënave Ø PEMET AVL – AVL? PO secila nenpeme ka ± 1 lartesi JO njera nenpeme ka me shume se ± 1 lartesi

Algoritmet dhe strukturat e të dhënave Ø PEMET AVL – AVL? PO secila nenpeme

Algoritmet dhe strukturat e të dhënave Ø PEMET AVL – AVL? PO secila nenpeme ka ± 1 lartesi JO PO secila nenpeme ka ± 1 lartesi njera nenpeme ka me shume se ± 1 lartesi

Algoritmet dhe strukturat e të dhënave Ø PEMET AVL - INSERT § Shembulli i

Algoritmet dhe strukturat e të dhënave Ø PEMET AVL - INSERT § Shembulli i me poshtem a eshte AVL? § Te insertohet vlera 2 ne shembullin e meposhtem! ‣

Algoritmet dhe strukturat e të dhënave Ø PEMET AVL - INSERT ‣ Ø AVL?

Algoritmet dhe strukturat e të dhënave Ø PEMET AVL - INSERT ‣ Ø AVL?

Algoritmet dhe strukturat e të dhënave Ø PEMET AVL - INSERT 4 -menyra te

Algoritmet dhe strukturat e të dhënave Ø PEMET AVL - INSERT 4 -menyra te insertimit ne nje peme: a) b) c) d) Insertimi ne nenpemen e majte te femise se majte! Insertimi ne nenpemen e djathte te femise se majte! Insertimi ne nenpemen e majte te femise se djathte! Insertimi ne nenpemen e djathte te femise se djathte! ‣

Algoritmet dhe strukturat e të dhënave Ø PEMET AVL - INSERT a) Insertimi ne

Algoritmet dhe strukturat e të dhënave Ø PEMET AVL - INSERT a) Insertimi ne nenpemen e b) majte te femise se majte! a) Insertimi ne nenpemen e d) majte te femise se djathte! ‣ Insertimi ne nenpemen e djathte te femise se majte! Insertimi ne nenpemen e djathte te femise se djathte!

Algoritmet dhe strukturat e të dhënave Ø PEMET AVL - ROTATION o 4 -mundesi

Algoritmet dhe strukturat e të dhënave Ø PEMET AVL - ROTATION o 4 -mundesi rotacioni (rrotullimi) a) Left –> rotation b) Right –> rotation c) Left-Right -> rotation d) Right-Left-> rotation ‣

Algoritmet dhe strukturat e të dhënave Ø PEMET AVL – ROTATION a) Left–> rotation

Algoritmet dhe strukturat e të dhënave Ø PEMET AVL – ROTATION a) Left–> rotation Para ‣ Pas

Algoritmet dhe strukturat e të dhënave Ø PEMET AVL – ROTATION a) Right –>

Algoritmet dhe strukturat e të dhënave Ø PEMET AVL – ROTATION a) Right –> rotation Para ‣ Pas

Algoritmet dhe strukturat e të dhënave Ø PEMET AVL – ROTATION a) Left-Right –>

Algoritmet dhe strukturat e të dhënave Ø PEMET AVL – ROTATION a) Left-Right –> rotation Para Hap 1 Hap 2

Algoritmet dhe strukturat e të dhënave Ø PEMET AVL – ROTATION a) Right-Left –>

Algoritmet dhe strukturat e të dhënave Ø PEMET AVL – ROTATION a) Right-Left –> rotation Para Hap 1 Hap 2

Algoritmet dhe strukturat e të dhënave Ø PEMET AVL – ROTATION

Algoritmet dhe strukturat e të dhënave Ø PEMET AVL – ROTATION

Algoritmet dhe strukturat e të dhënave Ø PEMET AVL - ROTATION o Percaktimi se

Algoritmet dhe strukturat e të dhënave Ø PEMET AVL - ROTATION o Percaktimi se cilin opsion te rotation ta perdorim Ø Nese lartesia (height) e nodes jo-te balancuar eshte: 1. Pozitive: Left-side; (shembull h=2) Ø Nese lartesia e nodes se majte eshte: a) Pozitive: Left -> Rotation; (shembull h=1) b) Negative: Left-Righte -> Rotation; (shembull h=-1) 2. Negative: Right-side; (shembull h=-2) Ø Nese lartesia e nodes se djathte eshte: a) Pozitive: Right-Left -> Rotation; (shembull h=1) b) Negative: Right -> Rotation; (shembull h=-1) ‣

Algoritmet dhe strukturat e të dhënave Ø PEMET AVL – SHEMBULL 1. Ne pemen

Algoritmet dhe strukturat e të dhënave Ø PEMET AVL – SHEMBULL 1. Ne pemen e meposhtme insert vleren 9 dhe pastaj kontrollo cilin lloj te rotation perdorim.

Algoritmet dhe strukturat e të dhënave Ø PEMET AVL – SHEMBULL-Zgjidhja 1. Pas insertimit

Algoritmet dhe strukturat e të dhënave Ø PEMET AVL – SHEMBULL-Zgjidhja 1. Pas insertimit - Right-rotation

Algoritmet dhe strukturat e të dhënave Ø PEMET AVL – SHEMBULL 1. Ne. AVL-pemen

Algoritmet dhe strukturat e të dhënave Ø PEMET AVL – SHEMBULL 1. Ne. AVL-pemen e meposhtme a) Shto noden me numrin 16 b) Kontrollo a eshte AVL c) Inserto 15. d) Kontrollo a eshte AVL. e) Nese jo rregullo AVL permes rotation

Algoritmet dhe strukturat e të dhënave Ø PEMET AVL – Zgjidhja

Algoritmet dhe strukturat e të dhënave Ø PEMET AVL – Zgjidhja

Algoritmet dhe strukturat e të dhënave Ø PEMET AVL – Zgjidhja

Algoritmet dhe strukturat e të dhënave Ø PEMET AVL – Zgjidhja

Algoritmet dhe strukturat e të dhënave Ø STRUKTURAT HEAP § Heap: eshte nje binary

Algoritmet dhe strukturat e të dhënave Ø STRUKTURAT HEAP § Heap: eshte nje binary tree qe permbush 2 -property 1. Structure property 2. Heap-order property Arsyetim: 1. Structure property: Nje binary HEAP eshte pothuajse nje binary tree e kompletuaar a) Secili nivel (duke mos llogaritur nivelin e fundit) eshte I mbushur me te dhena b) Niveli I fundit mund te jete gjysme I mbushur.

Algoritmet dhe strukturat e të dhënave Ø STRUKTURAT HEAP § Shebull:

Algoritmet dhe strukturat e të dhënave Ø STRUKTURAT HEAP § Shebull:

Algoritmet dhe strukturat e të dhënave Ø STRUKTURAT HEAP Arsyetim: 1. Heap-Order property: Nese

Algoritmet dhe strukturat e të dhënave Ø STRUKTURAT HEAP Arsyetim: 1. Heap-Order property: Nese y eshte femij i nodes X atehere: Max-Heap: A[parent(i)] >= A[i] Min-Heap: A[parent(i)] <= A[i]

Algoritmet dhe strukturat e të dhënave Ø STRUKTURAT HEAP Arsyetim: 1. Heap-Order property: Nese

Algoritmet dhe strukturat e të dhënave Ø STRUKTURAT HEAP Arsyetim: 1. Heap-Order property: Nese y eshte femij i nodes X atehere: Max-Heap: A[parent(i)] >= A[i] Min-Heap: A[parent(i)] <= A[i]

Algoritmet dhe strukturat e të dhënave Ø STRUKTURAT HEAP Implementimi i nodes ne array

Algoritmet dhe strukturat e të dhënave Ø STRUKTURAT HEAP Implementimi i nodes ne array

Algoritmet dhe strukturat e të dhënave Ø HEAP - INSERTI • Shto elementin e

Algoritmet dhe strukturat e të dhënave Ø HEAP - INSERTI • Shto elementin e ri ne femijen e pare qe nuk eshte I mbushur • Kontrollo a po e permbusht kushtin per max ose min heap

Algoritmet dhe strukturat e të dhënave Ø HEAP - INSERTI • Shembull – insert

Algoritmet dhe strukturat e të dhënave Ø HEAP - INSERTI • Shembull – insert ne min-heap

Algoritmet dhe strukturat e të dhënave Ø HEAP - INSERTI • Shembull – insert

Algoritmet dhe strukturat e të dhënave Ø HEAP - INSERTI • Shembull – insert ne min-heap

Algoritmet dhe strukturat e të dhënave Ø Max-HEAP - DELETE • Rasti 1:

Algoritmet dhe strukturat e të dhënave Ø Max-HEAP - DELETE • Rasti 1:

Algoritmet dhe strukturat e të dhënave Ø Max-HEAP - DELETE • Rasti 2:

Algoritmet dhe strukturat e të dhënave Ø Max-HEAP - DELETE • Rasti 2:

Algoritmet dhe strukturat e të dhënave Ø Max-HEAP - DELETE • Rasti 3:

Algoritmet dhe strukturat e të dhënave Ø Max-HEAP - DELETE • Rasti 3:

Algoritmet dhe strukturat e të dhënave Ø Min-HEAP - DELETE

Algoritmet dhe strukturat e të dhënave Ø Min-HEAP - DELETE

Algoritmet dhe strukturat e të dhënave Ø Min-HEAP - DELETE

Algoritmet dhe strukturat e të dhënave Ø Min-HEAP - DELETE

Algoritmet dhe strukturat e të dhënave Ø Heap - shembull § Eshte dhene vargu

Algoritmet dhe strukturat e të dhënave Ø Heap - shembull § Eshte dhene vargu 1. 2. 3. 4. Te krijohet heap Krijo max Heap Fshi noden me vleren me te madhe Krijo rradhitjen e re per max heap