Data-Strukturer – Algoritmer Grunnleggende

Annonser

Algoritme er en steg-for-trinn prosedyre, som definerer et sett med instruksjoner som skal utføres i en bestemt rekkefølge for å få den ønskede effekt. Algoritmer er vanligvis laget uavhengig av underliggende språk, dvs. en algoritme som kan gjennomføres i mer enn ett programmeringsspråk.,

Fra data struktur synspunkt, følgende er noen viktige kategorier av algoritmer −

– >

  • Søk − Algoritme for å søke et element i en datastruktur.

  • Sorter − Algoritmen for å sortere elementene i en bestemt rekkefølge.

  • Sett inn − Algoritme for å sette inn objektet i en datastruktur.

  • Oppdater − Algoritme for å oppdatere et eksisterende element i en datastruktur.

  • Slett − Algoritmen for å slette et eksisterende element fra en datastruktur.

Egenskaper for en Algoritme

Ikke alle prosedyrer kan kalles en algoritme., En algoritme bør ha følgende egenskaper −

– >

  • Entydig − Algoritmen bør være klart og entydig. Hvert av trinnene (eller faser), og deres innganger/utganger bør være klar og må føre til bare én betydning.

  • Input − En algoritme bør ha 0 eller flere definerte innganger.

  • Utdata − En algoritme bør ha 1 eller flere definerte utganger, og bør få ønsket effekt.

  • Finiteness − Algoritmer må opphøre etter et endelig antall steg.,

  • Mulighetsstudie − Bør være gjennomførbart med tilgjengelige ressurser.

  • Uavhengig − En algoritme bør ha steg-for-trinn retninger, som skal være uavhengig av programmeringskode.

Hvordan å Skrive en Algoritme?

Det er ikke godt definert standarder for å skrive algoritmer. Det er snarere problem og ressurs-avhengig. Algoritmer er aldri skrevet for å støtte et bestemt programmeringskode.

Som vi vet at alle programmeringsspråk dele basic-kode konstruksjoner som looper (gjøre, for, mens), flow-kontroll (hvis-annet), osv., Disse vanlige konstruksjoner kan brukes til å skrive en algoritme.

Vi skrive algoritmer i en trinn-for-trinn forløp, men det er ikke alltid tilfelle. Algoritmen skriving er en prosess, og den er utført etter problemet domenet er godt definert. Det er, bør vi vite problemet domene, for som vi designe en løsning.

Eksempel

Let ‘ s prøve å lære algoritme-skriver ved å bruke et eksempel.

Problemet − Design en algoritme for å legge til to tall og viser resultatet.

Step 1 − STARTStep 2 − declare three integers a, b & cStep 3 − define values of a & bStep 4 − add values of a & bStep 5 − store output of step 4 to cStep 6 − print cStep 7 − STOP

Algoritmer fortelle programmerere hvordan å kode programmet., Alternativt, algoritmen kan skrives som −

– >

Step 1 − START ADDStep 2 − get values of a & bStep 3 − c ← a + bStep 4 − display cStep 5 − STOP

I design og analyse av algoritmer, vanligvis den andre metoden er brukt for å beskrive en algoritme. Det gjør det enkelt for analytikeren til å analysere algoritmen ignorere alle uønskede definisjoner. Han kan observere hva operasjoner blir brukt og hvor prosessen er flytende.

å Skrive trinn tall, er valgfritt.

Vi designer en algoritme for å få en løsning på et gitt problem. Et problem kan løses på mer enn én måte.,

Derfor, mange algoritmer for løsning kan være avledet for et gitt problem. Neste trinn er å analysere de foreslåtte løsning algoritmer og implementere den best egnede løsningen.

Algoritme Analyse

Effektivitet av en algoritme kan bli analysert på to ulike stadier, før implementering og etter implementeringen. De er følgende −

– >

  • A Priori Analyse − Dette er en teoretisk analyse av en algoritme., Effektiviteten av en algoritme er målt ved forutsatt at alle andre faktorer, for eksempel, prosessorhastighet, er konstant og har ingen innvirkning på gjennomføringen.

  • En Posterior Analyse − Dette er en empirisk analyse av en algoritme. Den valgte algoritmen er implementert ved hjelp av programmeringsspråk. Dette er da utført på måldatamaskinen maskinen. I denne analysen, faktiske statistikk som kjører tid og plass som er nødvendig, er samlet inn.

skal Vi lære om a priori algoritme analyse., Algoritmen analyse omhandler utførelse eller drift av de ulike operasjonene som er involvert. Løpende tid i en operasjon kan være definert som antall instruksjonene på datamaskinen utført per operasjon.

Algoritme Kompleksitet

la oss Anta at X er en algoritme og n er størrelsen på input-data, tid og rom som brukes av algoritmen X er de to viktigste faktorene som bestemmer effektiviteten av X.

  • Tid Faktor − Tid er målt ved å telle antall operasjoner som for eksempel sammenligninger i sortering av algoritmen.,

  • Plass Faktor − Plass er målt ved å telle maksimal plass i minnet som kreves av algoritmen.

kompleksiteten av en algoritme f(n) gir løpende tid og/eller lagringsplass som kreves av algoritmen i form av n som størrelsen på input-data.

Plass Kompleksitet

Plass kompleksiteten av en algoritme representerer mengden minne som kreves av algoritmen i sin livssyklus., Den plass som kreves av en algoritme er lik summen av følgende to komponenter −

– >

  • En fast del som er en plass som er nødvendig for å lagre visse data og variabler, som er uavhengig av størrelsen på problemet. For eksempel, enkle variabler og konstanter brukt, program størrelse, etc.

  • En variabel del er en plass som kreves av variabler, hvis størrelse er avhengig av størrelsen på problemet. For eksempel, dynamic memory allocation, recursion stabelen plass, etc.,

Plass kompleksitet S(S) av noen algoritme P er S(P) = C &pluss, SP(I), der C er den faste delen og S(I) er den variable delen av algoritmen, som avhenger eksempel karakteristiske I. Følgende er et enkelt eksempel som prøver å forklare konseptet −

– >

Algorithm: SUM(A, B)Step 1 - STARTStep 2 - C ← A + B + 10Step 3 - Stop

Her har vi tre variablene A, B, og C, og en konstant. Dermed S(P) = 1 &pluss, 3. Nå, plass avhenger av data typer av gitte variablene og konstant typer og det vil bli multiplisert tilsvarende.,

Tid Kompleksitet

Tid kompleksiteten av en algoritme representerer mengden av tid som kreves av algoritmen for å kjøre til den er ferdig. Tiden kravene kan defineres som en numerisk funksjonen T(n), der T(n) kan måles som antall skritt, forutsatt at hvert trinn tar konstant tid.

For eksempel, tillegg av to n-biters heltall n tar skritt. Følgelig, den totale computational tid er T(n) = c ∗ n, der c er den tiden det tar for tillegg av to biter. Her ser vi at T(n) vokser lineært som input størrelse øker.,

Annonser

Legg igjen en kommentar

Din e-postadresse vil ikke bli publisert. Obligatoriske felt er merket med *