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

Објавено: октомври 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.    Јазик на кој се изведува наставата

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

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

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

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

22.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