En informática, los algoritmos se dividen en subcategorías como dividir y conquistar, aleatorización, codicia, programación dinámica, problemas de aproximación.
Como la pregunta es sobre algoritmos básicos, la clasificación, la búsqueda y algunos otros algoritmos matemáticos cubren los fundamentos básicos. Aquí hay algunos algoritmos básicos enumerados en informática.
Algoritmos de búsqueda
- ¿Qué tipo de algoritmo de Machine Learning usarías para segmentar a tus clientes en múltiples grupos?
- ¿Cómo demostramos que un gráfico conectado con n nodos y más de n-1 aristas debe contener ciclo?
- ¿Se puede demostrar que es imposible volver a un entero inicial mayor que uno si aplica un algoritmo de multiplicar por tres y agregar uno cuando es impar y dividir por dos si es par?
- ¿Cuáles son los componentes o algoritmos de subsistema mejor diseñados en Linux?
- ¿Qué hace que un gran motor de 'recomendación de personas'?
- Búsqueda lineal: también se denomina búsqueda secuencial. Encuentra el elemento clave en un recorrido de la matriz. Este es el algoritmo más básico en informática.
Explicación – Tutoriales de búsqueda lineal
La complejidad temporal de la búsqueda lineal es O (n).
Problemas: ruptura (fácil), tipo normal (medio). - Búsqueda binaria: es un algoritmo de divide y vencerás. Funciona solo en una matriz ordenada. También puede encontrar la solución de un polinomio de manera muy eficiente mediante la búsqueda binaria.
Explicación – Tutoriales de búsqueda binaria
Complejidad temporal de la búsqueda binaria – O (log N)
Problemas: monje y búsqueda (fácil), encuentro de monje con polinomio (medio)
Algoritmos de clasificación
- Clasificación de inserción: es un algoritmo de clasificación simple que construye la matriz ordenada de una en una.
Explicación – Tutoriales de ordenación por inserción
La complejidad temporal del orden de inserción es O (n ^ 2).
P roblems – Monk and Nice Strings | Problemas de práctica de clasificación y algoritmos de inserción (fácil)
- Selección de selección: la técnica utilizada aquí es bastante ingenua. Levante el elemento más pequeño de la matriz y colóquelo en la 1ª posición. Después de eso, recoja el elemento más pequeño en la matriz [2 … n] y colóquelo en la segunda posición, esto continúa hasta N, el número total de elementos en la matriz.
Explicación – Tutoriales de selección de selección
La complejidad temporal del orden de selección es O (n ^ 2).
P roblems – Teclado antiguo en un país extranjero (Fácil)
- Clasificación de burbujas: una vez más, una técnica de clasificación muy simple donde los elementos adyacentes se comparan e intercambian si el último es más pequeño que el actual.
Explicación – Tutoriales de clasificación de burbujas
La complejidad temporal del tipo de burbuja es O (n ^ 2).
Problemas: salvar pacientes | Bubble Sort & Algorithms Practice Problems (Easy), Benny y Segments | Problemas de práctica de algoritmos y clasificación de burbujas (medio)
También podemos modificar la ordenación de burbujas para obtener una complejidad lineal cuando la matriz ya está ordenada. La idea es verificar si no ocurre un intercambio en una de las pasadas, podemos romper el ciclo ya que la matriz ya está ordenada.
- Ordenar por fusión: este es un algoritmo de división y conquista y más rápido que todos los algoritmos de clasificación discutidos anteriormente.
Explicación del video – Algoritmo de clasificación de fusión
La complejidad del tiempo es O (N log N).
Problemas – Criminales: Little Deepu y Little Kuldeep (Fácil)
- Clasificación rápida: esta es la clasificación por aleatorización. Al principio, a muchos alumnos les resulta difícil entenderlo, pero espero que el enlace de video que se comparte a continuación le resulte fácil de comprender el mejor algoritmo de clasificación.
Explicación de video: algoritmo de clasificación rápida
La complejidad del tiempo es O (N log N).
Hay algunos algoritmos de ordenación más como ordenación de montón, ordenación de radix, ordenación de conteo.
Algoritmos Matemáticos
Euclidean GCD : es un algoritmo recursivo utilizado para encontrar el máximo común divisor de dos números.
int gcd (int a, int b)
{
si (b == 0)
devolver a;
más
devuelve mcd (b, a% b);
}
Aplicaciones: Euclidean GCD se utiliza para encontrar el máximo divisor común de toda la matriz y también el factor menos común. Además, también es necesario encontrar la solución de la ecuación lineal de diofantina.
Feliz aprendizaje 🙂