Како писати алгоритме за почетнике

Ради до касно у његовој канцеларији

Кредит за слику: вгајиц/Е+/ГеттиИмагес

Осмишљавање нових алгоритама може изгледати застрашујуће за нове програмере, али то је вештина која се може практиковати као и свака друга. Почните тако што ћете потражити књигу алгоритамских проблема за почетнике или похађати онлајн или офлајн час информатике. Вежбајте савладавање основа дизајна алгоритама, укључујући процену сложености и времена рада, проверу за рубне случајеве који би могли да изазову проблеме рачунарском алгоритму и разбијање проблема на мање делови.

Шта је компјутерски алгоритам

Алгоритам је процедура коју рачунар или човек прати да би решио проблем. Дуга подела је узорак алгоритма који многи људи уче да раде у школи. Еуклидски алгоритам, који се користи за проналажење највећег заједничког делиоца два броја, је још један уобичајен пример.

Видео дана

Рачунарски алгоритам је на крају написан програмским језиком који рачунар може да разуме, али када се алгоритам развијени, програмери и компјутерски научници често га пишу прво неформално као прозу, а затим формалније у генеричком формату тзв. псеудокод.

Псеудокод изгледа као програмски језик, али пошто је дизајниран да га читају људи, а не рачунари, нема ригорозна синтаксичка правила.

Примери једноставних алгоритама за почетнике

Познати примери алгоритама се често подучавају почетницима компјутерским научницима и програмерима. Неки примери су Дијкстрин алгоритам, који се користи у теорији графова за проналажење најкраћег пута између две тачке; Сортирање спајањем, које се користи за сортирање листа података; и РСА алгоритам који се користи за шифровање података. Многи од њих су доступни на мрежи у бесплатним уџбеницима, видео записима и материјалу за курс.

Сајт за онлајн учење Кхан Ацадеми има много примера алгоритама са којима почетници могу да експериментишу. Главни универзитети као што су Харвард, Станфорд и Технолошки институт Масачусетса праве наставне програме материјали и видео снимци курсева са уобичајеним алгоритмима доступним на мрежи за уводне рачунарске науке класе.

Постоје и сајтови са проблемима такмичења у програмирању и објашњењима како се они решавају, што може помоћи људима који су заинтересовани да развију своје вештине.

Разматрање алгоритма

Када смишљате нови алгоритам, желите да будете сигурни да функционише у свим случајевима за које мислите да би требало и покушајте да разумете колико је ефикасан. Типично, програмери деле алгоритам на дискретне делове како би могли да размисле о томе како сваки део функционише и колико је потребно. Ово се зове модуларни дизајн.

Добра је идеја да сами тестирате алгоритам оловком и папиром на неким једноставним случајевима пре него што почнете да пишете код. Када размишљате о ефикасности, размислите о просечном случају, уобичајеним ситуацијама на које ће ваш алгоритам вероватно наићи и о најгорем случају извођења. Време извођења у најгорем случају је често представљено оним што се зове Биг-О нотација.