Strukturë të Dhënash

Print

Grasiela Baçellari, Msc

Kodi
EMS 123
Emri
Strukturë të Dhënash
Semestri
1
Leksione
3.00
Seminare
1.00
Laboratore
0.00
Kredite
3.50
ECTS
5.00
Përshkrimi

Lenda"Struktura e të dhënave" ofron njohuri të përgjithshme mbi të dhënat kryesore strukturat dhe algoritmet e përdorura për manipulimin e tyre. Algoritmet dhe të dhënat Strukturat janë dy shtyllat thelbësore për të ndërtuar një aplikim efikas, pavarësisht nga mjetet e përdorura për zbatimin e tyre. Në këtë kontekst, përmes këtij kursi studentët do të jenë në gjendje të kuptojnë rëndësinë dhe ndikimi që kanë Strukturat e të Dhënave. Ky kurs fillimisht do të trajtojë çështjen kryesore llojet e Strukturave të të Dhënave, avantazhet dhe disavantazhet e tyre strukturat e krahasuara me njëra-tjetrën dhe mënyra e zbatimit të tyre. Gjithashtu do adresojnë algoritmet kryesore të kërkimit dhe renditjes bazuar në këto struktura.

Objektivat

Kjo lende prezanton bazat e analizës së kompleksitetit kompjuterik dhe paradigmave të ndryshme të dizajnit të algoritmeve. Objektivat e kesaj lende jane t'u ofrojë studentëve baza të forta për t'u marrë me një gamë të gjerë problemesh llogaritëse dhe për të siguruar një njohuri të plotë të algoritmeve dhe strukturave më të zakonshme të të dhënave.

Java
Tema
1
Hyrje në strukturat e të dhënave Kjo temë realizon një paraqitje të përgjithshme të kursit duke trajtuar në mënyrë të përgjithshme algoritmet dhe strukturat themelore të të dhënave. Tema trajton konceptin e algoritmit, historikun, rëndësinë tij në programim dhe bën një prezantim të përgjithshëm të algoritmeve të kërkimit dhe renditjes. Në këtë temë trajtohen në mënyrë të përgjithshme dhe strutkurat e të dhënave Varg, Listat e Lidhura, Sketu dhe Rreshti/radha e pritjes. (Fq. 1-35)
2
Memoria, Tipet Abstrake të të dhënave dhe Adresat Shpjegimi i disa koncepteve dhe mekanizmave kryesore të cilat janë elementë përbërës dhe mbi të cilat ndërtohen të gjitha strukturat e të dhënave do i ndihmojë studentët në kuptimin dhe implementimin e temave parardhëse. Kjo temë trajton më një vështrim të përgjithshëm memorien kompjuterike, rezervimin e memories, adresat e memories dhe llojet abstrakte të të dhënave. Gjithashtu në këtë temë trajtohen dhe konceptet e variablave dhe pointerave, deklarimi dhe inicializimi i tyre, krijimi i tipeve të reja të të dhënave nga përdoruesi si dhe deklarimi i objekteve të ndryshme. (Fq. 41 – 94)
3
Vargjet dhe Stringjet Kjo temë trajton vargjet një, dy dhe shumë dimensionale, rëndësinë e tyre, veprimet që mund të kryejmë më vargjet, përdorimin dhe mënyrën e implementimit të tyre, analizën e efikasitetit kohor të çdo veprimi. Gjithashtu kjo temë trajton dhe Stringjet, ndryshimet në implementin në krahasim me vargjet e tjerë dhe së fundmi trajtohen avantazhet dhe disavantazhet e strukturës së të dhënave Varg. (Fq. 97-130)
4
Analiza e algoritmeve Kjo temë trajton çka është analiza e algoritmit, rëndësia e tij në ndërtimin e një algoritmi, klasifikimin e shkallës së rritjes së algoritmit, nocionet O, Theta dhe Omega dhe analizën e efikasitetit të algoritmeve sipas rasteve dhe krahasimin e tyre në shembuj të ndryshëm. (Fq. 131-167)
5
Listat e Lidhura Në këtë tëmë trajtohet struktura standarte e listës së lidhur, komponentët kryesorë të saj, ndryshimet e strukturës së lidhur njëfish nga strukturës së lidhur dyfish, implementimi i një listë të lidhur, operacionet me listat i lidhura një fish dhe dyfish. Gjithashtu kjo teme trajton dhe listat e lidhura rrethore njefish, dyfish si dhe multilistat. (Fq. 169 – 198)
6
Listat e Lidhura Në këtë tëmë trajtohet struktura standarte e listës së lidhur, komponentët kryesorë të saj, ndryshimet e strukturës së lidhur njëfish nga strukturës së lidhur dyfish, implementimi i një listë të lidhur, operacionet me listat i lidhura një fish dhe dyfish. Gjithashtu kjo teme trajton dhe listat e lidhura rrethore njefish, dyfish si dhe multilistat. (Fq. 201– 250)
7
Steku dhe Rradhët (Stacks and Queues) Kjo temë trajton Stekun, implementimin e tij përmes vargjeve dhe ATD-ve, operacionet dhe aksiomat për stekun, përdorimi i një sketu bazuar në vargje. Gjithashtu kjo temë trajton dhe Rreshtin (Queue) si dhe implementimin dhe përdorimin e tij përmes një vargu. (Fq. 253 – 280)
8
Provimi gjysmë final
9
Steku dhe Rradhët (Stacks and Queues) Kjo temë trajton Stekun, implementimin e tij përmes vargjeve dhe ATD-ve, operacionet dhe aksiomat për stekun, përdorimi i një sketu bazuar në vargje. Gjithashtu kjo temë trajton dhe Rreshtin (Queue) si dhe implementimin dhe përdorimin e tij përmes një vargu. (Fq.283 – 312)
10
Rekursioni Kjo temë trajton rekursionin, implementimin e tij nëpërmjet shembullit të faktorielit dhe përparësitë dhe të metat e tij. Gjithashtu trajtohen algoritmet kryesore rekursive dhe algoritmet përça dhe sundu. (Fq. 315 – 344)
11
Pemët (Trees) Kjo temë trjaton pemët (Trees), tiparet matematike të tyre, përshkimi i pemëve, kërkimi në pemë sipas teknikave “thellësia së pari” dhe “gjërësia së pari”, implementimi i algoritmeve rekursive nëpërmejt pemëve. Gjithathsu në këtë temë trjatohen dhe pemët binare, elementët e saj, kërkimi në to dhe implementimi i tyre. (Fq. 345 – 384)
12
Grafet Në këtë temë trajtohen grafet, reprezantimi i grafit të padrejtuar, matrica dhe lista e fqinjësisë, algoritmet për grafet e padrejtuara, përshkimi ityre me anë të teknikave “thellësia së pari” dhe “gjërësia së pari”, pema e shtrirjes minimale, algoritmet Dijkstra-prim, Kruska dhe algoritmi i stegut më të shkurtët nëpërmjet Dijkstra’s. (Fq. 387 – 420)
13
Algoritmet e Kërkimit Kjo temë trajton algoritmet e kërkimit sekuencial dhe binar, analizën e algoritmin të kërkimit binar, algoritmin për bashkimin e vargeve, numrat primarë, sitën e Eratostenit, implementimin e këtyre algoritmeve me anë të shembujve të ndryshëm dhe analizën e kompleksitetit të tyre. (Fq. 423 – 440)
14
Algoritmet e Renditjes Kjo temë trajton algoritmet e renditjes Bubble Sort, Selection Sort, Insertion Sort, Quick Sort dhe Merge Sort. Gjithashtu kjo temë trajton mënyrat e implementimint të këtyre algoritmeve renditëse dhe analizën e efikasitetit të tyre. (Fq. 441 – 468)
15
Përmbledhje e Përgjithshme
16
Final Exam
1
Studentët do të jenë të aftë të kuptojnë strukturat kryesore të të dhënave.
2
Studentët do të kenë njohuri mbi trajtimin e strukturave të të dhënave.
3
Studentët do të përvetësojnë konceptet më të rëndësishme të strukturave të të dhënave dhe algoritmikës.
4
Studentët do të jenë të aftë të kuptojnë rëndësinë e strukturave të të dhënave dhe algoritmikës në ndërtimin e një aplikacioni efikas.
5
Studentët do të jenë të aftë për të implementuar këto struktura të dhënash në çfarëdolloj gjuhe programimi.
6
Studentët do të jenë të pajisur me terminologjinë e mjaftueshme teknologjike për të vijuar me lëndët e tjera pasardhëse.
Sasia Përqindja Përqindja totale
Gjysmë finale
1 40% 40%
Kuize
0 0% 0%
Projekte
0 0% 0%
Detyra
0 0% 0%
Laboratorët
0 0% 0%
Pjesëmarrja në mësim
0 0% 0%
Përqindja totale e vlerësimit
40%
Përqindja e provimit përfundimtar
60%
Përqindja totale
100%
Sasia Kohëzgjatja (orë) Gjithsej (orë)
Kohëzgjatja e kursit (përfshirë javët e provimit)
16 4 64
Orë studimi jashtë klasës
14 4 56
Detyrat
0 0 0
Gjysmë finale
1 2 2
Provimi përfundimtar
1 2 2
Të tjera
0 0 0
Ngarkesa totale e punës
124
Ngarkesa totale e punës / 25 (orë)
4.96
ECTS
5.00