Проектиране и анализ на компютърни алгоритми

изборен курс за студенти от ФМИ, летен семестър 2004/2005 г.
хорариум 5+0+0 (0+0+5) http://pranka.openfmi.net

Преподавателски екип:

Анотация:

Курсът "Проектиране и анализ на компютърни алгоритми" има за цел да запознае студентите с някои от най-използваните в практиката алгоритмични техники. Наред с представянето на широко известни методи за решаване на алгоритмични задачи (и анализ на техните свойства, приложения, предимства и недостатъци), се разглеждат и множество конкретни алгоритмични проблеми, обръща се внимание на анализа на сложността на предложените решения, прави се сравнение между различни подходи за решение. В курса се засяга широк спектър от теми, както в теоретичен, така и в чисто приложен аспект: Алгоритми от теорията на числата, структури от данни, търсене и сортиране, алгоритми от теорията на графите, динамично оптимиране, разделяй и владей, алчни и вероятностни алгоритми, компресиране. Курсът е ориентиран към приложната страна и реализацията на разглежданите алгоритми, за сметка на чисто теоретични изследвания и доказателства за коректност.

Изисквания към студентите:

Оценяване:

Крайната оценка ще се формира от курсов проект (30 точки) и два теста (всеки по 25 точки) проведени през семестъра. Проектите ще се определят от преподавателите в средата на семестъра (след първия тест) и ще се разработват домашно, до края на семестъра. Крайната оценка се формира по следните критерии:

Учебна програма:

  1. Въведение в алгоритмите.
  2. Структури от данни.
  3. Алгоритми за сортиране.
  4. Алгоритми за търсене в последователности.
  5. Теорията на графите.
  6. NP-пълни задачи.
  7. Техника разделяй и владей
  8. Динамично оптимиране.
  9. Евристични и вероятностни алгоритми.
За допълнителна информация посетете официалния сайт на курса http://pranka.openfmi.net