Yahoo Answers is shutting down on May 4th, 2021 (Eastern Time) and beginning April 20th, 2021 (Eastern Time) the Yahoo Answers website will be in read-only mode. There will be no changes to other Yahoo properties or services, or your Yahoo account. You can find more information about the Yahoo Answers shutdown and how to download your data on this help page.
Trending News
¿Qué es una bicola en estructuras de datos?
Necesito toda la teoría acerca de una bicola. Grax
1 Answer
- Marcelo MLv 41 decade agoFavorite Answer
ufff.. toda la teoría!!
En inglés se llama dequeue.
Es una cola en la se puede "sacar" y "meter" elementos tanto de la delantera de la cola como e la cola. Si una cola, como estructura de datos abstracta, tiene dos operaciones llamadas "push" (que inserta un elemento al final de la cola) y "pop" (que extrae un elemento del principio de la cola), entonces una bicola tiene dos operaciones adicionales llamadas "push_front" y "pop_back".
Toda operación debería implementarse en un tiempo amortizado constante O(1). Al igual que la cola regular, la implementación e un array no es correcta por el costo del espacio o bien el shift de desencolar.
A diferencia de la cola simple, la lista enlazada no es suficiente. La implementación es trivial en una lista doblemente enlazada pero tiene el problema del acceso aleatorio a un elemento del medio de la cola. La implementación apropiada es un buffer circular con crecimiento dinámico.
Existen implementaciones listas en todos los lenguajes de programación. c++ tiene std::deque, java tiene la interfaz java.util.Deque, perl permite las operaciones pollback y pollfront en todos los arrays, etc. etc.
Generalmente se dice que una doble cola es una estructura secuencial. Nunca entendí por qué.