Strukturë të Dhënash

Print

Rexhion Qafa, 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

The "Data Structure" course provides general knowledge on the main data structures and algorithms used to manipulate them. Algorithms and Data Structures are the two essential pillars to build an efficient applications, regardless of the tools used for their implementation. In this context, through this course students will be able to understand the importance and impact that Data Structures have. This course will first address the main types of Data Structures, the advantages and disadvantages of these structures compared to each other and how to implement them. It will also address main searching and sorting algorithms based on these structures.

Objektivat

The "Data Structure" course provides general knowledge on the main data structures and algorithms used to manipulate them. Algorithms and Data Structures are the two essential pillars to build an efficient applications, regardless of the tools used for their implementation. In this context, through this course students will be able to understand the importance and impact that Data Structures have. This course will first address the main types of Data Structures, the advantages and disadvantages of these structures compared to each other and how to implement them. It will also address main searching and sorting algorithms based on these structures.

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. 5-26)
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. 27 – 45)
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. 46-102)
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. 103-131)
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. 174 – 267)
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. 174 – 267)
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. 141 – 173)
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. 141 – 173)
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. 268 – 301)
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. 304 – 367)
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. 457 – 496)
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. 497 – 515)
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. 516 – 547)
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