Einführung in den C ++ - Algorithmus

Die endliche Reihe von Schritten, die nacheinander angeordnet sind und als Leitfaden für die Lösung eines Problems dienen. Dieses c ++ - Algorithmuswort wird insbesondere in der Informatik verwendet, um das Verfahren zur Lösung komplexer Probleme zu definieren. Die Architektur der Lösung kann für verschiedene Algorithmen unterschiedlich sein. Der effizienteste Algorithmus ist derjenige, der die Lösung in kürzerer Zeit bereitstellt und im Vergleich zu anderen algorithmischen Lösungen weniger Speicher verbraucht. Im C ++ Header sind die Funktionen enthalten, die für die Bearbeitung der Nummernkreise vorgesehen sind. Diese Funktionen arbeiten mit der Nummer, nehmen jedoch keine Manipulationen an den Daten vor. Es funktioniert nur, während Sie iterieren oder auf die Zahlen zeigen, ohne die Daten zu berühren.

Einige Mitgliedsfunktionen unter Header sind:

  • algorithm :: nearby_find (): Zeigt das erste Vorkommen von zwei identischen fortlaufenden Zahlen an.
  • algorithm :: all_of (): Gibt true zurück, wenn die Zahlen im Bereich des ersten und letzten Elements liegen.
  • algorithm :: binary_search (): Prüft, ob der zu durchsuchende Wert in der sortierten Reihenfolge vorhanden ist oder nicht.
  • algorithm :: copy (): Diese Funktion hilft beim Kopieren einer Reihe von Elementen von einer Stelle an die neue Stelle.
  • algorithm :: count_if (): Diese Funktion gibt die Anzahl der Vorkommen bestimmter Elemente zurück, wenn die in „if condition“ genannte Bedingung erfüllt ist.
  • algorithm :: equal (): Diese Funktion prüft, ob zwei Elementmengen gleich sind oder nicht. In C ++ sind viele ähnliche Funktionen vordefiniert, die von Programmierern zum Vorteil ihres Geschäfts genutzt werden können.

Erklärung des C ++ Algorithmus

C ++ stellt Versionen dieser Algorithmen in den Namespace-Bereichen std :: zur Verfügung. Algorithmen sind das große Thema, das Themen von der Suche über das Sortieren bis hin zu Min / Max-Heaps abdeckt. Diese können kategorisiert werden als:

1. Heap: In solchen Typen erstellen wir einen Heap, um den maximalen oder minimalen Wert der Sequenz herauszufinden. Dabei wurde die Datenstruktur von Bäumen verwendet, um die Ausgabe zu erzielen.

2. Binäre Suche: Dieser C ++ - Algorithmus unterteilt die gesamte Sequenz iterativ in zwei Teile, bis er den tatsächlichen Wert findet, den wir aus der Zielsequenz suchen. Es ist ein hocheffektiver Algorithmus, der die Zeit um die Hälfte reduziert. Die Vorbedingung für die Verwendung dieses C ++ - Algorithmus ist, dass die ihm bereitgestellte Sequenz in beliebiger Reihenfolge sortiert wird.

3. Sortieren: Es gibt verschiedene Sortierungsarten, mit denen die sortierte Reihenfolge erstellt werden kann. Es handelt sich um Einfügesortierung, Blasensortierung, Auswahlsortierung, Haufensortierung, schnelle Sortierung und Zusammenführungssortierung. Einige dieser Algorithmen arbeiten nach dem Prinzip der Teilung und Regel wie Zusammenführen und schnelles Sortieren. Diese sind im Vergleich zu anderen schnell und effizient, obwohl sie mehr Speicher in ihren Vorgängen belegen.

4. Einfache Operationen über die Sequenz: Mit Algorithmen können einfache Operationen wie Ersetzen, Entfernen und Umkehren der Zahlen in einer Sequenz ausgeführt werden. Es gibt viele Möglichkeiten, diese Ausgabe mit verschiedenen Algorithmen zu erreichen, die alle darauf abzielen, dieselbe Ausgabe zu erzielen.

5. Nicht modifizierende Operationen: Einige Operationen, wie Suchen, zählen die Anzahl der Elemente in der Sequenz. Diese Operationen ändern nicht die Datenwerte des Elements, sondern arbeiten um diese Elemente herum.

Beispiel für Algorithmen mit Schritten

Hier einige Beispiele für den C ++ - Algorithmus mit den folgenden Schritten:

Beispiel 1

Schreiben Sie einen C ++ - Algorithmus, um ein Programm zum Hinzufügen von zwei Zahlen zu schreiben.

Algorithmus

Schritte sind unten angegeben:

  1. Start
  2. Akzeptiere num1, num 2
  3. Summe = num1 + num2
  4. Summe anzeigen
  5. Halt

Beispiel # 2

Schreiben Sie einen C ++ - Algorithmus, um anhand der Noten zu bestimmen, ob ein Schüler die Prüfung besteht oder nicht. Noten sind der Durchschnitt der Gesamtnoten, die in allen Fächern erzielt wurden.

Algorithmus

Schritte sind unten angegeben:

  1. Start
  2. Geben Sie Markierungen1, Markierungen2, Markierungen3, Markierungen4 ein
  3. Note = (Note1 + Note2 + Note3 + Note4) / 4
  4. Wenn (Note <50) dann
  5. “Fail” drucken
  6. Sonst
  7. “Pass” drucken
  8. Ende wenn
  9. Halt

Beispiel # 3

Blasensortierung - Dies ist der C ++ - Algorithmus zum Sortieren der Zahlenfolge in aufsteigender oder absteigender Reihenfolge. Es vergleicht die nächsten zwei Zahlen und setzt die kleine vor eine größere Zahl, wenn in aufsteigender Reihenfolge sortiert wird. Dieser Vorgang wird fortgesetzt, bis wir eine Sequenz erreichen, in der wir alle Zahlen nacheinander sortiert finden.

Die zeitliche Komplexität dieses Algorithmus ist O (n), da die Steuerelemente alle Elemente durchlaufen müssen, die in der Sequenz vorhanden sind, und dann prüfen müssen, ob zwei benachbarte Zahlen sortiert sind. Wenn nicht, wird sortiert und zu den beiden anderen benachbarten Paaren in der Reihe verschoben.

Implementierung des obigen C ++ Algorithmus

Das folgende Beispiel zeigt den C ++ - Algorithmus mit Codeimplementierung:

Code:

#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;
)

Ausgabe:

Fazit

Der C ++ - Algorithmus ist ein detaillierter, schrittweiser Leitfaden für generische Lösungen, der darauf ausgelegt ist, die effizienteste und zeitsparendste Lösung für jedes bereitgestellte Problem bereitzustellen. Es gibt viele Tools, mit denen die Effizienz von Algorithmen wie der Big-Oh-Notation, der Omega-Notation oder der Gama-Notation überprüft werden kann, um die Wirksamkeit von Algorithmen zu ermitteln. Jeder Algorithmus hat seine eigenen Privilegien und Vorteile und wir wählen die passende Lösung gemäß der Problemstellung. Dies spielt eine entscheidende Rolle, wenn wir eine Lösung für das Problem entwerfen, da sie die Grundlage für die Leistung des Endprodukts bildet.

Empfohlene Artikel

Dies ist eine Anleitung zum C ++ - Algorithmus. Hier diskutieren wir die Einführung und detaillierte Erklärung des C ++ - Algorithmus zusammen mit den verschiedenen Beispielen und der Code-Implementierung. Sie können sich auch die folgenden Artikel ansehen, um mehr zu erfahren -

  1. 3D-Arrays in C ++
  2. Rust gegen C ++
  3. Abstrakte Klasse in C ++
  4. Überladen und Überschreiben in C ++
  5. Deklarieren einer abstrakten Klasse in C # mit Beispiel