- 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