Алгоритам је низ упутстава или наредби које се систематски изводе са циљем решавања проблема или извршавања задатка.
Реч „алгоритам“ односи се на арапског математичара Ал Кховаризмија, који је живео у деветом веку, и описао је правила за математичке једначине.
Алгоритми су попут рецепта за торту: низ радњи које се морају изводити док се не постигне коначни циљ - готова торта.
Алгоритми се примењују од једноставних свакодневних задатака до сложених рачунарских програма и алата који идентификују понашање потрошача на Интернету.
Све функције рачунара, паметни телефони и таблете, на пример, резултат су алгоритама. Ове машине су способне да изврше милијарде наредби за неколико секунди.
Примери како алгоритам функционише
Алгоритми настају у математици да би описали правила за алгебарске једначине, али се могу применити на било који низ коначних радњи које желе да реше проблем.
Сви задаци које свакодневно обављамо могу се трансформисати у алгоритме, само разоткрити све потребне радње за постизање одређеног циља.
Ако бисмо, на пример, направили алгоритам за припрему кафе, могли бисмо да имамо следеће кораке:
- проври воду;
- ставите прах у филтер;
- искључите воду;
- пропустите воду кроз кафу у праху.
Алгоритми који се користе у рачунарима су сложенији и укључују и могућности. Размотримо пример миша преко Интернет прегледача.
Команду за затварање екрана даје алгоритам који разуме да:
- Ако миш кликне на „к“, страница мора бити затворена;
- Ако миш не кликне на „к“, ништа не треба учинити.
Овај алгоритам може бити структуриран у дијаграму тока:
У основи, алгоритми се састоје од улазних података (улазни), обрада и излаз података (излаз). Ова структура се лако може разумети на примеру калкулатора:
- Унос података: вредности и операције које треба извршити
- Обрада: прорачуни које врши машина
- Излазни подаци: резултат операције
Алгоритми се користе у рачунарском програмирању
Алгоритам је врло важан концепт за програмирање, јер све машине и рачунарски програми раде из низа коначних радњи које воде ка извођењу задатка.
Улога особе која се бави програмирањем рачунара и софтвера је да размисли о свим корацима задатака и опише их на објективан и јасан начин како би их рачунар могао извршити.
Пример би могао бити програм који показује да ли је студент положио одређени предмет или не. Узимајући у обзир да је коначна оцена просек два испита положена у семестру, наредбе би биле:
- Сакупите оцену у два изведена теста;
- Израчунајте аритметичку средину између њих;
- Ако је резултат већи од 7, студент је положио;
- Ако је резултат мањи од 7, ученик није успео.
Међутим, рачунари не разумеју језик написан на овај начин, па програмери морају ове наредбе „превести“ у програмске језике. Неки примери програмски језик су:
- Јава
- Језик Ц
- Језик Ц ++
- Ц језик #
- Питхон
Операције алгоритма машине изводе врло брзо. На пример, типична бележница обично изводи више од милијарду операција у секунди.
Ова брзина рада револуционирала је рачунски свет, јер машине могу да изврше прорачуне у врло кратком времену за које су људима потребни дани, месеци или чак године.
Алгоритми на Интернету
Алгоритми се такође користе на Интернету, посебно претраживачи и друштвене мреже.
Употреба алгоритама у претраживачима
Један од најупечатљивијих примера је алгоритам Гоогле претраживача, који изводи неколико операција како би организовао начин на који се резултати претраге приказују кориснику.
Када корисник претражује Гоогле по кључној речи, као што је „шта је демократија“, редослед приказани резултат зависи од неколико прорачуна које је алгоритам извршио да би их ставио у то положај.
Ови прорачуни се заснивају на неколико променљивих, као што су квалитет и правовременост садржаја, квалитет веб локације на којој је садржај и колико дуго људи теже да остану на тој страници.
Гоогле-ов алгоритам је прилично сложен и с времена на време се ажурира како би пружио боље искуство и представио најбоље резултате за кориснике.
Употреба алгоритама у друштвеним мрежама
Друштвене мреже су такође програмиране сложеним алгоритмима. ти храни Фацебоок, Инстаграм и Твиттер, на пример, приказују постове и огласе у складу са понашањем корисника.
То значи да се неће сви постови ваших пријатеља појавити у вашем. напајање. Алгоритми ових друштвених мрежа одабиру оне који имају највише смисла према вашим жељама.
Фацебоок-ов алгоритам, назван ЕдгеРанк, на пример, бира најрелевантнији садржај за вас према неколико фактора, као што су:
- Публикације и странице које волите;
- Људи са којима комуницирате;
- Странице на којима остављате коментаре;
- Ваше акције.
Спотифи је још један пример апликације и друштвене мреже која користи алгоритме како би корисницима пружила персонализованије искуство. Сваке недеље апликација нуди плејлиста под називом „Открића недеље“.
То плејлиста садржи 30 песама које корисник никада није пуштао у апликацији, али су сличне другим песмама које обично слуша.
Циљ је представити кориснику песме и бендове које још увек не познаје, али који су вероватно компатибилни са његовим музичким укусом.
Види и значење софтвер и хардвер.