16Aug
Осим ако нисте у математици или програмирању, реч "алгоритам" може бити грчка за вас, али то је један од основних ставки свега што користите да бисте прочитали овај чланак.Ево брзе објашњења о томе шта јесу, и како они раде.
Одрицање одговорности: Ја нисам наставник математике или компјутерске науке, тако да нису сви појмови које користим технички.То је зато што покушавам да објасним све на чистом енглеском језику јер људи нису баш сасвим задовољни математиком.То се каже, постоји одређена математика, и то је неизбежно.Мексиканци, слободно исправите или боље објасните у коментарима, али молим вас, држите га једноставно за математички неприлагођене међу нама.
Имаге би Иан Руотсала
Шта је алгоритам?
Ријеч 'алгоритам' има етимологију сличну 'алгебра', осим што се ово односи на самог арапског математичара, ал-Кхваризми( само занимљив тидбит).Алгоритам, за не-програмера међу нама, је скуп инструкција који узимају улаз, А и обезбеђују излаз, Б, који мења податке на неки начин.Алгоритми имају широку примену.У математици, они могу помоћи у израчунавању функција из тачака у скупу података, међу много напреднијим стварима.Поред њихове употребе у самом програму, они играју главне улоге у стварима као што су компресија датотека и шифровање података.
Основни сет инструкција
Рецимо да вас пријатељ упознаје у продавници прехрамбених производа и водите га према вама.Кажете да ствари попут "прођете кроз десна врата", "прођите рибље дионице с леве стране" и "ако видите млекару, пролазили сте ми." Алгоритми раде тако.Ми можемо користити дијаграм тока да илуструјемо инструкције засноване на критеријумима које знамо унапред или сазнати током процеса.
( слика под називом "Ицебреакинг Роутине" ЕДИТ: захваљујући Триггер и Фреевхеел-у)
Од СТАРТ-а би сте кренули низ путању, а овисно о томе шта се деси следите "проток" до крајњег резултата.Дијаграми протока су визуелни алати који могу разумљивије да представљају скуп инструкција које користе рачунари.Слично томе, алгоритми помажу исто то и са више математичких модела.
Графички
Користимо графикон како бисмо илустровали различите начине на које можемо дати упутства.
Овај граф можемо изразити као везу између свих његових тачака.Да би репродуковали ову слику, можемо дати скуп инструкција некоме другом.
Метод 1
Ми то можемо представити као серију тачака, а информације ће следити стандардни облик граф ={ (к1, и1),( к2, и2),. ..,( кн, ин)}.
граф ={ (0,0),( 3,0),( 3,3),( 5,5),( 7,10),( 8,7),( 9,4),( 10,1)}
Прилично је лако направити сваку тачку, један за другим, и спојити их на претходну тачку.Међутим, замислите график са хиљадама бодова или више сегмената који се одвијају на сваки начин.Та листа би имала доста података, зар не?А потом повезивање сваке од њих, један по један, може бити бол.
Метод 2
Још једна ствар коју можемо да урадимо је дати полазну тачку, нагиб линије између ње и следеће тачке и показати гдје можете очекивати сљедећу тачку помоћу стандардног облика графикона ={ (полазна тачка}, [м1, к1, х1],. .., [мн, кн, хн]}. Овде, променљива 'м' представља нагиб линије, 'к' представља правац упућивања у( било к или и) и 'х
граф ={ (0,0), [0, к, 3], [0, и, 3], [1, к, 2], [2.5, к, 2], [-3, к, 1], [-3, к, 1], [-3, к, 1]}
исти графикон. Можете видети да су последња три израза у овом изразу иста, тако да ћемо моћи да исечемо то тако што ћемо рећи "поновити то три пута" на неки начин. Рецимо да у било које време видите променљиву "Р'појављује се, то значи да поновимо последњу ствар. Ми то можемо учинити:
граф ={ (0,0), [0, к, 3], [0, и, 3], [1, к, 2][2.5, к, 2], [-3, к, 1], [Р = 2]}
Шта ако појединачне тачке стварно нису битне, а само графикон то ради?Ми можемо консолидовати последња три одељка као што су:
граф ={ (0,0), [0, к, 3], [0, и, 3], [1, к, 2], [2.5, к, 2], [-3, к, 3]}
Скраћује ствари од места где су раније биле.
Метод 3
Покушавамо да урадимо овај други начин.
и = 0, 0≤к≤3
к = 0, 0≤и≤3
и = к, 3≤к≤5
и = 2,5к-7.5, 5≤к≤7
и = -3к + 29, 7≤к≤8
и = -3к + 29, 8≤к≤9
и = -3к + 29, 9≤к≤10
Овде смо у чистим алгебарским терминима.Још једном, ако сами поени нису битни и само графикон, можемо да консолидујемо последње три ставке.
и = 0, 0≤к≤3
к = 0, 0≤и≤3
и = к, 3≤к≤5
и = 2.5к-7.5, 5≤к≤7
и = -3к + 29, 7≤к≤10
Сада, који метод одаберете зависи од ваших способности.Можда сте сјајни са математиком и графикама, тако да изаберете последњу опцију.Можда сте добри у навигацији, тако да изаберете другу опцију.У домену рачунара, међутим, радите много различитих врста задатака, а способност рачунара се у ствари не мења.Због тога су алгоритми оптимизовани за задатке које обављају.
Још једна важна тачка је да се свака метода ослања на кључ.Сваки скуп инструкција је бескористан, осим ако не знате шта да радите с њима.Ако не знате да треба да запишете сваку тачку и повежете тачке, први сет тачака не значи ништа.Осим ако не знате шта свака варијабла значи у другом начину, нећете знати како их примијенити, слично кључу за шифру.Тај кључ је такође саставни дио кориштења алгоритама, а често се тај кључ налази у заједници или путем "стандарда".
компресија датотека
Када преузмете. зип датотеку, извлачите садржај тако да можете користити било штаје унутра.Данас, већина оперативних система може уронити у. зип датотеке као што су били нормални фолдери, радећи све у позадини.На мојој Виндовс 95 машини пре више од једне деценије, морао сам све да извучем ручно пре него што сам видео нешто више од имена датотека унутар.То је зато што оно што је сачувано на диску као. зип датотека није у употребљивој форми.Помислите на кауч за извлачење.Када желите да га користите као кревет, морате уклонити јастуке и одвојити их, што заузима више простора.Када вам није потребан, или желите да га пренесете, можете га поново преклапати.
Алгоритми компресије се прилагођавају и оптимизују специфично за врсте датотека којима су циљани.Аудио формати, на пример, свако користе другачији начин за чување података који ће, када се декодира аудио кодек, дати звучну датотеку сличну оригиналном таласном облику.За више информација о тим разликама погледајте наш претходни чланак, Које су разлике између свих тих аудио формата?Лознати аудио формати и. зип датотеке имају једну заједничко: оба дају изворне податке у својој тачној форми након процеса декомпресије.Лоши аудио кодеки користе друга средства за уштеду простора на диску, као што су обрезивање фреквенција које нису у стању чути људским ушима и глајење извора таласа у одељцима како би се отарасили неких детаља.На крају, док нећемо моћи да заиста чујемо разлику између МП3-а и ЦД-а, у првом је дефинитивно дефицит информација.
Дата Енцриптион
Алгоритми се такође користе при обезбеђивању података или комуникационих линија.Уместо складиштења података тако да користи мање простора на диску, он се чува на начин који није могуће открити другим програмима.Ако неко украде ваш чврсти диск и почне да га скенира, они могу покупити податке чак и када избришете датотеке, јер су подаци и даље присутни, иако је локација за прослеђивање њој нестала.Када су подаци шифрирани, све што је сачувано не изгледа као оно што је.Обично изгледа насумично, као да је фрагментација изграђена током времена.Такође можете спремити податке и учинити их појављивањем као још један тип датотеке.Датотеке слика и музичке датотеке су добре за ово, јер могу бити прилично велике, без сумње, на пример.Све то се ради користећи математичке алгоритме који узимају неку врсту уноса и претварају их у другу, врло специфичну врсту излаза.За више информација о начину рада енкрипције, погледајте ХТГ Објашњавање: Шта је шифровање и како то функционише?
Алгоритми су математички алати који пружају широку примену у рачунарству.Они раде како би обезбедили путање између почетне тачке и крајње тачке на доследан начин, и пружити упутства да га прате.Знате више од онога што смо истакли?Делите своја објашњења у коментарима!