CSCB324 Състезателно програмиране - I част

Анотация:

Курсът подготовя студентите по Информатика за решаване на задачи, за които се изисква съставяне на по-сложни алгоритми. Изучава се целия път от поставяне на задачата до анализ на решенията - анализ на данните, преглед на съществуващи алгоритми за решаванети й, избиране на подходящ алгоритъм, модифициране на съществуващ или построяване на нов алгоритъм, избор на структури от данни, програмиране, тестване на програмата, анализ на ефективността на алгоритъма и програмата. Всички алгоритми се изучават заедно с най-ефективните им реализации като програми на С++.

http://nikolay.kirov.be/2023/CSCB324/index.html

прочети още
Информационни технологии

Преподавател(и):

доц. Николай Киров  д-р

Описание на курса:

Компетенции:

http://nikolay.kirov.be/2020/CSCB323/index.html
Предварителни изисквания:
Студентите трябва да могат да програмират на С и/или С++.

Форми на провеждане:
Редовен

Учебни форми:
Лекция

Език, на който се води курса:
Български

Теми, които се разглеждат в курса:

  1. Технология за ефективно програмиране на алгоритми Структури от данни - STL
  2. Оценка и сложност на алгоритми Бройни системи Редица на Фибоначи
  3. Състезание 1
  4. Обсъждане на задачите от Състезание 1 Най-голям общ делител, най-малко общо кратно Рекурсия
  5. Прости числа Комбинаторни алгоритми Разбиване на числа
  6. Състезание 2
  7. Обсъждане на задачите от Състезание 2 Сортиране чрез сравнение и трансформация
  8. Разделяй и владей
  9. Динамично оптимиране
  10. Състезание 3
  11. Обсъждане на задачите от Състезание 1 Подготовка за теста
  12. Тест

Литература по темите:

Учебници:

Преслав Наков, Панайот Добриков, Програмиране = ++Алгоритми; TopTeam Co., 2003, 696 страници, ISBN 954-8905-06-X

Antti Laaksonen, Competitive Programmer's Handbook, 2017, https://cses.fi/book.html

Допълнителна литература:

[1] Лендерт Амерал, Алгоритми и структури от данни в С++, ИК "Софтех", София, 2001

[2] Робърт Седжуик, Алгоритми на С. Том 1 и 2, ИК "Софтех", София, 2002 (Ч 681.3 / С 307)

[3] Саймън Харис, Джeймс Рoс, Оснoви нa aлгoритмитe, Алекс Софт, 2006 (681.325.3 / Х 277)

[4] Красимир Манев, Алгоритми в графи. Основни алгоритми, КЛМН, 2013.

[5] MIT 6.006 Introduction to Algorithms, Fall 2011

https://www.youtube.com/playlist?list=PLUl4u3cNGP61Oq3tWYp6V_F-5jb5L2iHb

[6] Data Structure Visualizations

https://www.cs.usfca.edu/~galles/visualization/Algorithms.html

http://nikolay.kirov.be/2020/CSCB325/anot.html

Средства за оценяване:

http://nikolay.kirov.be/2023/CSCB324/rules.html