Muestra las diferencias entre dos versiones de la página.
Próxima revisión | Revisión previa | ||
cpp-avanzado:deque [2017/11/23 22:09] santo creado |
cpp-avanzado:deque [2017/11/23 22:13] (actual) santo [Motivación] |
||
---|---|---|---|
Línea 6: | Línea 6: | ||
===== Motivación ===== | ===== Motivación ===== | ||
- | ''vector'', que representa en C++ arreglos de tamaño dinámico, es una de las estructuras más comunes y utilizadas para guardar listas de valores ((o incluso matrices, mediante listas de listas)). | + | ''vector'', que se utiliza en C++ para representar arreglos de tamaño dinámico, es una de las estructuras más comunes y utilizadas para guardar listas de valores ((O incluso matrices, mediante listas de listas.)). |
- | Además de la indexación (con corchetes, como en ''v[5]'') vector tiene muchas operaciones de utilidad, como por ejemplo ''.front()'', ''.back()'', ''.push_back()'' y ''.pop_back()''. Sin embargo, a vector le faltan un par de operaciones interesantes, que son ''.push_front()'' y ''.pop_front()''. | + | Además de la indexación (con corchetes, como en ''v[5]'') vector tiene muchas operaciones de utilidad, como por ejemplo ''.front()'', ''.back()'', ''.push_back()'' y ''.pop_back()''. Sin embargo, a vector le faltan un par de operaciones interesantes, que son ''.push_front()'' y ''.pop_front()''. Como su nombre sugiere, estas operaciones se comportan de manera análoga a las clásicas ''push_back'' y ''pop_back'', pero insertan o eliminan un elemento por el **comienzo** del ''deque'' (es decir, la posición $0$) en lugar de por el final (posición $N-1$). |
- | Deque es una estructura más poderosa que vector: permite todas las operaciones que vector permite (incluso la indexación con corchetes), y además permite usar ''.push_front()'' y ''.pop_front()'', que son eficientes (su complejidad temporal es $O(1)$ [[|amortizado]]). | + | Deque es una estructura más poderosa que vector: permite todas las operaciones que vector permite (incluso la indexación con corchetes), y además permite usar ''.push_front()'' y ''.pop_front()'', que son eficientes (su complejidad temporal es $O(1)$ [[algoritmos-oia:analisis-amortizado|amortizado]]). |
===== Ejemplo ===== | ===== Ejemplo ===== |