Важна част от подготовката на добрия програмист е свързана с развитието на алгоритмичното мислене. Ето защо тази книга е посветена на създаването, използването и анализа на алгоритми. В книгата последователно са разгледани темите:
• Правила за представяне на алгоритми посредством псевдокод.
• Подходи за анализиране на сложността, оценка на ефективността на алгоритмите и избор на най-добрия от няколко възможни.
• Особености при реализация на алгоритми, предназначени за обработка на масиви, опашки, мрежи и свързани списъци.
• Използване, силни и слаби страни на нетривиални конструкции. Бинарни дървета и графи.
• Числови алгоритми – изчислителни задачи, свързани с решаването на алгебрични и диференциални уравнения с интерполация, апроксимация и интегриране.
• Различни задачи, свързани с генериране на случайни числа, вероятности, приближени алгоритми и др.
• Съвременни подходи за решаване на сложни задачи, в частност използване на невронни мрежи в контекста на работата с алгоритми. Oбсъждат се и принципите на квантовите изчисления и особеностите при съставянето на алгоритми за тях.
В края на всяка глава ще откриете резюме и списък със задачи за самостоятелна работа. Дадени са и възможните решения на тези задачи.
Програмните кодове на включените в книгата примери са предоставени за свободно сваляне и тестване. Тези кодове са написани на Python не само заради неговата популярност, но и заради това, че синтаксисът му в много отношения кореспондира с конструкциите на псевдокода, използван в книгата.


Original price was: 29.95лв..22.46лв.Текущата цена е: 22.46лв..
Алгоритми в програмирането
майсторството да програмираш
Година | 2023 |
---|---|
Корици | Меки |
Страници | 426 |
Формат | 162х235 |
Преводач | Влади Владев |
Редактор | Ивелин Михайлов |
Съдържание
Встъпление. Изкуството да мислиш и да програмираш ….. 7
За какво е тази книга?……7
За кого е тази книга?…..9
Структура на книгата…..9
За автора…..11
Обратна връзка…..11
Благодарности…..11
Глава 1. Запознаване с алгоритмите…..12
Алгоритмите в живота…..12
Алгоритми и оптимизация……15
Алгоритмични задачи……18
„Обратни“ задачи…..22
Алгоритми и модели…..28
Резюме…..31
Задачи за самостоятелна работа……31
Отговори и решения…..33
Задача №1.1…..33
Задача №1.2…..33
Задача №1.3…..34
Задача №1.4…..35
Задача №1.5…..35
Задача №1.6…..36
Задача №1.7…..37
Задача №1.8…..37
Задача №1.9…..38
Задача №1.10…..38
Глава 2. Алгоритмичен псевдокод …..39
Запознаване с псевдокода…..39
Условия и избор…..44
Повторение на команди…..47
Алгоритми и програми…..49
Примери за създаване на алгоритми…..57
Резюме…..64
Задачи за самостоятелна работа…..66
Отговори и решения…..67
Задача №2.1…..67
Задача №2.2…..68
Задача №2.3…..69
Задача №2.4…..69
Задача №2.5…..71
Задача №2.6…..71
Задача №2.7…..72
Задача №2.8…..73
Задача №2.9…..74
Задача №2.10…..75
Глава 3. Сложност на алгоритмите…..78
Сравняване на алгоритми…..78
Асимптотични оценки…..84
Свойства на асимптотичните оценки……88
Класове на сложност на алгоритмите…..93
Оптимизация на алгоритмите…..99
Резюме…..104
Задачи за самостоятелна работа…..105
Отговори и решения……106
Задача №3.1…..106
Задача №3.2…..106
Задача №3.3…..107
Задача №3.4…..107
Задача №3.5…..107
Задача №3.6…..108
Задача №3.7…..108
Задача №3.8…..108
Задача №3.9…..108
Задача №3.10…..108
Глава 4. Работа с масиви ….. 110
Масивът като тип данни…..110
Основни операции с масиви…..113
Търсене на елементи…..119
Сортиране на масив…..125
Двумерни масиви…..134
Резюме…..137
Задачи за самостоятелна работа…..138
Отговори и решения……139
Задача №4.1…..139
Задача №4.2…..140
Задача №4.3…..141
Задача №4.4…..142
Задача №4.5…..143
Задача №4.6…..144
Задача №4.7…..147
Задача №4.8…..147
Задача №4.9…..148
Задача №4.10…..149
Глава 5. Списъци ….. 151
Свързани списъци…..151
Създаване на свързан списък.153
Обхождане на елементите в списък…..156
Изменение на състава на списъка…..159
Сортиране на свързани списъци…..166
Списъци с цикли…..173
Двупосочни списъци…..181
Стекове и опашки…..185
Резюме…..189
Задачи за самостоятелна работа…..189
Отговори и решения…..191
Задача №5.1…..191
Задача №5.2…..192
Задача №5.3…..193
Задача №5.4…..195
Задача №5.5…..197
Задача №5.6…..198
Задача №5.7…..200
Задача №5.8…..201
Задача №5.9…..202
Задача №5.10…..203
Глава 6. Дървета и графи ….. 205
Запознаване с дърветата…..205
Създаване на дърво…..209
Преглеждане на дървета…..211
Основни операции с дървета..217
Подредени дървета…..220
Запознаване с графи…..227
Представяне на графите…..231
Търсене в граф…..234
Използване на матрица и списък на съседство…..237
Резюме…..242
Задачи за самостоятелна работа…..242
Отговори и решения……244
Задача №6.1…..244
Задача №6.2…..245
Задача №6.3…..245
Задача №6.4…..246
Задача №6.5…..247
Задача №6.6…..248
Задача №6.7…..248
Задача №6.8…..249
Задача №6.9…..249
Задача №6.10…..250
Глава 7. Числови алгоритми ….. 252
Алгебрични уравнения…..252
Числено интегриране…..265
Интерполационен полином…..268
Апроксимация……273
Диференциални уравнения…..277
Резюме…..284
Задачи за самостоятелна работа…..285
Отговори и решения……288
Задача №7.1…..288
Задача №7.2…..288
Задача №7.3…..289
Задача №7.4…..290
Задача №7.5…..291
Задача №7.6…..292
Задача №7.7…..293
Задача №7.8…..295
Задача №7.9…..296
Задача №7.10…..297
Глава 8. Алгоритми и задачи ….. 299
Генериране на случайни числа…..299
Рекурсия…..303
Оптимизация на
изчисленията…..310
Вероятностни алгоритми……314
Алчни алгоритми…..318
Приближени алгоритми…..328
Резюме…..334
Задачи за самостоятелна работа…..335
Отговори и решения……336
Задача №8.1…..336
Задача №8.2…..336
Задача №8.3…..337
Задача №8.4…..338
Задача №8.5…..338
Задача №8.6…..339
Задача №8.7…..342
Задача №8.8…..344
Задача №8.9…..345
Задача №8.10…..347
Глава 9. Невронни мрежи ….. 351
Общи сведения за невронните мрежи…..351
Обучение на невронна мрежа…..357
Структура на невронната мрежа…..367
Многослойни мрежи…..372
Особености при използването на невронни мрежи…..376
Резюме…..378
Задачи за самостоятелна работа…..379
Отговори и решения…..381
Задача №9.1…..381
Задача №9.2…..382
Задача №9.3…..382
Задача №9.4…..382
Задача №9.5…..383
Задача №9.6…..383
Задача №9.7…..383
Задача №9.8…..384
Задача №9.9…..384
Задача №9.10…..385
Глава 10. Квантови изчисления ….. 386
Квантови микрообекти…..386
Квантови формалности……….389
Запознаване с кюбити………….393
Изчисления с кюбити…..399
Принципи на квантовите изчисления…………411
Резюме………416
Задачи за самостоятелна работа…..417
Отговори и решения…….418
Задача №10.1…………..418
Задача №10.2………….419
Задача №10.3………….419
Задача №10.4………….419
Задача №10.5………….420
Задача №10.6………….420
Задача №10.7…………..421
Задача №10.8………….422
Задача №10.9…………..422
Задача №10.10…………423
Заключение. Финален акорд…..424