C ++ algoritme - Eksempler på C ++ - algoritme med detaljforklaring

Innholdsfortegnelse:

Anonim

Introduksjon til C ++ algoritme

Det endelige sett med trinn arrangert i rekkefølge som fungerer som en guide til å løse ethvert problem. Dette c ++ algoritmeordet er spesielt brukt i informatikk for å definere prosedyren for å løse komplekse problemer. Arkitekturen av løsningen kan være forskjellig for forskjellige algoritmer. Den mest effektive algoritmen er den som gir løsningen på kortere tid og bruker mindre minne sammenlignet med andre algoritmiske løsninger. I C ++ -hodet inneholder funksjonene som er designet for å operere på tallområdene. Disse funksjonene fungerer på nummeret, men gjør ingen manipulasjoner til dataene. Det fungerer bare mens det iteres eller peker på tallene uten å berøre dataene.

Noen medlemsfunksjoner under overskriften er:

  • algoritme :: tilstøtende_find (): Peker den første forekomsten av to identiske påfølgende tall.
  • algoritme :: all_of (): Returnerer sann hvis tallene ligger under området for første og siste element.
  • algoritme :: binary_search (): Sjekker om “verdien som skal søkes” er til stede i den sorterte sekvensen eller ikke.
  • algoritme :: copy (): Denne funksjonen hjelper deg med å kopiere en rekke elementer fra ett sted til det nye stedet.
  • algoritme :: count_if (): Denne funksjonen returnerer antall forekomster av bestemte elementer hvis betingelsen som er nevnt i “if condition” er oppfylt.
  • algoritme :: lik (): Denne funksjonen tester om to sett med elementer er like eller ikke. Det er mange lignende funksjoner forhåndsdefinert i C ++ som kan saksøkes av kodere i fordelen med deres virksomhet.

Forklaring av C ++ algoritme

C ++ tilbyr versjoner av disse algoritmene i navnefeltet std :: -området. Algoritmer er det store emnet som dekker emner fra søking, sortering til min / maksimal haug. Disse kan kategoriseres som:

1. Heap: I slike typer konstruerer vi en bunke for å finne ut maks eller min verdi for sekvensen. Dette brukte datastrukturen til trær for å oppnå utgangen.

2. Binært søk: Denne C ++ - algoritmen deler hele sekvensen i to deler iterativt til den finner den faktiske verdien vi søker fra den målrettede sekvensen. Det er en svært effektiv algoritme da den reduserer tiden med halvparten. Den foreløpige betingelsen for å bruke denne C ++ - algoritmen er at sekvensen som er gitt til den, skal sorteres i hvilken som helst rekkefølge.

3. Sortering: Det er forskjellige typer sortering som kan brukes til å generere den sorterte sekvensen. De er innsetting sortering, boble sortering, utvalg sortering, heap sortering, rask sortering, slå sammen sortering. Noen av disse algoritmene fungerer på prinsippet om "skill og herske" som fusjon og hurtig sortering. Disse er raske og effektive i forhold til andre, selv om de bruker mer minne i driften.

4. Enkle operasjoner over sekvensen: Algoritmer kan brukes til å utføre enkle operasjoner som å erstatte, fjerne, reversere tallene i en sekvens. Det er mange måter å nå denne utgangen ved å bruke forskjellige algoritmer som alle tar sikte på å oppnå samme utgang.

5. Ikke-modifiserende operasjoner: Noen operasjoner som søk, finn, teller antall elementer i sekvensen. Disse operasjonene endrer ikke dataverdiene til elementet, men fungerer rundt disse elementene.

Eksempel på algoritmer med trinn

Her er noen eksempler på C ++ - algoritmen med trinn forklart nedenfor:

Eksempel 1

Skriv en C ++ algoritme for å skrive et program for å legge til to tall.

algoritme

Trinn er gitt nedenfor:

  1. Start
  2. Godta num1, num 2
  3. Sum = num1 + num2
  4. Vis sum
  5. Stoppe

Eksempel 2

Skriv en C ++ - algoritme for å avgjøre om en student er bestått eller ikke bestått basert på karakterene. Karakterer er gjennomsnittet av totale karakterer oppnådd i alle fagene.

algoritme

Trinn er gitt nedenfor:

  1. Start
  2. Input Marks1, Marks2, Marks3, Marks4
  3. Karakter = (Merker1 + Merker2 + Merker3 + Merker4) / 4
  4. Hvis (karakter <50) da
  5. Skriv ut "Fail"
  6. Ellers
  7. Skriv ut "Pass"
  8. Slutt om
  9. Stoppe

Eksempel 3

Bubble sort- Dette er C ++ - algoritmen for å sortere nummersekvensen i stigende eller synkende rekkefølge. Den sammenligner de nærmeste to tallene og plasserer det lille før et større tall hvis det sorteres i stigende rekkefølge. Denne prosessen fortsetter til vi når en sekvens hvor vi finner alle tallene sortert i rekkefølge.

Tidskompleksiteten til denne algoritmen er O (n) da kontrollene må gå gjennom alle antall elementer som er der i sekvensen og deretter sjekke om 2 tilstøtende tall er sortert. Hvis ikke, sorteres den og flytter til de to andre tilstøtende parene i serien.

Implementering av ovennevnte C ++ algoritme

Her er eksemplet på C ++ algoritmen med implementering av kode gitt nedenfor:

Kode:

#include
void swap(int *p1, int *p2)
(
int temp = *p1;
*p1 = *p2;
*p2 = temp;
)
// This is an optimised code for the bubble sort
void bSort(int arrnumbers(), int n)
(
int i, j;
bool check;
for (i = 0; i < n-1; i++)
(
check = false;
for (j = 0; j < ni-1; j++)
(
if (arrnumbers(j) > arrnumbers(j+1))
(
swap(&arrnumbers(j), &arrnumbers(j+1));
check = true;
)
)
// We are breaking from the loop in case two elements were not swapped by inner loop.
if (check == false)
break;
)
)
//This function is to print the array sequence as final output after sorting
void print(int arrnumbers(), int sizeofarray)
(
int i;
for (i=0; i < sizeofarray; i++)
printf("%d ", arrnumbers(i));
)
// This the main program from where the execution will start
int main()
(
int arrnumbers() = (5, 6, 1, 0, 2, 9);
int n = sizeof(arrnumbers)/sizeof(arrnumbers(0));
bSort(arrnumbers, n);
printf("Sorted array: \n");
print(arrnumbers, n);
return 0;
)

Produksjon:

Konklusjon

C ++ algoritme er en detaljert, generell, generell løsningsguide som er designet for å holde fokus for å gi den mest effektive og mindre tidkrevende løsningen på ethvert problem som tilbys. Det er mange verktøy for å sjekke effektiviteten til algoritmer som store Oh-notasjoner, Omega- eller Gama-notasjoner, noe som er nyttig for å finne effektiviteten til algoritmer. Hver algoritme har sitt eget privilegium og fordeler, og vi velger riktig passform i henhold til problemstillingen. Dette spiller en avgjørende rolle når vi designer en løsning for problemet, da det blir basen i det endelige produktets ytelse.

Anbefalte artikler

Dette er en guide til C ++ -algoritmen. Her diskuterer vi introduksjon og detaljert forklaring av C ++ -algoritmen sammen med de forskjellige eksemplene og kodeimplementering. Du kan også se på følgende artikler for å lære mer -

  1. 3D Arrays i C ++
  2. Rust vs C ++
  3. Abstrakt klasse i C ++
  4. Overbelastning og overstyring i C ++
  5. Å erklære abstrakt klasse i C # med eksempel