Ano ang isang Algorithm?

Tuklasin kung paano gumagana ang mga algorithm sa mundo

Ang isang algorithm ay isang hanay ng mga tagubilin. Ang kahulugan ay tunay na simple. Ang isang algorithm ay maaaring maging kasingdali ng pagbibigay ng mga tagubilin tulad nito:

  1. Pumunta sa kalye
  2. Kunin ang unang karapatan
  3. Hanapin ang ikalawang bahay sa kaliwa
  4. Kumatok sa pinto at
  5. Ihatid ang pakete.

Ngunit habang ang kahulugan ng algorithm ay simple, ang aktwal na kahulugan at kung paano ito nakakaapekto sa ating buhay ay maaaring maging masalimuot.

Isang Halimbawa ng Isang Algorithm

Ang isang karaniwang halimbawa ng isang algorithm na ginagamit namin sa aming pang-araw-araw na buhay ay isang recipe. Ang hanay ng mga tagubilin ay nagbibigay sa amin ng lahat ng mga sangkap na kakailanganin namin at mga direksyon kung ano ang gagawin sa mga sangkap. Tunog madali, tama?

Ngunit paano kung hindi mo alam kung saan itinatago ang tasang pantay? Kailangan mo ng isang algorithm upang mahanap ito. Maaari mo ring kailanganin ang isang algorithm kung paano gumamit ng isang tasa ng pagsukat.

Kaya habang ang isang algorithm ay isang hanay ng mga tagubilin, kailangan din itong isaalang-alang kung sino o ano ang magpapaliwanag sa mga tagubiling iyon. Halimbawa, kung magbibigay ka ng mga direksyon sa isang kaibigan na nagdedetalye kung paano makakakuha mula sa iyong bahay patungo sa pinakamalapit na tindahan ng groseri, alam lamang ng iyong kaibigan kung paano makarating sa tindahan kung alam nila kung nasaan ang iyong bahay. Hindi nila (gayunpaman) na makita ang partikular na tindahan ng grocery mula sa sinasabi, bahay ng isa pang kaibigan.

Ito ay kung paano ang isang algorithm ay maaaring maging parehong simple at kumplikado. At kapag pinag-uusapan natin ang mga tuntunin ng mga algorithm ng computer, nauunawaan kung ano ang kakayahang gawin ng isang computer ay isang pangunahing bahagi ng pagbabalangkas ng mga algorithm.

Paano Nagtatag ang Mga Algorithm sa Pag-uuri

Ang isa sa pinakamaagang mga algorithm na nilikha ay ang routine na pag-uuri ng bubble. Ang uri ng bubble ay isang paraan para sa pag-uuri ng mga numero, mga titik o mga salita sa pamamagitan ng pag-loop sa isang hanay ng data, paghahambing ng bawat hanay ng mga halaga nang magkakasabay, at pagpapalit sa mga ito kung kinakailangan.

Ang loop na ito ay paulit-ulit hanggang ang algorithm ay maaaring lumipat sa buong listahan nang hindi nangangailangan na magpalitan ng anumang bagay, na nangangahulugan na ang mga halaga ay pinagsunod-sunod nang tama. Ang ganitong uri ng algorithm ay madalas na tinutukoy bilang isang algorithm recursive sapagkat ito ay umiikot sa sarili nito nang paulit-ulit hanggang makumpleto ang gawain.

Maaaring tumingin ang algorithm kasing simple ng:

  1. Pumunta sa unang halaga.
  2. Suriin ang halaga na iyon laban sa susunod na halaga at magpalitan ng mga posisyon kung kinakailangan
  3. Pumunta sa susunod na halaga at ulitin ang paghahambing.
  4. Kung kami ay sa dulo ng listahan, bumalik sa tuktok kung ang anumang halaga ay swapped sa panahon ng loop.

Ngunit ang bubble sort ay hindi naging ang pinaka mahusay na paraan ng pag-uuri ng mga halaga. Habang ang oras ay lumipas at ang mga computer ay naging mas may kakayahang gumawa ng kumplikadong mga gawain nang mabilis, ang mga bagong pag-uuri ng mga algorithm ay binaril.

Ang isang ganitong pag-scan sa algorithm ay sa pamamagitan ng unang listahan at lumilikha ng pangalawang listahan ng mga pinagsunod-sunod na mga halaga. Ang pamamaraan na ito ay gumagawa lamang ng isang pass sa pamamagitan ng orihinal na listahan, at sa bawat halaga, ito ay loop sa pamamagitan ng pangalawang listahan hanggang sa ito ay natagpuan ang tamang lugar upang ilagay ang halaga. Karaniwan, mas mahusay kaysa sa paggamit ng paraan ng bubble sort.

Ito ay kung saan ang mga algorithm ay maaaring talagang mabaliw. O talagang kawili-wili, depende sa kung paano mo tinitingnan ito.

Habang ang paraan ng pag-uuri ng bubble ay itinuturing na isa sa mga pinaka-hindi mabisa na paraan ng pag-uuri ng mga halaga sa maraming paraan, kung ang orihinal na listahan ay maayos na maayos, ang uri ng bubble ay maaaring maging isa sa mga pinaka mahusay. Iyan ay dahil sa, sa pagkakataong iyon, ang algorithm ng bubble sort ay pupunta sa listahan sa isang solong oras at matukoy na tama ito.

Sa kasamaang palad, hindi namin laging alam kung ang aming listahan ay itinatag, kaya kailangan nating pumili ng isang algorithm na magiging pinakamainam na magamit sa average sa isang malaking bilang ng mga listahan.

Ano ang Matututuhan Nito Mula sa Bubble Sort

Facebook Algorithms At Higit Pa Sa Araw-araw na Buhay

Ang mga algorithm ay nasa trabaho na tumutulong sa mga tao araw-araw. Kapag naghanap ka sa web, ang isang algorithm ay nagtatrabaho upang subukan ang pinakamahusay na mga resulta ng paghahanap. Tanungin ang iyong smartphone para sa mga direksyon, at isang algorithm ang nagpapasya sa pinakamagandang ruta para sa iyo na gawin. At kapag nagba-browse ka sa Facebook, isang algorithm ang nagpapasya kung alin sa mga post sa Facebook ng kaibigan ang pinakamahalaga sa amin. (Let's hope ang aming mga kaibigan ay hindi malaman kung saan ang isang Facebook sa tingin namin ang pinaka!)

Ngunit ang algorithm sa pag-iisip ay makakatulong sa amin na lampas sa buhay ng aming computer. Maaari din itong makatulong sa amin na bumuo ng isang mas mahusay na sanwits.

Sabihin nating magsimula ako sa dalawang hiwa ng tinapay, pagkalat ng mustasa sa isang slice at mayonesa sa isa pang slice. Naglagay ako ng slice of cheese sa tinapay na may mayonesa, ilang hamon sa ibabaw ng iyon, ilang litsugas, dalawang hiwa ng kamatis at pagkatapos ay i-cap ito sa slice na ito kasama ang mustasa dito. Magandang sanwits, tama ba?

Tiyak kung kumain ako agad. Ngunit kung iiwan ko ito sa mesa para sa isang sandali, na tuktok ng slice ng tinapay ay maaaring makakuha ng soggy mula sa pambabad up ang ilan sa na kamatis. Ito ay isang problema na hindi ko inaasahan, at maaaring gumawa ako ng sandwich para sa mga taon bago mapansin, ngunit sa sandaling gawin ko, maaari kong simulan ang pag-iisip ng mga paraan upang baguhin ang aking algorithm upang bumuo ng isang mas mahusay na sanwits.

Halimbawa, maaari kong alisin ang kamatis. Ngunit ayaw kong mawala ang lasa ng kamatis. Kaya sa halip, maaari ko bang ilagay ang kamatis sa sandwich pagkatapos ng tinapay at litsugas. Pinapayagan nito ang litsugas upang bumuo ng proteksiyon na hadlang sa pagitan ng kamatis at ng tinapay.

Ito ay kung paano ang isang algorithm evolves. At ang isang algorithm ay hindi kailangang patakbuhin ng isang computer upang maging isang algorithm. Ang isang algorithm ay isang proseso, at ang mga proseso ay nasa paligid natin.