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

Kursi "Struktura të Dhënash" ofron njohuri të përgjithshme mbi strukturat kryesore të të dhënave dhe algoritmet që përdoren për manipulimin e tyre. Algoritmet dhe Strukturat e të Dhënave janë dy shtyllat thelbësore për ndërtimin e aplikacioneve efikase, 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 ndikimin që kanë Strukturat e të Dhënave. Ky kurs fillimisht do të trajtojë llojet kryesore të Strukturave të të Dhënave, avantazhet dhe disavantazhet e tyre krahasuar me njëra-tjetrën dhe mënyrën e zbatimit të tyre. Gjithashtu, do të trajtohen algoritmet kryesore të kërkimit dhe renditjes bazuar në këto struktura.

Objektivat

1- Kuptimi i strukturave themelore të të dhënave dhe aplikimet e tyre. 2- Analizimi i kompleksitetit të algoritmeve dhe operacioneve të strukturave të të dhënave. 3- Zbatimi i strukturave të të dhënave në mënyrë efikase në një gjuhë programimi. 4- Zhvillimi i aftësive për të zgjidhur probleme llogaritëse duke përdorur struktura të dhënash.

Java
Tema
1
Prezantimi i kursit dhe programit mësimor.
2
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)
3
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)
4
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)
5
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)
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
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)
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 Rradhët(Queue) si dhe implementimin dhe përdorimin e tij përmes një vargu. (Fq.283 – 312)
10
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 Rradhët(Queue) si dhe implementimin dhe përdorimin e tij përmes një vargu. (Fq.283 – 312)
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
Provim Final
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 30% 30%
Kuize
0 0% 0%
Projekte
0 0% 0%
Detyra
0 0% 0%
Laboratorët
1 20% 20%
Pjesëmarrja në mësim
1 10% 10%
Përqindja totale e vlerësimit
60%
Përqindja e provimit përfundimtar
40%
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 2 28
Detyrat
0 0 0
Gjysmë finale
1 13 13
Provimi përfundimtar
1 20 20
Të tjera
0 0 0
Ngarkesa totale e punës
125
Ngarkesa totale e punës / 25 (orë)
5.00
ECTS
5.00