Introduktion til C ++ algoritme
Det endelige sæt trin arrangeret i rækkefølge, der fungerer som en guide til at løse ethvert problem. Dette c ++ algoritmeord bruges især inden for datalogi til at definere proceduren til løsning af komplekse problemer. Arkitekturen af løsningen kan være forskellig for forskellige algoritmer. Den mest effektive algoritme er den, der giver løsningen på kortere tid og bruger mindre hukommelse i sammenligning med andre algoritmiske løsninger. I C ++ - overskriften indeholder de funktioner, der er designet til at fungere i nummerintervaller. Disse funktioner fungerer på nummeret, men foretager ingen manipulationer af dataene. Det fungerer bare mens det iteres eller peger på numrene uden at berøre dets data.
Nogle medlemsfunktioner under overskriften er:
- algoritme :: tilstødende_find (): Peger den første forekomst af to identiske på hinanden følgende numre.
- algoritme :: all_of (): Returnerer sandt, hvis numrene ligger inden for området for første og sidste element.
- algoritme :: binary_search (): Kontrollerer, om “værdien, der skal søges”, er til stede i den sorterede sekvens eller ej.
- algoritme :: kopi (): Denne funktion hjælper med at kopiere en række elementer fra et sted til det nye sted.
- algoritme :: count_if (): Denne funktion returnerer antallet af forekomster af bestemte elementer, hvis betingelsen, der er nævnt i "hvis betingelse" er opfyldt.
- algoritme :: lige (): Denne funktion tester, om to sæt elementer er ens eller ikke. Der er mange lignende funktioner, der er foruddefineret i C ++, som kan sagsøges af kodere til fordel for deres forretning.
Forklaring af C ++ algoritme
C ++ leverer versioner af disse algoritmer i navneområdet std :: intervaller. Algoritmer er det store emne, der dækker emner fra søgning, sortering til min / max dynger. Disse kan kategoriseres som:
1. Heap: I sådanne typer konstruerer vi en bunke for at finde ud af den maksimale eller min værdi af sekvensen. Dette brugte datastrukturen for træer for at opnå dens output.
2. Binær søgning: Denne C ++ algoritme opdeler hele sekvensen i to dele iterativt, indtil den finder den aktuelle værdi, vi søger fra den målrettede sekvens. Det er en meget effektiv algoritme, da den reducerer tiden med halvdelen. Den foreløbige betingelse for at bruge denne C ++ algoritme er, at sekvensen, der er leveret til den, skal sorteres i enhver rækkefølge.
3. Sortering: Der er forskellige typer sortering, der kan bruges til at generere den sorterede sekvens. De er indsættelsessortering, bobelsortering, udvælgelsessortering, heapsortering, hurtig sortering, sammenfletningsortering. Nogle af disse algoritmer fungerer på princippet om “splittelse og regel” som fusion og hurtig sortering. Disse er hurtige og effektive i sammenligning med andre, selvom de bruger mere hukommelse i deres operationer.
4. Enkle operationer i løbet af sekvensen: Algoritmer kan bruges til at udføre enkle operationer som at udskifte, fjerne, vende numrene i en rækkefølge. Der er mange måder at nå dette output ved hjælp af forskellige algoritmer, der alle sigter mod at opnå den samme output.
5. Ikke-modificerende operationer: Nogle operationer som søgning, find, tæl antallet af elementer i sekvensen. Disse handlinger ændrer ikke elementets dataværdier, men fungerer omkring disse elementer.
Eksempel på algoritmer med trin
Her er nogle eksempler på C ++ algoritmen med trin forklaret nedenfor:
Eksempel 1
Skriv en C ++ algoritme for at skrive et program for at tilføje to numre.
Algoritme
Trin er givet nedenfor:
- Start
- Accepter num1, num 2
- Sum = num1 + num2
- Vis sum
- Hold op
Eksempel 2
Skriv en C ++ -algoritme for at bestemme, om en studerende er bestået eller ikke bestået, baseret på karaktererne. Karakterer er gennemsnittet af de samlede karakterer opnået i alle fag.
Algoritme
Trin er givet nedenfor:
- Start
- Input Marks1, Marks2, Marks3, Marks4
- Karakter = (Marks1 + Marks2 + Marks3 + Marks4) / 4
- Hvis (lønklasse <50) så
- Udskriv "Fail"
- Andet
- Udskriv "Pass"
- Afslut Hvis
- Hold op
Eksempel 3
Bobelsortering - Dette er C ++ - algoritmen til sortering af nummersekvensen i stigende eller faldende rækkefølge. Det sammenligner de nærmeste to numre og placerer det lille før et større antal, hvis det sorteres i stigende rækkefølge. Denne proces fortsætter, indtil vi når en sekvens, hvor vi finder alle numrene sorteret i rækkefølge.
Tidskompleksiteten for denne algoritme er O (n), da kontrolelementerne skal gennemgå alle antallet af elementer, der er der i sekvensen og derefter kontrollere, om 2 tilstødende tal er sorteret. Hvis ikke, sorteres den og flytter til de to andre tilstødende par i serien.
Implementering af ovennævnte C ++ algoritme
Her er eksemplet på C ++ algoritmen med kodeimplementering givet 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;
)
Produktion:
Konklusion
C ++ algoritme er en detaljeret trin for trin generisk løsningsvejledning, der er designet med at holde fokus for at give den mest effektive og mindre tidskrævende løsning til ethvert leveret problem. Der er mange værktøjer til at kontrollere effektiviteten af algoritmer som store Oh-notations-, Omega- eller Gama-notationer, hvilket er nyttigt at finde effektiviteten af algoritmer. Hver algoritme har sit eget privilegium og fordele, og vi vælger den rigtige fit-løsning ifølge problemopgørelsen. Dette spiller en afgørende rolle, når vi designer en løsning på problemet, da det bliver basen i det endelige produkts ydelse.
Anbefalede artikler
Dette er en guide til C ++ -algoritmen. Her diskuterer vi introduktion og detaljeret forklaring af C ++ algoritmen sammen med de forskellige eksempler og kodeimplementering. Du kan også se på de følgende artikler for at lære mere -
- 3D-arrays i C ++
- Rust vs C ++
- Abstrakt klasse i C ++
- Overbelastning og tilsidesættelse i C ++
- At erklære abstrakt klasse i C # med eksempel