Përshkrimi
QËLLIMI
Studimi i teknikave themelore të algoritmeve dhe strukturat e të dhënave që janë më të përdorshme në fushën e programimit. Analiza shkencore e efikasitetit të tyre. Zbatimet praktike të tyre.
PËRMBAJTJA
Kursi përfshin: struktura të thjeshta të dhënash, renditja, kërkimi, gjetje bashkimi, kërkim dyjar, stivat, rradhët, trastat, renditja me ndërfutje, renditja me përzgjedhje, shellsort, quicksort, mergesort, heapsort, pirgjet dyjare, pemë kërkimi dyjare, pemët kuq-e-zi, tabelat hash, algoritme grafesh dhe përpunim vargjesh, kërkimi në thellësi, kërkimi në gjerësi, renditja topologjike, Kruskal, Prim, Dijkistra, Bellman-Ford, Ford-Fulkerson, renditja rrënjësore, përputhja e shprehjeve të rregullta, kodimi Huffman, ngjeshja LZW, shndërrimi Burrows-Wheeler, etj.
PARAKUSHTET
Njohje bazë me gjuhën Java dhe elementet e programimit si: ciklet, kushtet, vektorët, funksionet, vetëthirrja, objektet, etj.
LIBRAT
Algorithms, 4th Edition by Robert Sedgewick and Kevin Wayne, Addison-Wesley Professional, 2011, ISBN 0-321-57351-X.
Booksite: http://algs4.cs.princeton.edu/home/
VLERËSIMI
Pikë |
≤40 |
41-50 |
51-60 |
61-70 |
71-80 |
81-90 |
91-100 |
Nota |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
Vlerësimi do të bëhet mbi bazën e pikëve të grumbulluara, ku 60% e pikëve do të vijnë nga provimi përfundimtar, dhe 40% e pikëve do të vijnë nga detyrat. Detyra do ketë çdo javë, një javë me pyetje teorike, një javë me programim. Çdo detyrë do të ketë maksimumi 3 pikë. Detyrat e dorëzuara mbas afatit të përcaktuar nuk do të pranohen. Në rast se verifikohet që dy detyra janë të kopjuara, të dy studentët do të penalizohen me -2 pikë.
PROGRAMI MËSIMOR
Gjetja e Bashkimit (Union-Find). Analiza e Algoritmeve (Analysis of Algorithms)
Stivat dhe Rradhët (Stacks and Queues). Renditje të Thjeshta (Elementary Sorts)
Mergesort, Quicksort
Rradhët me Përparësi (Priority Queues). Tabela Simbolesh të Thjeshta (Elementary Symbol Tables)
Pemë kërkimi të barazpeshuara (Balanced Search Trees – BST). Aplikime Gjeometrike të BST-ve (Geometric Applications of BSTs)
Tabelat Hash (Hash Tables)
Grafet pa Drejtim (Undirected Graphs)
Grafet me Drejtim (Directed Graphs)
Pemët Përfshirëse Minimale (Minimum Spaning Trees). Rrugët më të Shkurtra (Shortest Paths)
Rrjedha Maksimale dhe Prerja Minimale (Maximum Flow and Minimum Cut)
Renditja Rrënjësore (Radix Sort). Përpjekjet (Tries)
Kërkim Nënvargu (Substring Search)
Shprehjet e Rregullta (Regular Expressions)
Ngjeshje të Dhënash (Data Compression)
Thjeshtimet (Reductions). Kokëfortësia (Intractability). Grupet e vështirësisë P, NP, NP-complete