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

Анотация:

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

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

прочети още
Информатика

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

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

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

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

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

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

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

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

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

  1. Технология за ефективно програмиране на алгоритми
  2. Оценка и сложност на алгоритми
  3. Структури от данни - STL
  4. Бройни системи. Прости и съвършени числа
  5. Състезание 1 - https://www.hackerrank.com/nbu-october-2019-programming-contest Обсъждане на задачите от състезанието, резултати, тестове, решения на авторите и студентите - sol.zip
  6. Редица на Фибоначи. Най-голям общ делител, най-малко общо кратно. Рекурсия
  7. Комбинаторни алгоритми. Разбиване на числа
  8. Сортиране чрез сравнение и трансформация
  9. Състезание 2 - https://www.hackerrank.com/nbu-november-2019-programming-contest Обсъждане на задачите от състезанието, резултати, тестове и решения на авторите и студентите
  10. Търсене. Последователно и двоично търсене. Търсене с връщане
  11. Разделяй и владей
  12. Динамично оптимиране
  13. Състезание 3 - https://www.hackerrank.com/nbu-january-2020-programming-contest Обсъждане на задачите от състезанието, резултати, тестове и решения на авторите и студентите. Подготовка за теста.
  14. Тест

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

Учебници:

Преслав Наков, Панайот Добриков, Програмиране = ++Алгоритми; 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