¿Se puede ordenar una lista enlazada circular?
Depende de lo que quieras decir, pero diría que seguro. Lo llamaría ordenado si no hay más de un lugar donde salta hacia atrás. Entonces 99,100,1,2,3,4,5,6,7,8,9, …, 97,98 sería un ejemplo de una lista circular ordenada con 100 enteros únicos en ella.
Tome una lista circular vinculada de números que, según afirmo, están ordenados en orden ascendente. Estás tratando de determinar si 528 está en la lista.
- ¿En qué consiste el pensamiento algorítmico?
- Visión por computadora: las aplicaciones de Richard Szeliski ofrecen una buena (amorosa) montaña rusa a través de la historia de los algoritmos. ¿Cómo puedo usarlo mejor?
- ¿De dónde obtienen los fondos de cobertura sus datos en tiempo real para algoritmos?
- ¿Cómo funciona el algoritmo de búsqueda de ciclo de Floyd? ¿De qué manera mover la tortuga al comienzo de la lista vinculada, mientras se mantiene a la liebre en el lugar de reunión, seguido de mover un paso a la vez, hace que se encuentren en el punto de inicio del ciclo?
- El comportamiento emergente se encuentra en el núcleo de las ciencias físicas y de la vida: posiblemente por conveniencia computacional. ¿La teoría de la complejidad ofrece ideas aquí?
Escenario 1: El elemento que está viendo es 520. El siguiente elemento es 537. Podemos concluir que 528 no está presente en la lista sin examinar todos los demás elementos de la lista.
Escenario 2: El elemento que está viendo es 520. El siguiente elemento es 519. Podemos concluir que 528 no está presente en la lista (el valor más alto en la lista fue 520).
(Por supuesto, una ordenación de este tipo sería horriblemente improductiva de mantener, no le ofrece cosas como la búsqueda binaria, y ni siquiera admite un escenario como “imprima todos los elementos en orden” sin más movimientos o comience con un escaneo)