Reviews

Update: Dec 12th, 2015

Софтуерен университет (СофтУни)

Книга за всеки, който иска да надскочи нивото на обикновен кодер и да стане ефективен софтуерен инженер с дълбоки познания.

Софтуерен университет (СофтУни), 2015 г.

 

Информатически портал ИнфоМан

http://infoman.musala.com/resources/main_bg_papers.html

Програмиране = ++Алгоритми

от П.Добриков и Пр.Наков
Top Team, 2003

Без съмнение това е най-добрата книга за алгоритми и програмиране, излизала на българския пазар, и ще е полезна за всички интересуващи се от информатика. Повече информация за книгата –
www.algoplus.org

PC Magazine

http://www.sagabg.net/PCMagazine/articles.php3?unit_id=23&issue_id=98

Ако сте избрали програмирането за своя професия, то “Програмиране = ++ алгоритми;” (около 700 стр., Преслав Наков и Панайот Добриков) е задължително четиво за вас. Книгата, която се появи на
книжния пазар в края на април, е сходна по тематика с “Основи на компютърните алгоритми” от Преслав Наков (400 стр., претърпяла 3 издания).
Целта на авторите е да запознаят читателите с най-разпространените техники на програмиране. Наред с представянето на широкоизвестни методи за решаване на алгоритмични задачи (и анализ на техните свойства, приложения, предимства и недостатъци), се разглеждат и стотици конкретни алгоритмични проблеми, обръща се внимание на анализа на алгоритмичната сложност на предложените решения, прави се сравнение между различни подходи. Засегнат е широк спектър от теми както в теоретичен, така и в чисто приложен аспект. Материалът е ориентиран по-скоро към приложната страна и
реализацията на разглежданите алгоритми за сметка на чисто теоретични изследвания и доказателства за коректност (като се обхващат в някаква степен най-актуалните съвременни научни резултати в съответната област)…

Предговор от научния редактор

С настоящата книга се продължава уникалното
явление в нашата учебна и научна лите­ра­тура (а, може би и в световната) —
студенти да пишат оригинални учебници за компютърната ин­фор­матика на изклю­чи­тел­но
високо ниво, новаторски съчетавайки практика и теория. Първата кни­га,
започнала този стил, беше “Ос­но­ви на компютърните алгоритми” на
Преслав Наков. Сега ав­торът й заедно с Панайот Добриков правят след­ва­ща
стъпка, като предлагат на читателя зна­чи­тел­но разширен и видоизменен труд,
който по качества се до­бли­жа­ва до такава основна книга за съставители на
алгоритми, каквато е “библията” Introduction to Algorithms от
Cormen, Leiserson и Rivest, но притежаващ и много свои специфични черти.

Забележимата разлика с повечето университетски
учебници и ръководства по алгоритми и структури от данни е, че авторите
използват подход “отдолу-нагоре”, тръгвайки от самото програмиране,
за да стигнат до тео­рията. И това е естествено за тях, защото и двамата са
навлезли в компютърната информатика чрез състезанията по програмиране и са
преминали успешно през многобройните кръгове на националната и международната
олимпиади по информатика. Това обяснява и значителното присъствие в книгата на
цялостно завършени, елегантно оформени програми с изходен текст на езика
Си. Те са написани от авторите и носят отпечатъка им на елитни алгоритмисти и
програмисти-практици.

Оттук следва и основното предназначение на книгата
— да бъде учебник за състезатели — ученици и студенти. Разбира се, това никак
не изключва възможността тя да бъде ползвана от професионални про­гра­мис­ти,
на които е възложено или им се е наложило да програмират нещо, което надхвърля
леймърското ниво (за “леймър” — виж въведението на авторите) — т.е.
нещо, за което се изисква да се помисли предварително и да се потърси теория,
преди да се започне с програмирането.

Книгата може да служи и като превъзходен
университетски курс за въведение в алго­рит­ми­те и струк­ту­рите от данни. Може
да се каже, че научното и педагогическото й ниво е значително. Всъщ­ност тя е
екс­пе­ри­ментирана от авторите й именно за такъв курс, защото са я ползвали,
когато е била в още незавършения си вид, за да преподават по нея. Така
предложеният учебник има дос­тойн­ствата, че споделя едновременно опита на
доскорошни активни състезатели по информатика с по-новия им опит да преподават
на студенти основите на компютърната информатика. Авторите са водили курса си

“Проектиране и анализ на компютърни алго­рит­ми”, когато самите те са
били студенти и по всеобщо признание този курс, който е тясно свързан с
настоящата кни­га, е оценен много високо.

В книгата са застъпени няколкото основни линии, по
които могат да се разглеждат и пре­по­дават ал­го­рит­ми. Въпреки, че е трудно
да се правят методологически класификации, може да при­емем най-общо, че две­те
възможни гледни точки са — от позицията на предмета и от по­зи­ци­я­та на
метода. Традиционно към предмета, върху който работят алгоритмите, се
причисляват обек­ти като числа, множества и по-общи струк­ту­ри от
данни, графи и т.н., а към предмета на самите ал­горитми могат да бъдат
отнесени темите за сортиране и търсене, компресиране, получаване на ком­бинаторни
конфигурации и т.н., докато методите за съставяне на ал­горитми са рекурсия и
ите­рация, търсене с връщане, разделяй и владей, динамично оптимиране,
евристични алгоритми и др.

Подробното съдържание на книгата дава много добра
представа за включения материал. За начи­на­е­щия читател то може да служи като
пътеводител в една обширна област, а за запознатия с тази област опитен про­­грамист
то има качества на справочник.

Книгата е оригинално българско творение,
неотстъпващо от световното ниво в раз­глежданата бързо раз­­виваща се
съвременна област на компютърната информатика. Тя съчетава програмистка
практика с теория, из­­градена върху математически методи, което допринася за
по-добро разбиране и прилагане на мно­го­брой­ни­те алгоритми, съдържащи се в
нея. Предназначена е за читатели, които биха оценили този синтез — ученици и
тех­ните учители, студенти и техните преподаватели, професионални програмисти и
техните ръководители и раз­бира се, тя е за всички любители.

Емил Келеведжиев
Институт по математика и информатика
Българска академия на науките

Review

За създаването на качествени програми не е достатъчно перфектното владеене
на един език за програмиране. Без сериозни познания в областта на алгоритмите
не е възможно да се направи ефективна програма, особено когато се работи с
големи обеми от данни. За съжаление, в достъпната за българския читател
литература съществува празнота в това отношение. Наличните текстове са малко и
не покриват достатъчно добре темата.

Книгата, която държите в ръцете си, е следващо, по-мъдро и по-систематично,
усилие след двутомното издание на единия от авторите – Преслав Наков – добре
познато на всички, които в последните години са участвали в състезания по
програмиране. И Преслав Наков, и Панайот Добриков са дългогодишни участници в
състезания по програмиране. Отначало за ученици, а по-късно и за студенти. И
двамата имат огромен опит в решаване на програмистки задачи с определено
алгоритмичен характер. А многообразието от алгоритми и алгоритмични техники,
много решени примери и много задачи за самостоятелна работа, са основни
характеристики на настоящата книга.

Разбира се, никое издание, колкото и обемисто да е то, не може да обхване
абсолютно всичко, което е направено от човечеството в областта на алгоритмите,
но работата, която двамата автори са свършили, е чудесна.

доц. Красимир Манев
Факултет по Математика и Информатика, СУ “Св. Климент Охридски”
Американски университет – Благоевград

Review

Неслучайно авторите на книгата са поставили за нейно заглавие “Програмиране
= ++Алгоритми;”. Макар такова опростяване все повече да губи своята
актуалност в съвременното програмиране, изборът на алгоритми (и структури от
данни) продължава да оказва значително влияние върху ефективноста на почти
всяка програма.

Основният акцент в настоящата книга е поставен върху проектирането и
анализа на ком­пю­тър­ни алгоритми, независимо от конкретния език за
програмиране, макар за реализацията им да е избран Си. Предложено е задълбочено
и изчерпателно изложение, което се възприема лесно от читателя ¾ едно наистина рядко
съчетание.

Не може да не се подчертае, че авторите са сред най-изявените състезатели
по про­гра­ми­ра­не у нас и, макар и млади, имат значителен практически опит
във водещи софтуерни фирми. С та­зи книга на читателя се дава възможност да се
запознае с важни и фини програмистки техники.

доц. Асен Рахнев
Пловдивски Университет
No comments yet.