- Kodi
- CMP 115
- 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 “Strukturë 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. Algoritmika dhe struktura e të dhënave janë dy shtyllat thelbësore për formimin e aplikacioneve efikase, panvarësisht mjeteve të përdorura për implementimin e tyre. Në këtë kontekst, me anë të këtij kursi studentët do jenë të aftë të kuptojnë rëndësinë dhe ndikimin që kanë Strukturat e të Dhënave. Ky kurs do të trajtojë fillimisht llojet kryesore të strukturave të të dhënave, avantazhet dhe disavantazhet e këtyre strukturave në krahasim me njëra tjetrën dhe mënyrën e implementimit të tyre. Gjithashtu, do të trajtojë algoritmet krryesore të kërkimit dhe renditjes bazuar mbi këto struktura.
- Objektivat
- 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
- 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 20% 20%
- Kuize
- 0 0% 0%
- Projekte
- 1 20% 20%
- 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
- 1 1 1
- Gjysmë finale
- 1 2 2
- Provimi përfundimtar
- 1 2 2
- Të tjera
- 0 0 0
- Ngarkesa totale e punës
- 125
- Ngarkesa totale e punës / 25 (orë)
- 5.00
- ECTS
- 5.00