Как да пиша алгоритми за начинаещи

click fraud protection
Работи до късно в офиса му

Кредит на изображението: vgajic/E+/GettyImages

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

Какво е компютърен алгоритъм

Алгоритъмът е процедура, която компютър или човек следва, за да разреши проблем. Дългото деление е примерен алгоритъм, който много хора се научават да правят в училище. Алгоритъмът на Евклид, използван за намиране на най-големия общ делител на две числа, е друг често срещан пример.

Видео на деня

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

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

Прости примери за алгоритъм за начинаещи

Известни примери за алгоритми често се преподават на начинаещи компютърни учени и програмисти. Някои примери са алгоритъмът на Дийкстра, който се използва в теорията на графите за намиране на най-краткия път между две точки; Merge Sort, който се използва за сортиране на списъци с данни; и алгоритъмът RSA, използван за криптиране на данни. Много от тях са достъпни онлайн в безплатни учебници, видеоклипове и учебни материали.

Сайтът за онлайн обучение Khan Academy има много примери за алгоритми, с които начинаещите могат да експериментират. Големите университети като Харвард, Станфорд и Масачузетския технологичен институт правят учебни програми материали и видеоклипове за курсове с общи алгоритми, достъпни онлайн за въвеждащи компютърни науки класове.

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

Съображения за алгоритъм

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

Добра идея е сами да тествате алгоритъм с писалка и хартия върху някои прости случаи, преди да започнете да пишете код. Когато мислите за ефективността, помислете за средния случай, често срещаните ситуации, които алгоритъмът ви е вероятно да срещне, и за времето на изпълнение в най-лошия случай. Най-лошото време на изпълнение често се представя с това, което се нарича Big-O Notation.