Emri i Lëndës : Strukturë të dhënash
Kodi Tipi i
lëndës
Semestri Leksione
(orë/javë)
Seminare
(orë/javë)
Lab
(orë/javë)
Kredite ECTS
CMP 115-2 A -1 3 1 0 3.50 5
Lektori dhe orari i konsultimeve
Asistenti dhe orari i konsultimeve
Gjuha e kursit
Niveli i lëndës
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
Programi i Lëndës
JavaTema
1Hyrje 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)
2Memoria, 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)
3Vargjet 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)
4Analiza 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)
5Listat 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)
6Listat 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)
7Steku 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)
8Provimi gjysmë final
9Steku 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)
10Rekursioni 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)
11Pemë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)
12Grafet 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)
13Algoritmet 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)
14Algoritmet 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)
15Përmbledhje e Përgjithshme
16Provim Final
Parakushtet
Literatura
Referenca të tjera
Punë laboratori
Përdorimi i komp.
Të tjera
Rezultatet e Lëndës dhe Kompetencat
1Studentët do të jenë të aftë të kuptojnë strukturat kryesore të të dhënave.
2Studentët do të kenë njohuri mbi trajtimin e strukturave të të dhënave.
3Studentët do të përvetësojnë konceptet më të rëndësishme të strukturave të të dhënave dhe algoritmikës.
4Studentë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.
5Studentët do të jenë të aftë për të implementuar këto struktura të dhënash në çfarëdolloj gjuhe programimi.
6Studentët do të jenë të pajisur me terminologjinë e mjaftueshme teknologjike për të vijuar me lëndët e tjera pasardhëse.
Mënyra e Vlerësimit të Lëndës
Notat e Ndërmjetme Sasia Përqindja
Gjysmë finale120
Kuize00
Projekte120
Projekte semestrale00
Punë laboratori00
Pjesëmarrja në mësim 00
Kontributi i notave të ndërmjetme mbi vlerësimin final40
Kontributi i provimit final mbi vlerësimin final60
Total100
Ngarkesa ECTS (Në Bazë të Ngarkesës së Studentit)
Aktivitetet Sasia Kohëzgjatja
(orë)
Ngarkesa Totale
(orë)
Kohëzgjatja e kursit (Duke përfshirë edhe javën e provimeve : 16x Orët totale të kursit) 16464
Orët e studimit jashtë klase (Parapërgatitje, Praktika etj) 14456
Detyra 111
Gjysmë finale 122
Provimi final 122
Të tjera 000
Ngarkesa totale e orëve 125
Ngarkesa totale e orëve / 25 (orë) 5
ECTS 5

PDF (Shqip) PDF (Anglisht)