Introducción al algoritmo de C ++
El conjunto finito de pasos dispuestos secuencialmente que actúa como guía para resolver cualquier problema. Esta palabra del algoritmo c ++ se usa particularmente en informática para definir el procedimiento para resolver problemas complejos. La arquitectura de la solución puede ser diferente para diferentes algoritmos. El algoritmo más eficiente es el que proporciona la solución en menos tiempo y consume menos memoria en comparación con otras soluciones algorítmicas. En el encabezado C ++ contiene las funciones diseñadas para operar en los rangos de números. Estas funciones operan en el número pero no hacen ninguna manipulación a los datos. Simplemente funciona mientras itera o señala los números sin tocar sus datos.
Algunas funciones miembro debajo del encabezado son:
- Algoritmo :: adyacente_find (): señala la primera aparición de dos números idénticos consecutivos.
- algoritmo :: all_of (): Devuelve verdadero si los números se encuentran dentro del rango del primer y último elemento.
- algoritmo :: binary_search (): Comprueba si el "valor a buscar" está presente en la secuencia ordenada o no.
- algoritmo :: copy (): esta función ayuda a copiar un rango de elementos de una ubicación a la nueva ubicación.
- Algoritmo :: count_if (): esta función devuelve el número de ocurrencias de elementos particulares si se cumple la condición mencionada en "si la condición".
- Algoritmo :: igual (): esta función prueba si dos conjuntos de elementos son iguales o no. Hay muchas funciones similares predefinidas en C ++ que los codificadores pueden demandar en beneficio de sus negocios.
Explicación del algoritmo C ++
C ++ proporciona versiones de estos algoritmos en el espacio de nombres std :: range. Los algoritmos son el vasto tema que cubre temas desde la búsqueda, la clasificación hasta los montones mínimo / máximo. Estos se pueden clasificar como:
1. Montón: en tales tipos, construimos un montón para encontrar el valor máximo o mínimo de la secuencia. Esto utilizó la estructura de datos de los árboles para lograr su salida.
2. Búsqueda binaria: este algoritmo de C ++ divide la secuencia completa en dos partes de forma iterativa hasta que encuentra el valor real que estamos buscando de la secuencia objetivo. Es un algoritmo altamente efectivo ya que reduce el tiempo a la mitad. La condición preliminar para usar este algoritmo de C ++ es que la secuencia proporcionada debe clasificarse en cualquier orden.
3. Clasificación: existen diferentes tipos de clasificación que se pueden utilizar para generar la secuencia ordenada. Son de inserción, de burbuja, de selección, de montón, de rápida, de fusión. Algunos de estos algoritmos funcionan según el principio de "divide y vencerás", como fusionar y ordenar rápidamente. Estos son rápidos y eficientes en comparación con otros, aunque usan más memoria en sus operaciones.
4. Operaciones simples sobre la secuencia: los algoritmos se pueden usar para realizar operaciones simples como reemplazar, eliminar e invertir los números en una secuencia. Hay muchas formas de llegar a esta salida utilizando diferentes algoritmos, todos con el objetivo de lograr la misma salida.
5. Operaciones sin modificación: algunas operaciones como buscar, buscar, contar el número de elementos en la secuencia. Estas operaciones no modifican los valores de datos del elemento sino que funcionan alrededor de estos elementos.
Ejemplo de algoritmos con pasos
Estos son algunos ejemplos del algoritmo de C ++ con los pasos que se explican a continuación:
Ejemplo 1
Escriba un algoritmo de C ++ para escribir un programa para agregar dos números.
Algoritmo
Los pasos se dan a continuación:
- comienzo
- Aceptar num1, num 2
- Suma = num1 + num2
- Mostrar suma
- Detener
Ejemplo # 2
Escriba un algoritmo de C ++ para determinar si un alumno aprueba o no según las calificaciones. Las calificaciones son el promedio de las calificaciones totales obtenidas en todas las asignaturas.
Algoritmo
Los pasos se dan a continuación:
- comienzo
- Marcas de entrada1, Marcas2, Marcas3, Marcas4
- Grado = (Marcas1 + Marcas2 + Marcas3 + Marcas4) / 4
- Si (Grado <50) entonces
- Imprimir "Fail"
- Más
- Imprimir "Pase"
- Terminara si
- Detener
Ejemplo # 3
Clasificación de burbujas: este es el algoritmo de C ++ para ordenar la secuencia numérica en orden ascendente o descendente. Compara los dos números más cercanos y coloca el pequeño antes de un número mayor si se ordena en orden ascendente. Este proceso continúa hasta que alcanzamos una secuencia donde encontramos todos los números ordenados en secuencia.
La complejidad temporal de este algoritmo es O (n) ya que los controles tienen que pasar por la cantidad de elementos que hay en la secuencia y luego verificar si se ordenan 2 números adyacentes. Si no es así, se ordena y se mueve a los otros dos pares adyacentes de la serie.
Implementación del algoritmo C ++ anterior
Aquí está el ejemplo del algoritmo C ++ con implementación de código que se muestra a continuación:
Código:
#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;
)
Salida:
Conclusión
El algoritmo C ++ es una guía detallada de soluciones genéricas paso a paso que está diseñada teniendo en cuenta para proporcionar la solución más eficiente y que requiera menos tiempo a cualquier problema proporcionado. Existen muchas herramientas para verificar la eficiencia de los algoritmos, como las grandes notaciones Oh, Omega o Gama, que son útiles para encontrar la eficacia de los algoritmos. Cada algoritmo tiene sus propios privilegios y ventajas y elegimos la solución adecuada según la declaración del problema. Esto juega un papel crucial cuando diseñamos una solución para el problema, ya que se convierte en la base del rendimiento del producto final.
Artículos recomendados
Esta es una guía del algoritmo de C ++. Aquí discutimos la introducción y explicación detallada del algoritmo C ++ junto con los diversos ejemplos y la implementación del código. También puede consultar los siguientes artículos para obtener más información:
- Matrices 3D en C ++
- Óxido vs C ++
- Clase abstracta en C ++
- Sobrecarga y anulación en C ++
- Declaración de clase abstracta en C # con ejemplo