Фундаментальные алгоритмы: различия между версиями

Содержимое удалено Содержимое добавлено
Строка 8:
*структуры данных
В идеале этот курс должен плавно провести начинающего программиста от базовых понятий алгоритмической науки к овладению тем базисом, который позволит приступить к решению прикладных проблем. Естественно как и во всяком курсе посвященному алгоритмике для начала будет дано определение понятия алгоритма.Затем будет рассмотрен процесс формирования алгоритма из неформального описания на примере тривиальной задачи поиска последовательности символов в строке.Крайне приветствуется знание языков [[w:Pascal| Pascal]] или [[Программирование на языке Си| С]].Хотя базовые конструкции такие как цикл или условный оператор вводятся по ходу изложения очень желательно знание их читателем курса. Поскольку автор нематематически-ориентирован, то сам должные математические выкладки сделать не сможет, но был бы очень благодарен в том случае, если бы они появились.Несомненно речь идет о доказательствах сложности алгоритмов.
Ответственность за этот курс берет на себя: [[Участник:Guranvir|GuarnvirGuranvir]]<br />
 
==[[§1 Понятие алгоритма]]==
В этом паранрафе мы с вами обсудим что такое алгоритм и что не является алгоритмом. Рассмотрим его свойства, которые нам в последствии будут важны. Не обойдем вниманием и [[w:машина Тьюринга|машину Тьюринга]] и [[w:Тезис Чёрча — Тьюринга|его же с Чёрчем тезис]].Одна из основных проблем алгоритмики это эффективность данного алгоритма, а поэтому мы рассмотрим по каким критериям устанавливают его эффективность. Совершенно неотвратимо вслед за этим нам придется осветить вопрос сложности алгоритмов.