Recursos de referencia

Consulta rápida de complejidad de operaciones de estructuras de datos

Estructura de datosInserciónEliminaciónBúsquedaRecorrido
ArregloO(n) en el medio / O(1) al finalO(n) en el medio / O(1) al finalO(1) por índice / O(n) por valorO(n)
Lista enlazada simpleO(1) cabeza / O(n) colaO(1) cabeza / O(n) en posición específicaO(n)O(n)
Lista doblemente enlazadaO(1) (posición conocida)O(1) (posición conocida)O(n)O(n)
pilaO(1)O(1)——
ColaO(1)O(1)——
Cola de prioridad (montículo)O(log n)O(log n)——
Árbol binario (BST)O(log n)~O(n)O(log n)~O(n)O(log n)~O(n)O(n)
Tabla hashO(1) promedioO(1) promedioO(1) promedio—
montículoO(log n)O(log n)O(1) cima del montículo—
grafoO(1) lista de adyacenciaO(E)O(V+E) DFS/BFSO(V+E)

Consulta rápida de algoritmos de ordenamiento

AlgoritmoComplejidad promedioComplejidad en el peor casoEspacioEstableEn una frase
BurbujaO(n²)O(n²)O(1)SíSimple pero lento, adecuado para la enseñanza
SelecciónO(n²)O(n²)O(1)noMínimo número de intercambios
InserciónO(n²)O(n²)O(1)SíÓptimo para escala pequeña o datos casi ordenados
RápidoO(n log n)O(n²)O(log n)noLa opción general preferida, con una idea de partición elegante
MezclaO(n log n)O(n log n)O(n)SíRendimiento estable pero requiere espacio adicional
HeapsortO(n log n)O(n log n)O(1)noOrdenamiento in situ, óptimo en espacio
ShellO(n^1.3)O(n²)O(1)noVersión mejorada del ordenamiento por inserción

Clasificación de complejidad Big O

Complejidadn=10n=1000n=1000000Evaluación
O(1)111Óptimo
O(log n)~3~10~20Excelente
O(n)1010001000000Aceptable
O(n log n)~30~10000~20000000Regular
O(n²)100100000010¹²Requiere precaución
O(2ⁿ)1024Números astronómicosImposibleNo disponible

Recursos de aprendizaje recomendados

TipoNombreDescripción
Libro de texto clásico«Estructuras de datos (versión en C)» de Yan WeiminLibro de texto estándar en universidades chinas, sistema completo
Libro de texto clásico«Introducción a los algoritmos» (CLRS)Obra de referencia autorizada en el campo de los algoritmos, profunda y sistemática
Práctica en líneaLeetCode (leetcode.com)Gran cantidad de problemas de algoritmos, la primera opción para practicar en entrevistas
Práctica en líneaNowcoder (nowcoder.com)Plataforma nacional de práctica de entrevistas, adecuada para la preparación de reclutamiento escolar
Herramienta de visualizaciónVisualgo (visualgo.net)Visualización de algoritmos, ayuda a comprender el proceso de ejecución
Compilador en líneaCompiler Explorer (godbolt.org)Ver el ensamblador resultante de compilar código C, comprender el bajo nivel
Otras extensiones