Податочни структури и анализа на алгоритми

Објавено: октомври 23, 2019

1.    Наслов на наставниот предмет

Податочни структури и анализа на алгоритми

2.    Код

3ФЕИТ07Л024

3.    Студиска програма

КТИ, ТКИИ

4.    Организатор на студиската програма

Факултет за електротехника и информациски технологии

5.    Степен

Прв циклус студии

6.    Академска година/семестар

II/4

7.    Број на ЕКТС

6.00

8.    Наставник

Д-р Даниел Денковски

9.    Предуслов за запишување на предметот

Положени: Програмирање и алгоритми Ислушани: Податочни структури и програмирање

10.    Цели на предметната програма (компетенции): Работа со сложени податочни структури илустрирани преку програмскиот јазик Јава. Работа со податочни стуктури и алгоритми за работа со истите. По завршување на курсот студентот ќе може да решава проблеми со сложени податочни стуктури и алгоритми (во Јава).

11.    Содржина на програмата: Вовед за теорија на алгоритми и основни концепти на податочни структури. Логички и физички структури. Имплементација со Јава ADT. Анализа и комплексност на алгоритам.  Линеарни податочни структури-низи и листи. Статички и динамички низи и листи во Јава.   Примена на низи и листи за логички податочни структури: пласт/магацин, ред, двостран ред, приоритетен ред (имплементација со Јава).  Алгоритамски стратегии. Дизајн на алгоритми. Класификација на алгоритми. Стратегија груба сила (brute force). Алчни (greedy) алгоритми. Стратегија раздели и владеј (Divide and Conquer).   Нелинеарни структури. Дрва.  Бинарни дрва. Бинарни пребарувачки дрва. Балансирани бинарни пребарувачки дрва. AVL дрва. Црвено-црни балансирани дрва (Red‐Black Trees). Хеш (hash) структури. Функции за хеширање и нивни својства. Колизии и разрешување. Графови. Насочени и ненасочени графови. Примена на графови. Тежински графови. Претстава на графови преку податочни структури. Пребарување во графови: по длабочина и по широчина.  Алгоритми за најкратки патеки во тежински графови. Белман-Форд алгоритам. Алгоритам на Дијкстра. Алгоритам на Крускал. Алгоритам на Прим.

12.    Методи на учење: Предавања, аудиториски и лабораториски вежби

13.    Вкупен расположив фонд на часови

2 + 2 + 1 + 0

14.    Распределба на расположивото време

180

15.    Форми на наставните активности

15.1. Предавања – теоретска настава

30

15.2. Вежби, семинари, тимска работа

45

16.    Други форми на активност

16.1. Проектни задачи

25

16.2. Самостојни задачи

20

16.3. Домашно учење

60

17.    Начини на оценување

17.1. Тестови

10

17.2. Семинарска работа/проект

10

17.3. Активност и учење

0

17.4. Завршен испит

80

18.    Критериуми за оценување

до 50 бодови

5 (пет) (F)

од 51 до 60 бодови

6 (шест) (E)

од 61 до 70 бодови

7 (седум) (D)

од 71 до 80 бодови

8 (осум) (C)

од 81 до 90 бодови

9 (девет) (B)

од 91 до 100 бодови

10 (десет) (A)

19.    Услов за потпис и полагање на завршен испит

Лабораториски вежби

20.  Начин на полагање на испитот

Два парцијални писмени испити во текот на семестарот (на половина и на крај од семестарот) во времетраење од по 120 минути или еден завршен писмен испит во соодветна испитна сесија во времетраење од 120 минути. Оценување и на лабораториските вежби. Во конечната оцена влегуваат поените од писмениот испит и лабораториските вежби. За време на испитот не е дозволено користење книги, скрипти, ракописи или белешки од кој било вид

21.   Јазик на кој се изведува наставата

Македонски и Англиски

22.   Метод на следење на квалитетот на наставата

Интерна евалуација и анкети

23.   Литература

23.1. Задолжителна литература

Бр.

Автор

Наслов

Издавач

Година

1

T. H. Cormen et all Introduction to Algorithms,  3rd Ed. MIT Press 2009

2

Роберт Лафор Податочни структури и алгоритми во JAVA превод влада 2003

3

M. Goodrich,  R. Tamassia Data Structures and Algorithms in Java,  6th Ed. John Willey 2014