“Програмиране = ++ алгоритми;”
Категория: Интернет
10.2.2003
Ако сте избрали програмирането за своя професия, то “Програмиране = ++ алгоритми;” (около 700 стр., Преслав Наков и Панайот Добриков) е задължително четиво за вас. Книгата, която се появи на книжния пазар в края на април, е сходна по тематика с “Основи на компютърните алгоритми” от Преслав Наков (400 стр., претърпяла 3 издания).
Целта на авторите е да запознаят читателите с най-разпространените техники на програмиране. Наред с представянето на широкоизвестни методи за решаване на алгоритмични задачи (и анализ на техните свойства, приложения, предимства и недостатъци), се разглеждат и стотици конкретни алгоритмични проблеми, обръща се внимание на анализа на алгоритмичната сложност на предложените решения, прави се сравнение между различни подходи. Засегнат е широк спектър от теми както в теоретичен, така и в чисто приложен аспект. Материалът е ориентиран по-скоро към приложната страна и реализацията на разглежданите алгоритми за сметка на чисто теоретични изследвания и доказателства за коректност (като се обхващат в някаква степен най-актуалните съвременни научни резултати в съответната област).
Изключително полезни за читателите са напълно работещите програмни реализации на разглежданите алгоритми - подход коренно различен от използвания в класическите “Introduction to Algorithms” на Cormen, Leiserson и Rivest или “Комбинаторика для программистов” на Липский, които се ограничават с псевдокод. Избраният подход е по-близък до този на “Algorithms in C” на Sedgewick и на “Алгоритми + структури от данни = програми” на Уирт, които често дават напълно работоспособни програми или програмни фрагменти.
Книгата е подходяща за всички, които са избрали програмирането за своя професия и по някакъв начин то е свързано със С, С++, Java. Тъй като техниките, които се разглеждат, са фундаментални и обикновено не разчитат на определени характеристики на езика (и средата) за програмиране, то съответните алгоритми са приложими във всеки език за програмиране от високо ниво.
Книгата е полезно ръководство за участниците в състезанията по програмиране, ученици и студенти. Авторите са дългогодишни участници в подобни състезания и са се постарали да систематизират и подредят материала по начин, който да е максимално полезен, когато се налага да се решават алгоритмични задачи бързо и без “право на грешки”.
Съдържанието на книгата покрива почти целия материал, необходим за провеждането на съответен университетски курс по алгоритми и/или структури от данни, като е наблегнато основно на алгоритмите. Освен най-разпространените и полезни алгоритмични техники, представена е и по-специфична тематика и, като цяло материалът трудно може да се преподаде в рамките на един учебен семестър. Такъв курс по алгоритми (ПрАнКА - Проектиране и Анализ на Компютърни Алгоритми) се чете в Софийски университет “Св. Климент Охридски”, като съдържанието му, както и по-подробна (и актуална) информация за него може да намерите на адреса на книгата в Internet http://www.algoplus.org или чрез e-mail до авторите:panayot.dobrikov@sap.com, nakov@cs.berkeley.edu
Авторите на книгата са утвърдени специалисти - Преслав Наков е аспирант в Калифорнийския университет в Бъркли, САЩ, а Панайот Добриков - ръководител на направление development в SAP Labs Bulgaria.