Kjennetegn algoritme, hva er det for, deler, eksempler

Kjennetegn algoritme, hva er det for, deler, eksempler

EN algoritme Det er et sett med instruksjoner designet for å utføre en spesifikk oppgave. Det vil si at det er en systematisk prosedyre at i et begrenset antall trinn gir svaret på et spørsmål eller løsningen av et problem. Et algoritmeeksempel er det fra Googles søkemotor, der det ved å sette inn et ord gir flere resultater i form av websider.

Det kan være en kompleks prosess, for eksempel å reprodusere en musikkfil, eller en enkel operasjon, for eksempel å legge til to tall. I dataprogrammering opprettes algoritmer som funksjoner. Disse funksjonene er små programmer som kan henvises til av et stort program.

En applikasjon for å visualisere bilder kan inneholde et bibliotek med funksjoner, som hver bruker en bestemt algoritme for å representere de forskjellige bildefilformatene.

Et program for å redigere bilder kan inneholde algoritmer designet for å behandle bildedata. Noen eksempler er trimming, skiftende størrelse, skarphet, uskarphet, reduserer røde øyne og forbedrer fargen.

[TOC]

Kjennetegn på en algoritme

Klarhet og presisjon

Algoritmen må være klar og entydig. Hvert av sine trinn eller handlinger må defineres nøyaktig, være klart klare i alle aspekter og må utvetydig ha en enkelt betydning.

Veldefinerte billetter

En algoritme er null eller flere oppføringer, hentet fra et spesifikt sett med objekter. Hvis algoritmen indikerer at inngangsdata må tas, må disse inndataene være godt definert.

Veldefinerte utganger

Algoritmen har alltid en eller flere avkjørsler, som har et forhold til inngangene. Algoritmen skal tydelig definere hvilken utdatainformasjon som vil oppstå og må også være godt definert.

Finhet

Algoritmen må være begrenset, det vil si at den alltid må ende på et tidspunkt, etter et begrenset antall trinn, og ikke bli hektet på uendelige bånd eller lignende ting.

Gjennomførbart

Algoritmen må være dyktig og enkel, slik at den kan utføres uten problemer med tilgjengelige ressurser. Derfor bør du ikke inneholde noen fremtidig teknologi.

Språkuavhengighet

Den designet algoritmen må være uavhengig av språk, det vil si at den bare må dannes av enkle instruksjoner som kan implementeres på ethvert programmeringsspråk, og likevel er resultatet alltid det samme, som forventet som forventet.

Effektive programmer

Det er alltid forskjellige måter å utføre spesifikk operasjon i et program. Derfor søker programmerere å lage mest effektive mulige algoritmer.

Med bruk av veldig effektive algoritmer kan det garanteres at programmene blir utført med høyere hastighet, ved å bruke et minimum av systemressurser.

Imidlertid produserer algoritmer ikke alltid første gang. Av denne grunn søker programmerere å forbedre dem for å inkludere dem i fremtidige programvareoppdateringer.

Det kan tjene deg: de 30 mest kjente og viktige fysikerne i historien

Derfor, når du kjenner en ny versjon av et program med en bedre ytelse, betyr det at denne versjonen inneholder mer effektive algoritmer.

Hva er en algoritme for?

Algoritmen er et ekstremt nyttig instrument, som brukes til å utføre jobber. I informatikk, når du velger den beste algoritmen, er det garantert at datamaskinen gjør oppgaven gitt på best mulig måte.

Derfor tjener det til å optimalisere et dataprogram med tilgjengelige ressurser. Det vil si at når et problem avgjøres for å løse gjennom de beste algoritmene, er den beste hastighetskombinasjonen av programmet og lavere minneforbruk ønsket.

De forskjellige algoritmene som kan studeres er like varierte som problemene som løser. Imidlertid er det veldig sannsynlig at problemet prøver ligner et annet problem i noen aspekter.

Ved å forstå et bredt spekter av algoritmer, kan du velge det mest egnede for et problem og bruke det riktig.

Filkomprimering

Disse algoritmene er justert og optimalisert spesielt for de typer filer de er rettet. For eksempel bruker hvert lydformat en annen måte å lagre data. Når den avkodet av lydkodeken, vil den generere en lydfil som ligner på den opprinnelige bølgeformen.

Data kryptert

Algoritmer brukes også til å beskytte data eller kommunikasjonslinjer. I stedet for å lagre komprimerte data for å bruke mindre diskplass, lagres de slik at andre programmer ikke kan oppdage dem.  Når dataene er kryptert, ligner ikke det som er lagret hva det er.

Hvordan fungerer en algoritme?

For å få en datamaskin til å gjøre noe, må du skrive et dataprogram. For å skrive dette programmet må du fortelle datamaskinen, trinn for trinn, hva du vil gjøre.

Deretter utfører datamaskinen programmet, og utfører hver instruksjon automatisk for å oppnå det endelige resultatet. Som indikert hva du skal gjøre med datamaskinen, kan du også velge hvordan den gjennom algoritmen er den grunnleggende teknikken som brukes til å gjøre jobben.

Eksempel sak

La oss si at du har en venn som ankommer flyplassen og trenger å dra fra flyplassen til huset vårt. Dette er fire forskjellige algoritmer som kan gis for å løse denne situasjonen:

Algoritme Ring meg

- Når flyet kommer, ring mobiltelefonen min.

- Sammen med meg utenfor bagasjeleveringsområdet.

Taxialgoritme

- Gå til taxistoppet.

Kan tjene deg: Metodologisk ramme: Hvordan skrive det, struktur, eksempler

- Gå til en taxi.

- Gi sjåføren adressen min.

Bussalgoritme

- Forlater flyplassen, ta buss nummer 70.

- Når du når hovedgaten, ta buss 14.

- Kom deg ut på Elmo Street.

- Gå to kvartaler nordover, til huset mitt.

Algoritme Lei et kjøretøy

- Ta en transporttjeneste til stedet der biler leier.

- Leie et kjøretøy.

- Følg GPS -instruksjonene for å komme hjem til meg.

De fire algoritmene oppnår nøyaktig samme mål, men hver og en gjør det annerledes. Hver algoritme har også en annen kostnads- og reisetid. Derfor velges algoritmen i henhold til omstendighetene.

Deler av en algoritme

Anskaffelse av oppføringsdata

Algoritmen må ha visse ressurser til å lese verdiene fra en ekstern kilde. De fleste algoritmer krever noen dataverdier for å definere et spesifikt problem. For eksempel koeffisientene til et polynom.

Beregning

Algoritmen må ha visse ressurser for å kunne utføre aritmetiske beregninger, sammenligninger, sjekke logiske forhold osv.

Utvalg

Algoritmen må ha visse midler til å kunne velge mellom to eller flere mulige handlingsforløp, basert på de første dataene, på brukeroppføringer og/eller i beregnede resultater.

Iterasjon

Algoritmen må ha visse midler til å kunne gjenta et sett med instruksjoner, enten med et fast antall ganger eller til en viss logisk tilstand er oppfylt.

Resultater eller utgangsrapport

Algoritmen må ha visse ressurser for å informere brukeren om resultatene som er beregnet, eller for å kunne be om ytterligere brukerdata.

Typer algoritmer

Rekursiv algoritme

Denne algoritmen er veldig interessant, fordi den kalles seg selv med en annen verdi som en inngangsparameter, som den oppnådde etter å ha løst den forrige inngangsparameteren. Det vil si at det kaller seg gjentatte ganger til problemet er løst.

Problemer som Hanoi -tårnet eller det dype søket etter en graf kan enkelt løses ved hjelp av denne typen algoritmer.

Algoritme deling og erobre

I disse algoritmene er den delt inn i to deler. I den første delen er det aktuelle problemet delt inn i mindre underproblemer av samme type. På samme måte løses underproblemene i den andre delen, og kombinerer deretter begge parter for å produsere den endelige løsningen av problemet.

For eksempel med disse algoritmene kan du utføre ordinasjoner for kombinasjon og raske ordinasjoner.

Dynamisk programmeringsalgoritme

Disse algoritmene fungerer som husker resultatene fra forrige utførelse og bruker dem for å finne nye resultater. Det vil si at de løser komplekse problemer som deler dem inn i flere enkle underproblemer og deretter løser hver av dem, for deretter å lagre dem for å bruke dem senere.

Kan tjene deg: kvantitativ metode

Brutto kraftalgoritme

Denne algoritmen søker blindt alle mulige løsninger for å finne en eller flere løsninger som kan løse en funksjon. Du kan tenke på brute kraft som om alle mulige kombinasjoner av tall ble brukt til å åpne en safe.

Bakover algoritme

Denne algoritmen løser problemer rekursivt og prøver å løse en problemløsing av hver del av den. Hvis løsningen mislykkes, elimineres den og går tilbake for å finne en annen løsning.

Det vil si at denne algoritmen løser et underproblem, men hvis dette ikke løser det totale problemet, løsner den det siste trinnet og begynner igjen for å finne løsningen på problemet.

Algoritmer eksempler

Rekursiv algoritme

Denne pseudokoden finner faktorialen til et ikke -negativt "n" -nummer, ved hjelp av en rekursiv algoritme:

Dynamisk programmeringsalgoritme

Fibonacci -sekvens er et godt eksempel på dynamisk programmeringsalgoritme. Det kan sees i denne pseudokoden:

- Ja (n = 0 eller n = 1), fibonacci (n) = 0

- Hvis ikke, fibonacci (n) = fibonacci (n-1) + fibonacci (n-2)

Bakover algoritme

Sjakkproblemet med de 8 dronningene er et godt eksempel. Dette problemet slår fast at det på en sjakkbrett er 8 dronninger og må plasseres på en slik måte at ingen av dronningene er i stand til å angripe noen annen etter organisert.

Forskjellige eksempler

- HIV -diagnosealgoritme.

HIV -diagnosealgoritme. Kilde: Immunopedia/CC BY-S (https: // CreativeCommons.Org/lisenser/by-SA/4.0)

- Internett -søkemotorer bruker patenterte algoritmer for å vise de mest relevante resultatene av søkeindeksen deres for spesifikke konsultasjoner.

- Oppskrifter, som matematiske ligninger, er algoritmer.

- E -post vet hvor du skal sende takk til algoritmer.

- Innholdet som sees på sosiale nettverk kommer gjennom algoritmer. Faktisk er alt som gjøres på nettet algoritmer produkt.

- Videospill er algoritmiske fortellinger.

- Smarte telefonapplikasjoner er ganske enkelt algoritmer.

- De fleste økonomiske transaksjoner gjøres gjennom algoritmer.

- Hver gang en kolonne bestilles på et regneark, griper algoritmer inn.

Referanser

  1. Lee Rainie (2017). Kodeavhengig: Fordeler og ulemper i algoritmenes alder. Pew Research Center. Hentet fra: Pewresarch.org.
  2. Tech Term (2020). Algoritme. Hentet fra: techterms.com.
  3. Britannica (2020). Algoritme. Hentet fra: Britannica.com.
  4. Educba (2020). Typer algoritmer. Hentet fra: Educba.com.
  5. How To Geek (2016). Hva er datamaskinalgoritmer, og hvordan fungerer de? Hentet fra: howtogek.com.
  6. How Stuff Works (2020). Hva er en datamaskinalgoritme? Hentet fra: datamaskin.Howstuffwork.com.