Николай Киров
Преподаване
Курсове за 2003/2004 учебна година

Алгоритми и структури от данни

3. група, понеделник, 11:20-12:50, 1311

Анотация, литература, връзки

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

Сайт с лекции, паспорт на курса и образец-протокол

Списък на студентите

Проведени занятия и теми на протоколите:
 

Дата Тема, описание на съдържанието на протокола
1. 1.03,
8.03
Рекурсия. 
1. Пресмятане на функцията факториал :
- рекурсивно с печати преди и след рекурсивното извикване;
- итеративно. 
    Проблеми с препълване на целочислен тип данни.
2. Програма за редица на Фибоначи: 
- рекурсивно с печати преди и след рекурсивното извикване;
- итеративно.
    Проблем с времето за работа на програмата (ефективност на рекурсията).
Преслав Наков, Панайот Добриков,  Програмиране = ++Алгоритми; TopTeam Co., 2003, стр. 63.
Николай Киров, Сборник от учебни материали по Програмиране и структури от данни, Деметра, София, 2004, стр. 54.
2. 15.03 Програма за намиране на най-голям общ делител (GCD) на две естествени числа - алгоритъм на Евклид:
- рекурсивен вариант - int gcd1(int a, int b);
- итеративен вариант - int gcd2(int a, int b);
- рекурсивен вариант с печат преди и след рекурсивното извикване
 int gcd3(int a, int b);
- рекурсивен вариант с глобални променливи и без параметри на функцията
int gcd4().
Лендерт Амерал, Алгоритми и структури от данни в С++, ИК "Софтех", 2001, стр. 37.
Преслав Наков, Панайот Добриков,  Програмиране = ++Алгоритми; TopTeam Co., 2003, стр. 68.
3. 22.03 Програма за двоично (дихотомично) търсене в нареден масив:
- рекурсивен вариант;
- итеративен вариант - готава програма от Интернет.
Николай Киров, Сборник от учебни материали по Програмиране и структури от данни, Деметра, София, 2004, стр. 44.
4. 29.03 Програма за бързо сортиране на масив - qsort
Николай Киров, Сборник от учебни материали по Програмиране и структури от данни, Деметра, София, 2004.
Лендерт Амерал, Алгоритми и структури от данни в С++, ИК "Софтех", 2001, стр. 74.
5. 5.04 Програма за сортиране чрез сливане - merge_sort
Николай Киров, Сборник от учебни материали по Програмиране и структури от данни, Деметра, София, 2004, стр. 40.
Кай Хорстман, Принципи на програмирането със С++, ИК Софтех, София, 2000, стр. 561.
6. 19.04 Програма за решаване на задачата за ханойските кули
- рекурсивен вариант;
- итеративен вариант (от INTERNET).
Преслав Наков, Панайот Добриков,  Програмиране = ++Алгоритми; TopTeam Co., 2003, стр. 433.
7. 26.04 Програма за създаване на стек и реализация на операциите включване, изключване и отпечатване на стека.
Николай Киров, Сборник от учебни материали по Програмиране и структури от данни, Деметра, София, 2004, стр. 24, 88.
8. 3.05 Програма за работа със свързан списък - функции вмъкване, изтриване и отпечатване:
- за едносвързан списък;
Николай Киров, Сборник от учебни материали по Програмиране и структури от данни, Деметра, София, 2004, стр. 88.
- за двусвързан списък.
9. 10.05 Програма за построяване на идеално балансирано двоично дърво и обхождане на дървото по 3-те начина.
Лендерт Амерал, Алгоритми и структури от данни в С++, ИК "Софтех", 2001, стр. 183.
10. 17.05 Програма за построяване на двоично дърво за търсене, обхождане на дървото по метода inorder и функция за търсене в двоичното дърво.
Лендерт Амерал, Алгоритми и структури от данни в С++, ИК "Софтех", 2001, стр. 183.
11. 31.05 Програма, съдържаща:
- функция за построяване на идеално балансирано двоично дърво за търсене (входните данни се въвеждат във възходящ ред);
- функция за отпечатване на дървото (псевдографика);
- функция за търсене в двоичното дърво;
- функция за отстраняване на елемент (възел) от дървото.
Лендерт Амерал, Алгоритми и структури от данни в С++, ИК "Софтех", 2001, стр. 204 
12. 7.06  Програма, съдържаща:
- функция за построяване на идеално балансирано двоично дърво за търсене (входните данни се въвеждат във възходящ ред) със допълнителни данни във възлите: баланс и брой на върховете на лявото и дясното му поддървета ;
- функция за отпечатване на дървото (псевдографика) с отпечатване на допълнителните данни;
- функции за ляво и дясно въртене на възел.
Лендерт Амерал, Алгоритми и структури от данни в С++, ИК "Софтех", 2001, стр 209.
13. 14.06  
14. 21.06  

Конспект


  Последна промяна на 7 юни 2004 г.