Para responder a su pregunta en el orden que solicitó:
Para insertar un elemento en el inicio de una Lista vinculada, la complejidad del tiempo es O (1), tiempo constante.
Al insertar un elemento al final de la Lista vinculada, la complejidad del tiempo depende de si tiene o no una referencia al último nodo de la Lista vinculada. Si lo hace, entonces la complejidad del tiempo es O (1). Esto se debe a que puede llamar a esa referencia y agregar un nuevo elemento justo después. Si no tiene esta referencia, debe recorrer toda la lista para encontrar el último elemento, haciendo que la complejidad temporal sea O (n).
- Un problema importante con los algoritmos de programación prioritarios es el bloqueo indefinido o la inanición. ¿Puede explicar el concepto de inanición y cómo a menudo se resuelve en la programación de prioridades?
- ¿Cuál es la mejor manera de aprender estructuras de datos y algoritmos para estudiantes que no son de CS / IT?
- ¿Qué algoritmo usa Facebook para mostrar la lista de amigos en la página de perfil?
- ¿Cuál es la mejor estructura de datos para almacenar y realizar una adición de dos números grandes de 512 bits?
- Hay libros que enseñan estructuras de datos y algoritmos a través de un lenguaje de programación y otros simplemente enseñan la teoría; cual me recomiendan
Insertar en algún lugar en el medio es una pregunta relativamente vaga. Para hacerlo menos vago, digamos que queremos insertar un elemento directamente en el medio. Esto haría que la complejidad del tiempo fuera O (n / 2), pero dado que elimina los coeficientes al usar la notación Big O, la complejidad del tiempo es nuevamente O (n).
Este sitio web tiene varias complejidades de tiempo para estructuras de datos y algoritmos de clasificación: Hoja de trucos de la complejidad del algoritmo Big-O