¿Quieres convertirte en un jefe de negocios? ¡Puedes intentar diseñar un algoritmo a partir de estos 5 principios!

Los algoritmos suelen referirse a pasos claros y limitados en una computadora o programa que resuelven un tipo de problema según ciertas reglas, y generalmente se aplican a estructuras de datos específicas.

El algoritmo general tiene las siguientes características.

Entrada: Tiene 0 o más entradas

Salida: Tiene 1 o más salidas

Finitud: después de un número limitado de pasos, finalizará automáticamente y no se repetirá infinitamente; y los pasos se completarán en un tiempo limitado.

Certeza: Cada paso tiene un significado claro y sin ambigüedades.

Viabilidad: Cada paso es factible, a través de la combinación de pasos diseñada, y finaliza después de un número limitado de ejecuciones.

¿Cómo diseñar un algoritmo?

Para un buen diseño de algoritmo, es necesario considerarlo desde una perspectiva empresarial o funcional, y lo mejor es cumplir con los siguientes principios

  • Corrección : el algoritmo debe cumplir con sus requisitos de diseño y resolver el problema descrito por los requisitos mediante pasos correctos y limitados.

  • Robustez : cuando los datos de entrada son ilegales, el algoritmo debe manejarlos adecuadamente para evitar la interrupción del programa o una salida inexplicable.

  • Legibilidad : debe ser fácil de leer y comunicar, y tratar de evitar diseños oscuros.

  • Alta eficiencia: como solución a un tipo de problema, el tiempo que tarda un algoritmo en obtener el resultado correcto es un indicador importante que refleja la calidad del algoritmo diseñado.

  • Bajo almacenamiento : Los recursos de memoria son siempre el recurso más escaso en una computadora o programa. Al resolver problemas, puede ocupar menos recursos de almacenamiento. Este también es un tema que debe considerarse durante el proceso de diseño del algoritmo.

¿Cómo cuantificar la eficiencia de un algoritmo?

Para la cuantificación de la eficiencia del algoritmo, generalmente se considera y prueba desde dos aspectos: complejidad temporal y complejidad espacial.

  • complejidad del tiempo

    • En un algoritmo, el tiempo invertido es proporcional al número de ejecuciones de las declaraciones en el algoritmo.

    • Para un algoritmo para un determinado problema, cuantas más declaraciones se ejecutan, más tiempo lleva.

    • En un algoritmo, el número de ejecuciones de declaraciones se denomina frecuencia de declaración o frecuencia de tiempo.

    • En términos generales, el número de veces que se repiten las operaciones básicas en el algoritmo es función del tamaño del problema n, representado por T (n). Si existe una determinada función auxiliar f (n), cuando n se acerca al infinito, T ( El valor límite de n)/f(n) es una constante que no es igual a cero, entonces se dice que f(n) es una función del mismo orden de magnitud que T(n). Denotado como T(n)=O(f(n)), O(f(n)) se denomina complejidad temporal asintótica del algoritmo, o complejidad temporal para abreviar.

    • La complejidad temporal de los algoritmos comunes de menor a mayor es: O (1) (orden constante), O (logn) (orden logarítmico), O (n) (orden lineal), O (nlogn) (orden logarítmico lineal) , O(n ²) (orden cuadrático), O(n ³) (orden cúbico), O(2 ⁿ) (orden exponencial), O(n!) (orden factorial)

    • Se puede ver que para un problema de escala fija n, cuanto menor sea la complejidad temporal de la función del algoritmo O, mayor será la eficiencia.

  • complejidad espacial

    • Mide principalmente la cantidad de espacio de almacenamiento que ocupa temporalmente un algoritmo durante la operación.

    • De manera similar, para una escala espacial S (n), la función del algoritmo correspondiente es O

    • La complejidad del espacio común de menor a mayor es: O (1), O (logn), O (n), O (n²)

    • Se puede ver que para un problema de escala fija n, cuanto menor sea la complejidad espacial de la función del algoritmo O, mayor será la eficiencia.

  • La complejidad del tiempo y la complejidad del espacio a veces se afectan entre sí: en algunos procesos de procesamiento, el tiempo se intercambia por espacio.

Operaciones de datos

  • Es una operación definida en la estructura lógica y debe implementarse en la estructura de almacenamiento.

  • Las operaciones de datos comunes incluyen

    • Insertar, agregar nuevos datos a la estructura de datos.

    • Modificar, cambiar el contenido de uno o más datos en la estructura de datos.

    • Eliminar, eliminar los datos especificados de la estructura de datos.

    • Buscar, encontrar datos que cumplan ciertas condiciones en la estructura de datos.

    • Ordenar, reorganizar los datos en la estructura de datos en un orden específico, por ejemplo de mayor a menor

Algoritmos comúnmente utilizados

  • Para operaciones de datos comunes en estructuras de datos, existe una serie de algoritmos comúnmente utilizados en el desarrollo de computadoras o software, que incluyen:

    • Algoritmos de clasificación : clasificación por burbujas, clasificación por inserción, clasificación Hill, clasificación rápida, clasificación por selección, clasificación por fusión, clasificación por montón, clasificación por base

    • Algoritmo de búsqueda : búsqueda secuencial, búsqueda binaria, búsqueda por interpolación, búsqueda de Bonacci, búsqueda de bloques, búsqueda de tabla de árbol, búsqueda de hash

    • Otros algoritmos : algoritmo recursivo, algoritmo de amplitud primero, algoritmo de profundidad primero, búsqueda de ruta más corta (gráfico), etc.

Finalmente: el video tutorial completo de prueba de software a continuación ha sido compilado y subido. Los amigos que lo necesiten pueden obtenerlo ellos mismos [Garantizado 100 % gratis]

Documento de entrevista de prueba de software

Debemos estudiar para encontrar un trabajo bien remunerado. Las siguientes preguntas de la entrevista son los últimos materiales de entrevista de empresas de Internet de primer nivel como Alibaba, Tencent, Byte, etc., y algunos jefes de Byte han dado respuestas autorizadas. Después de terminar este conjunto Creo que todos pueden encontrar un trabajo satisfactorio según la información de la entrevista.

Supongo que te gusta

Origin blog.csdn.net/wx17343624830/article/details/132815494
Recomendado
Clasificación