![Работаю допоздна в своем офисе](/f/632b89fda171e20b3953fd75e7e6595e.jpg)
Кредит изображения: vgajic / E + / GettyImages
Разработка новых алгоритмов может показаться пугающей для начинающих программистов, но это навык, который можно практиковать, как и любой другой. Начните с поиска книги по проблемам алгоритмов для начинающих или с посещения онлайн- или офлайн-уроков по информатике. Практикуйтесь в освоении основ проектирования алгоритмов, включая оценку сложности и времени выполнения, проверку для крайних случаев, которые могут вызвать проблемы для компьютерного алгоритма, и разбивать проблемы на более мелкие части.
Что такое компьютерный алгоритм
Алгоритм - это процедура, которой следует компьютер или человек для решения проблемы. Деление в столбик - это примерный алгоритм, которому многие люди учатся в школе. Другой распространенный пример - алгоритм Евклида, используемый для нахождения наибольшего общего делителя двух чисел.
Видео дня
Компьютерный алгоритм в конечном итоге написан на языке программирования, который компьютер может понять, но когда алгоритм Разработанный, программисты и компьютерные ученые часто пишут его сначала неформально в виде прозы, а затем более формально в общем формате, называемом псевдокод.
Псевдокод выглядит как язык программирования, но, поскольку он предназначен для чтения людьми, а не компьютерами, в нем нет строгих синтаксических правил.
Примеры простых алгоритмов для начинающих
Знаменитые примеры алгоритмов часто преподают начинающим компьютерщикам и программистам. Некоторые примеры: алгоритм Дейкстры, который используется в теории графов для поиска кратчайшего пути между двумя точками; Сортировка слиянием, которая используется для сортировки списков данных; и алгоритм RSA, используемый для шифрования данных. Многие из них доступны в Интернете в виде бесплатных учебников, видео и учебных материалов.
На сайте онлайн-обучения Khan Academy есть много примеров алгоритмов, с которыми могут поэкспериментировать новички. Крупные университеты, такие как Гарвард, Стэнфорд и Массачусетский технологический институт, делают учебные программы материалы и обучающие видеоролики с общими алгоритмами доступны в Интернете для вводного курса информатики классы.
Есть также сайты с задачами соревнований по программированию и объяснениями их решения, которые могут помочь людям, заинтересованным в развитии своих навыков.
Соображения алгоритма
Когда вы придумываете новый алгоритм, вы хотите убедиться, что он работает во всех случаях, когда вы думаете, что он должен, и попытаться понять, насколько он эффективен. Обычно программисты делят алгоритм на отдельные части, чтобы они могли подумать о том, как работает каждая часть и сколько времени на это потребуется. Это называется модульной конструкцией.
Перед тем, как приступить к написанию кода, рекомендуется самостоятельно протестировать алгоритм с помощью ручки и бумаги в некоторых простых случаях. Когда вы думаете об эффективности, думайте о среднем случае, общих ситуациях, с которыми может столкнуться ваш алгоритм, и о наихудшем случае времени выполнения. Среда выполнения наихудшего случая часто представлена так называемой нотацией Big-O.