num_pages: 703
description: С настоящата книга се продължава уникалното явление в нашата учебна и научна литература (а може би и в световната) — студенти да пишат оригинални учебници за компютърната информатика на изключително високо ниво, новаторски съчетавайки практика и теория. Първата книга, започнала този стил, беше "Основи на компютърните алгоритми" на Преслав Наков. Сега авторът й заедно с Панайот Добриков правят следваща стъпка, като предлагат на читателя значително разширен и видоизменен труд, който по качества се доближава до такава основна книга за съставители па алгоритми, каквато е "библията" "Introduction to Algorithms" от Cormen, Leiserson и Rivest, но притежаващ и много свои специфични черти.Забележимата разлика с повечето университетски учебници и ръководства по алгоритми и структури от данни е, че авторите използват подход "отдолу-нагоре", тръгвайки от самото програмиране, за да стигнат до теорията. И това е естествено за тях, защото и двамата са навлезли в компютърната информатика чрез състезанията по програмиране и са преминали успешно през многобройните кръгове на националната и международната олимпиади по информатика. Това обяснява и значителното присъствие в книгата на цялостно завършени, елегантно оформени програми с изходен текст на езика Си. Те са написани от авторите и носят отпечатъка им на елитни алгоритмисти и програмисти-практици.Оттук следва и основното предназначение на книгата — да бъде учебник за състезатели — ученици и студенти. Разбира се, това никак не изключва възможността тя да бъде ползвана от професионални програмисти, на които е възложено или им се е наложило да програмират нещо, което надхвърля леймърското ниво (за "леймър" — виж въведението на авторите) — т.е. нещо, за което се изисква да се помисли предварително и да се потърси теория, преди да се започне с програмирането.Книгата може да служи и като превъзходен университетски курс за въведение в алгоритмите и структурите от данни. Може да се каже, че научното и педагогическото й ниво е значително. Всъщност тя е експериментирана от авторите й именно за такъв курс, защото са я ползвали, когато е била в още незавършения си вид, за да преподават по нея. Така предложеният учебник има достойнствата, че споделя едновременно опита на доскорошни активни състезатели по информатика с по-новия им опит да преподават на студенти основите на компютърната информатика. Авторите са водили курса си "Проектиране и анализ на компютърни алгоритми", когато самите те са били студенти и по всеобщо признание този курс, който с тясно свързан с настоящата книга, е оценен много високо.В книгата са застъпени няколкото основни линии, по които могат да се разглеждат и преподават алгоритми. Въпреки, че е трудно да се правят методологически класификации, може да приемем иай-общо, че двете възможни гледни точки са — от позицията на предмета и от позицията на метода. Традиционно към предмета, върху който работят алгоритмите, се причисляват обекти като числа, множества и по-общи структури от данни, графи и т.н., а към предмета на самите алгоритми могат да бъдат отнесени темите за сортиране и търсене, компресиране, получаване на комбинаторни конфигурации и т.п., докато методите за съставяне на алгоритми са рекурсия и итерация, търсене с връщане, разделяй и владей, динамично оптимиране, евристични алгоритми и др.Подробното съдържание на книгата дава много добра представа за включения материал. За начинаещия читател то може да служи като пътеводител в една обширна област, а за запознатия с тази област опитен програмист то има качества на справочник.Книгата е оригинално българско творение, неотстъпващо от световното ниво в разглежданата бързо развиваща се съвременна област на компютърната информатика. Тя съчетава програмистка практика с теория, изградена върху математически методи, което допринася за по-добро разбиране и прилагане на многобройните алгоритми, съдържащи се в нея. Предназначена е за читатели, които биха оценили този синтез — ученици и техните учители, студенти и техните преподаватели, професионални програмисти и техните ръководители и разбира се, тя е за всички любители.
language: Bulgarian
title: Програмиране = ++Алгоритми;
publisher: TopTeam