# data[].attributes.body
Un algoritmo es un conjunto de reglas definidas que permite solucionar un problema, ya sea preparar un postre (el algoritmo seria la receta). Los algoritmos se adaptan, transforman, están por todas partes. Algunos ejemplos son los manuales de usuario, que muestran algoritmos para usar un aparato, o las instrucciones que recibe un trabajador de su patrón, un ejemplo en matemáticas son el algoritmo de la multiplicación, para calcular el producto, muchos autores lo señalan como listas de instrucciones para resolver un cálculo o un problema abstracto, es decir que un numero finito de pasos convierten los datos de un problema (entrada) en una solución (salida)

# data[].attributes.body
se refiere al conjunto de instrucciones diseñadas para encontrar o buscar un elemento con ciertas propiedades dentro de una estructura de datos

# data[].attributes.body
es aquel algoritmo encargado de encontrar una serie de soluciones a un dado problema y hallar la mas conveniente

# data[].attributes.body
son aquellos algoritmos encargados de la seguridad y privacidad de la información digital

# data[].attributes.body
es aquel tipo de algoritmo que se usa para organizar una lista o conjunto de datos o instrucciones en un orden especifico

# data[].attributes.body
es aquel algoritmo que tiene una base jerarquica y una estructura similar al diagrama de flujo

# data[].attributes.body
son aquellos que buscan solucionar un problema mas pequeño de una misma instancia

# data[].attributes.headline
caracteristicas de los algoritmos de busqueda

# data[].attributes.subject
caracteristicas de los algoritmos de busqueda

# data[].attributes.body
Eficiencia: Varía dependiendo del tamaño y la estructura de los datos.

Complejidad: Depende del algoritmo específico utilizado (lineal, binario, etc.).

Aplicaciones: Búsqueda de elementos en listas, grafos, árboles, mapas, etc.

Ejemplos: Búsqueda lineal, búsqueda binaria, búsqueda en profundidad, búsqueda en amplitud, etc.

# data[].attributes.body
son los algoritmos diseñados para resolver problemas que involucran estructura de grafos (vertices)

# data[].attributes.headline
Caracteristicas del algortimo de ordenamiento

# data[].attributes.subject
Caracteristicas del algortimo de ordenamiento

# data[].attributes.body
Eficiencia: Varía según el algoritmo y el tamaño de los datos a ordenar.

Complejidad: Puede ser lineal, cuadrática, logarítmica, etc.

Aplicaciones: Bases de datos, algoritmos de búsqueda, procesamiento de datos, etc.

Ejemplos: Burbuja, inserción, selección, merge sort, quicksort, etc.

# data[].attributes.body
Característica clave: Llamada recursiva a sí mismo para resolver problemas más pequeños.

Eficiencia: Puede ser menos eficiente que enfoques iterativos en algunos casos.

Complejidad: Depende de la profundidad y el número de llamadas recursivas.

Aplicaciones: Resolución de problemas que se pueden dividir en subproblemas similares.

Ejemplos: Cálculo de factorial, torres de Hanoi, recorrido de árboles, etc.

# data[].attributes.body
Eficiencia: Depende del tamaño y la densidad del grafo.

Complejidad: Varía según el algoritmo utilizado (recorrido, búsqueda, etc.).

Aplicaciones: Redes sociales, sistemas de transporte, logística, análisis de circuitos, biología computacional, etc.

# data[].attributes.headline
Caracteristicas del algoritmo de arboles 

# data[].attributes.subject
Caracteristicas del algoritmo de arboles 

# data[].attributes.body
Característica clave: Estructura jerárquica de nodos conectados por aristas.

Eficiencia: Depende de la operación específica realizada en el árbol.

Complejidad: Varía según el tipo de árbol y la operación realizada.

Aplicaciones: Organización de datos jerárquicamente, como estructuras de archivos o representación de páginas web.

Ejemplos: Árboles binarios de búsqueda, árboles AVL, árboles B, árboles de expresiones, etc.

# data[].attributes.headline
Caracteristicas del algortimo de optimizacion

# data[].attributes.subject
Caracteristicas del algortimo de optimizacion

# data[].attributes.body
bjetivo: Encontrar la mejor solución posible dentro de un conjunto de posibles soluciones.

Eficiencia: Depende del problema específico y del algoritmo utilizado.

Complejidad: Varía según el enfoque y el método de optimización.

Aplicaciones: Programación lineal, diseño de redes, planificación de rutas, asignación de recursos, etc.

# data[].attributes.headline
Caracteristicas del algortimo de cifrado

# data[].attributes.subject
Caracteristicas del algortimo de cifrado

# data[].attributes.body
Característica clave: Garantiza la seguridad y privacidad de la información mediante técnicas de cifrado.

Eficiencia: Depende del algoritmo de cifrado y de la longitud de la clave.

Complejidad: Varía según el tipo de cifrado y su implementación.

Aplicaciones: Seguridad de datos en comunicaciones, almacenamiento de datos, transacciones en línea, etc.

# data[].attributes.headline
Fases para la resolución de un problema:

# data[].attributes.subject
Fases para la resolución de un problema:

# data[].attributes.body
el análisis del problema es definir lo que se debe hacer y su solución, si hablamos de esto en un medio sistemático debemos tener encuentra

->el input

->el proceso

->el output

# data[].attributes.body
una vez definido el problema pasamos a realizar el proceso el cual se le dará a la maquina encargada una formula en pseudocodigo, diagrama de flujo o tablas de decisión

# data[].attributes.body
una vez el algoritmo este completo se pasa a un lenguaje que se pueda traducir dicho algoritmo cuyo resultado sera el programa fuente, también se le conoce como la fase de codificación

# data[].attributes.body
después de todos estos procesos pasamos al proceso de pruebas donde se pulirán los detalles , verificar los resultados y reparar problemas lo que dara que nuestro problema se halla solucionado

# data[].attributes.headline
Todo esto se logra mediante a variables y constantes 

# data[].attributes.subject
Todo esto se logra mediante a variables y constantes 

# data[].attributes.body
Es donde se almacenan y se recuperan los datos de un programa. Así de simple. En programación, la utilizamos para guardar datos y estados, asignar ciertos valores de variables a otras, representar valores de expresiones matemáticas y mostrar valores por pantallas.

o   Variables lógicas (boolean)

Las variables de tipo lógico sólo pueden tener el valor true (verdadero) o false (falso). Se suelen utilizar en las estructuras de control.

o   Variables enteras (integer)

Las variables de tipo entero pueden guardar números enteros (positivos o negativos).

o   Variables decimales (float)

Las variables de tipo decimal (float) pueden guardar números decimales (positivos o negativos).

o   Variables de cadenas (string)

Las variables de tipo cadena pueden guardar caracteres.

PHP no impone ningún límite al tamaño de las cadenas. Las cadenas pueden ser todo lo largas que permita la memoria del servidor

# data[].attributes.body
una constante es un valor que no puede ser alterado/modificado durante la ejecución de un programa, únicamente puede ser leído. Una constante corresponde a una longitud fija de un área reservada en la memoria principal del ordenador, donde el programa almacena valores fijos.

# data[].attributes.body
Jostin Nahir Palacio Montoya

Juan Esteban Garzon Sierra

Sebastian Sierra Mirquez