Çfarë është një algoritëm?

Zbuloni se si funksionojnë algoritmet në botë

Një algoritëm është një grup udhëzimesh. Përkufizimi është me të vërtetë i thjeshtë. Një algoritëm mund të jetë po aq i lehtë sa dhënia e udhëzimeve si kjo:

  1. Shkoni poshtë rrugës
  2. Merrni të drejtën e parë
  3. Gjeni shtëpinë e dytë në të majtë
  4. Troket në derë dhe
  5. Dorëzoni paketën.

Por, përderisa përkufizimi i algoritmit është i thjeshtë, kuptimi aktual dhe si ndikon në jetën tonë mund të jetë mjaft komplekse.

Një shembull i një algoritmi

Një shembull i zakonshëm i një algoritmi që ne përdorim në jetën tonë të përditshme është një recetë. Ky grup udhëzimesh na jep të gjithë përbërësit që do të kemi nevojë dhe udhëzime se çfarë të bëjmë me ato përbërës. Tinguj të lehtë, apo jo?

Por, çka nëse nuk e dini se ku mbahet filxhan matës? Do të duhej një algoritëm për ta gjetur atë. Ju mund të keni nevojë edhe për një algoritëm se si ta përdorni filxhanin matës.

Pra, ndërsa një algoritëm është një grup udhëzimesh, ajo gjithashtu duhet të marrë parasysh kush ose çfarë do të interpretojë këto udhëzime. Për shembull, nëse jepni udhëzime për një mik që detajon se si të merrni nga shtëpia juaj në dyqanin ushqimor më të afërt, miku juaj do të dijë vetëm si të shkoj në atë dyqan nëse ata e dinë se ku gjendet shtëpia jote. Ata nuk janë të aftë (ende) të gjejnë atë dyqan të veçantë ushqimor nga thonë, shtëpia e një shoku tjetër.

Kjo është mënyra se si një algoritmi mund të jetë i thjeshtë dhe kompleks. Dhe kur flasim për sa i përket algoritmeve kompjuterike, të kuptuarit se çfarë kompjuteri është i aftë të bëjë është një pjesë themelore e formulimit të algoritmeve.

Si Algorithms Sorting Sorting evoluar

Një nga algoritmet më të hershme të krijuara ishte rutinë e llojit flluskë. Lloji i flluskave është një metodë për ndarjen e numrave, shkronjave ose fjalëve duke bërë looping përmes një grupi të të dhënave, duke krahasuar çdo grup vlerash krah për krah dhe duke shkëmbyer ato kur është e nevojshme.

Ky lak përsëritet derisa algoritmi të kalojë nëpër tërë listën pa pasur nevojë të shkëmbejë asgjë, që do të thotë se vlerat janë renditur në mënyrë korrekte. Ky lloj algoritmi shpesh është referuar si një algoritëm rekursiv, sepse ajo sillet në vetvete pa pushim deri sa të përfundojë detyra.

Algoritmi mund të duket po aq i thjeshtë sa:

  1. Shko tek vlera e parë.
  2. Kontrolloni atë vlerë kundrejt vlerës së ardhshme dhe poziciononi shkëmbimin nëse është e nevojshme
  3. Shkoni te vlera e ardhshme dhe përsërisni krahasimin.
  4. Nëse jemi në fund të listës, kthehemi në krye nëse çdo vlerë është ndërruar gjatë lakut.

Por lloji i flluskës nuk u bë mënyra më efikase e klasifikimit të vlerave. Me kalimin e kohës dhe kompjuterët u bënë më të aftë për të bërë detyra komplekse shpejt, algorithms ri sorting popped up.

Një algoritëm i tillë skanon përmes listës së parë dhe krijon një listë të dytë të vlerave të renditura. Kjo metodë bën vetëm një kalim të vetëm përmes listës origjinale, dhe me secilën vlerë, ajo do të kalojë nëpër listën e dytë derisa të gjejë vendin e saktë për të vënë vlerën. Zakonisht, është më efikas se sa duke përdorur metodën e llojit flluskë.

Kjo është ajo ku algoritmet mund të bëhen me të vërtetë të çmendura. Ose me të vërtetë interesante, në varësi të asaj se si e shihni atë.

Ndërsa metoda e llojit të flluskës konsiderohet si një nga metodat më joefikase të klasifikimit të vlerave në shumë mënyra, nëse lista origjinale është paraqitur siç duhet, lloji i flluskës mund të jetë një nga efikaset. Kjo për shkak se, në atë rast, algoritmi i llojit flluskë do të kalojë nëpër listë një herë të vetme dhe do të përcaktojë se renditet si duhet.

Për fat të keq, ne nuk e dimë gjithmonë nëse lista jonë është e pranishme, kështu që ne duhet të zgjedhim një algoritëm që do të jetë më efikas për t'u përdorur mesatarisht në një numër të madh listash.

Çfarë mësojmë nga lloji i flluskës

Algoritmet e Facebook dhe më shumë në jetën e përditshme

Algoritmet janë në punë që ndihmojnë njerëzit çdo ditë. Kur kërkoni internetin, një algoritëm është në punë duke u përpjekur për të gjetur rezultatet më të mira të kërkimit. Pyete telefonin inteligjent për drejtime dhe një algoritëm vendos rrugën më të mirë për ju. Dhe kur shfletoni Facebook, një algoritëm vendos se cila nga postet e Facebook-ut të mikut tonë është më e rëndësishme për ne. (Le të shpresojmë që miqtë tanë të mos zbulojnë se cili Facebook mendon se na pëlqen më shumë!)

Por, duke menduar në algoritëm mund të na ndihmojë shumë përtej jetës sonë kompjuterike. Madje mund të na ndihmojë të ndërtojmë një sanduiç më të mirë.

Le të themi që unë filloj me dy feta bukë, duke përhapur mustardë në një fetë dhe majonezë në një fetë tjetër. I kam vënë një fetë djathi në bukë me majonezë, disa proshutë në krye të kësaj, disa marule, dy feta domate dhe pastaj kapem atë me atë fetë me mustardë mbi të. Sanduiç i mirë, apo jo?

Definitivisht nëse unë ha atë menjëherë. Por nëse e lë atë në tavolinë për një kohë, ajo fetë më të lartë të bukës mund të bëhet e lëngëzuar nga thithja e disa prej asaj domate. Është një problem që nuk e kam parashikuar fare dhe mund të bëj sanduiçe për vite përpara se të vëreja, por sapo të bëj, mund të filloj të mendoj mënyra për të ndryshuar algoritmin e mi për të ndërtuar një sanduiç më të mirë.

Për shembull, unë mund të heq qafe domate. Por unë nuk dua ta humbas shijen e domates. Pra, në vend të kësaj, unë mund ta vë domate në sanduiç pas bukës dhe marule. Kjo lejon marule për të formuar një barrierë mbrojtëse mes domate dhe bukës.

Kështu është zhvilluar një algoritëm. Dhe një algoritëm nuk duhet të drejtohet nga një kompjuter për të qenë një algoritëm. Një algoritëm është një proces dhe proceset janë gjithandej rreth nesh.