¿Cuáles son los algoritmos básicos en informática?

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

  1. 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).

  2. 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

  1. 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)

  2. 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)

  3. 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.

  4. 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)

  5. 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 🙂

Estudio Algoritmos, me encantaría si existiera el “algoritmo principal”; Puedo hacer otra cosa, ya que todos los problemas que estudio no requieren solución y uno puede simplemente aplicar el “algoritmo principal”, suponiendo que este “algoritmo principal” sea eficiente. No creo que tal cosa pueda existir, demasiados problemas sin solución para que tal cosa exista.

Debe comprender que la investigación de algoritmos en informática es fundamentalmente matemática. Para cada problema estudiado, puede haber muchos algoritmos que podrían existir que sean útiles tanto desde un punto de vista teórico como práctico. Cada problema debe ser considerado cuidadosamente. Es raro encontrar algoritmos amplios que resuelvan eficientemente clases enteras de problemas.

El algoritmo más importante (de lejos) en informática es el algoritmo AVL Tree. Da lugar a conjuntos, árboles, diccionarios, conjuntos de hash, tablas de hash, mapas y multicollections de todos estos. Da lugar a la teoría de bases de datos también. Entonces, un solo algoritmo representa la mayoría de las estructuras de datos y la teoría de bases de datos.

Estoy bastante seguro de que no existe tal “algoritmo principal”. Que yo sepa, no hay panacea en informática.