Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Estructura de Datos y Librerias

Estructura de Datos y Librerias

Las implementaciones demostradas pueden ser encontradas en este link
https://github.com/frojasg/uva

Avatar for Francisco Rojas

Francisco Rojas

May 24, 2014
Tweet

More Decks by Francisco Rojas

Other Decks in Programming

Transcript

  1. Estructuras de Datos y Librerias Francisco Rojas Universidad de Talca

    May 23, 2014 Francisco Rojas (Universidad de Talca) Estructuras de Datos y Librerias May 23, 2014 1 / 37
  2. Agenda 1 Introducci´ on Objetivos 2 Linear Data Structure Static

    Array Sorting Search Stack Queues Set 3 Non-Linear Data Structures Priority Queues Dictionaries Balanced Binary Search Tree 4 Preguntas? 5 Desaf´ ıo Francisco Rojas (Universidad de Talca) Estructuras de Datos y Librerias May 23, 2014 5 / 37
  3. Perd´ on por el spanglish! Francisco Rojas (Universidad de Talca)

    Estructuras de Datos y Librerias May 23, 2014 6 / 37
  4. Introducci´ on • Diferencia entre una implementaci´ on f´ acil

    y dif´ ıcil • Diferencia entre un “Accepted” y un “Wrong Answer” • No hay una estructura de datos que se pueda aplicar a todos los problemas • Disclaimer: estoy asumiendo un conocimiento b´ asico de estructuras de datos • Disclaimer2: Todos los ejemplos estan escritos en Java Francisco Rojas (Universidad de Talca) Estructuras de Datos y Librerias May 23, 2014 8 / 37
  5. Introducci´ on • Diferencia entre una implementaci´ on f´ acil

    y dif´ ıcil • Diferencia entre un “Accepted” y un “Wrong Answer” • No hay una estructura de datos que se pueda aplicar a todos los problemas • Disclaimer: estoy asumiendo un conocimiento b´ asico de estructuras de datos • Disclaimer2: Todos los ejemplos estan escritos en Java Francisco Rojas (Universidad de Talca) Estructuras de Datos y Librerias May 23, 2014 8 / 37
  6. Introducci´ on • Diferencia entre una implementaci´ on f´ acil

    y dif´ ıcil • Diferencia entre un “Accepted” y un “Wrong Answer” • No hay una estructura de datos que se pueda aplicar a todos los problemas • Disclaimer: estoy asumiendo un conocimiento b´ asico de estructuras de datos • Disclaimer2: Todos los ejemplos estan escritos en Java Francisco Rojas (Universidad de Talca) Estructuras de Datos y Librerias May 23, 2014 8 / 37
  7. Introducci´ on • Diferencia entre una implementaci´ on f´ acil

    y dif´ ıcil • Diferencia entre un “Accepted” y un “Wrong Answer” • No hay una estructura de datos que se pueda aplicar a todos los problemas • Disclaimer: estoy asumiendo un conocimiento b´ asico de estructuras de datos • Disclaimer2: Todos los ejemplos estan escritos en Java Francisco Rojas (Universidad de Talca) Estructuras de Datos y Librerias May 23, 2014 8 / 37
  8. Introducci´ on • Diferencia entre una implementaci´ on f´ acil

    y dif´ ıcil • Diferencia entre un “Accepted” y un “Wrong Answer” • No hay una estructura de datos que se pueda aplicar a todos los problemas • Disclaimer: estoy asumiendo un conocimiento b´ asico de estructuras de datos • Disclaimer2: Todos los ejemplos estan escritos en Java Francisco Rojas (Universidad de Talca) Estructuras de Datos y Librerias May 23, 2014 8 / 37
  9. Objetivos • Proporcionar un conjunto de herramientas • Un enfoque

    pr´ actico a las estructuras de datos usadas en el torneo de programaci´ on • Dar una gu´ ıa de que tipo de estructura de datos usar para cada problema Francisco Rojas (Universidad de Talca) Estructuras de Datos y Librerias May 23, 2014 10 / 37
  10. Objetivos • Proporcionar un conjunto de herramientas • Un enfoque

    pr´ actico a las estructuras de datos usadas en el torneo de programaci´ on • Dar una gu´ ıa de que tipo de estructura de datos usar para cada problema Francisco Rojas (Universidad de Talca) Estructuras de Datos y Librerias May 23, 2014 10 / 37
  11. Objetivos • Proporcionar un conjunto de herramientas • Un enfoque

    pr´ actico a las estructuras de datos usadas en el torneo de programaci´ on • Dar una gu´ ıa de que tipo de estructura de datos usar para cada problema Francisco Rojas (Universidad de Talca) Estructuras de Datos y Librerias May 23, 2014 10 / 37
  12. Linear Data Structure Static Array Francisco Rojas (Universidad de Talca)

    Estructuras de Datos y Librerias May 23, 2014 12 / 37
  13. Static Array • Colecci´ on de datos que se accede

    usando sus indices • El tama˜ no M´ aximo es mencionado en el problema • Dimensiones de 1-D, 2-D, 3-D y rar´ a vez se usa 4-D • Operaciones comunes: • Acceso • Ordernar • B´ usqueda Francisco Rojas (Universidad de Talca) Estructuras de Datos y Librerias May 23, 2014 13 / 37
  14. Static Array • Colecci´ on de datos que se accede

    usando sus indices • El tama˜ no M´ aximo es mencionado en el problema • Dimensiones de 1-D, 2-D, 3-D y rar´ a vez se usa 4-D • Operaciones comunes: • Acceso • Ordernar • B´ usqueda Francisco Rojas (Universidad de Talca) Estructuras de Datos y Librerias May 23, 2014 13 / 37
  15. Static Array • Colecci´ on de datos que se accede

    usando sus indices • El tama˜ no M´ aximo es mencionado en el problema • Dimensiones de 1-D, 2-D, 3-D y rar´ a vez se usa 4-D • Operaciones comunes: • Acceso • Ordernar • B´ usqueda Francisco Rojas (Universidad de Talca) Estructuras de Datos y Librerias May 23, 2014 13 / 37
  16. Static Array • Colecci´ on de datos que se accede

    usando sus indices • El tama˜ no M´ aximo es mencionado en el problema • Dimensiones de 1-D, 2-D, 3-D y rar´ a vez se usa 4-D • Operaciones comunes: • Acceso • Ordernar • B´ usqueda Francisco Rojas (Universidad de Talca) Estructuras de Datos y Librerias May 23, 2014 13 / 37
  17. Static Array • Colecci´ on de datos que se accede

    usando sus indices • El tama˜ no M´ aximo es mencionado en el problema • Dimensiones de 1-D, 2-D, 3-D y rar´ a vez se usa 4-D • Operaciones comunes: • Acceso • Ordernar • B´ usqueda Francisco Rojas (Universidad de Talca) Estructuras de Datos y Librerias May 23, 2014 13 / 37
  18. Static Array • Colecci´ on de datos que se accede

    usando sus indices • El tama˜ no M´ aximo es mencionado en el problema • Dimensiones de 1-D, 2-D, 3-D y rar´ a vez se usa 4-D • Operaciones comunes: • Acceso • Ordernar • B´ usqueda Francisco Rojas (Universidad de Talca) Estructuras de Datos y Librerias May 23, 2014 13 / 37
  19. Static Array • Colecci´ on de datos que se accede

    usando sus indices • El tama˜ no M´ aximo es mencionado en el problema • Dimensiones de 1-D, 2-D, 3-D y rar´ a vez se usa 4-D • Operaciones comunes: • Acceso • Ordernar • B´ usqueda Francisco Rojas (Universidad de Talca) Estructuras de Datos y Librerias May 23, 2014 13 / 37
  20. Sorting • O(n2): Bubble/Selection/Insertion Sort • Son lentos y hay

    que evitarlos • O(n log n) Merge/Head/random Quick sort. • Librer´ ıas lo hacen por nosotros, s´ olo especificamos la funci´ on de comparaci´ on • O(n) Special purpose Algorithms: Counting sort, Radix sort, Bucket Sort • Espec´ ıficos al problemas Francisco Rojas (Universidad de Talca) Estructuras de Datos y Librerias May 23, 2014 15 / 37
  21. Sorting • O(n2): Bubble/Selection/Insertion Sort • Son lentos y hay

    que evitarlos • O(n log n) Merge/Head/random Quick sort. • Librer´ ıas lo hacen por nosotros, s´ olo especificamos la funci´ on de comparaci´ on • O(n) Special purpose Algorithms: Counting sort, Radix sort, Bucket Sort • Espec´ ıficos al problemas Francisco Rojas (Universidad de Talca) Estructuras de Datos y Librerias May 23, 2014 15 / 37
  22. Sorting • O(n2): Bubble/Selection/Insertion Sort • Son lentos y hay

    que evitarlos • O(n log n) Merge/Head/random Quick sort. • Librer´ ıas lo hacen por nosotros, s´ olo especificamos la funci´ on de comparaci´ on • O(n) Special purpose Algorithms: Counting sort, Radix sort, Bucket Sort • Espec´ ıficos al problemas Francisco Rojas (Universidad de Talca) Estructuras de Datos y Librerias May 23, 2014 15 / 37
  23. Sorting • O(n2): Bubble/Selection/Insertion Sort • Son lentos y hay

    que evitarlos • O(n log n) Merge/Head/random Quick sort. • Librer´ ıas lo hacen por nosotros, s´ olo especificamos la funci´ on de comparaci´ on • O(n) Special purpose Algorithms: Counting sort, Radix sort, Bucket Sort • Espec´ ıficos al problemas Francisco Rojas (Universidad de Talca) Estructuras de Datos y Librerias May 23, 2014 15 / 37
  24. Sorting • O(n2): Bubble/Selection/Insertion Sort • Son lentos y hay

    que evitarlos • O(n log n) Merge/Head/random Quick sort. • Librer´ ıas lo hacen por nosotros, s´ olo especificamos la funci´ on de comparaci´ on • O(n) Special purpose Algorithms: Counting sort, Radix sort, Bucket Sort • Espec´ ıficos al problemas Francisco Rojas (Universidad de Talca) Estructuras de Datos y Librerias May 23, 2014 15 / 37
  25. Sorting • O(n2): Bubble/Selection/Insertion Sort • Son lentos y hay

    que evitarlos • O(n log n) Merge/Head/random Quick sort. • Librer´ ıas lo hacen por nosotros, s´ olo especificamos la funci´ on de comparaci´ on • O(n) Special purpose Algorithms: Counting sort, Radix sort, Bucket Sort • Espec´ ıficos al problemas Francisco Rojas (Universidad de Talca) Estructuras de Datos y Librerias May 23, 2014 15 / 37
  26. Search • O(n) Linear search from 0 to n −

    1 • O(log n) Binary Search • O(1) Hashing Francisco Rojas (Universidad de Talca) Estructuras de Datos y Librerias May 23, 2014 18 / 37
  27. Search • O(n) Linear search from 0 to n −

    1 • O(log n) Binary Search • O(1) Hashing Francisco Rojas (Universidad de Talca) Estructuras de Datos y Librerias May 23, 2014 18 / 37
  28. Search • O(n) Linear search from 0 to n −

    1 • O(log n) Binary Search • O(1) Hashing Francisco Rojas (Universidad de Talca) Estructuras de Datos y Librerias May 23, 2014 18 / 37
  29. Stack • Funciona como una pila de platos (LIFO) •

    Operaciones • push • pop • peek • empty • Problemas • Procesar estructuras anidadas - push on ( pop on ) • En llamadas recursivas • B´ usquedas en profundidad Francisco Rojas (Universidad de Talca) Estructuras de Datos y Librerias May 23, 2014 22 / 37
  30. Stack • Funciona como una pila de platos (LIFO) •

    Operaciones • push • pop • peek • empty • Problemas • Procesar estructuras anidadas - push on ( pop on ) • En llamadas recursivas • B´ usquedas en profundidad Francisco Rojas (Universidad de Talca) Estructuras de Datos y Librerias May 23, 2014 22 / 37
  31. Stack • Funciona como una pila de platos (LIFO) •

    Operaciones • push • pop • peek • empty • Problemas • Procesar estructuras anidadas - push on ( pop on ) • En llamadas recursivas • B´ usquedas en profundidad Francisco Rojas (Universidad de Talca) Estructuras de Datos y Librerias May 23, 2014 22 / 37
  32. Stack • Funciona como una pila de platos (LIFO) •

    Operaciones • push • pop • peek • empty • Problemas • Procesar estructuras anidadas - push on ( pop on ) • En llamadas recursivas • B´ usquedas en profundidad Francisco Rojas (Universidad de Talca) Estructuras de Datos y Librerias May 23, 2014 22 / 37
  33. Stack • Funciona como una pila de platos (LIFO) •

    Operaciones • push • pop • peek • empty • Problemas • Procesar estructuras anidadas - push on ( pop on ) • En llamadas recursivas • B´ usquedas en profundidad Francisco Rojas (Universidad de Talca) Estructuras de Datos y Librerias May 23, 2014 22 / 37
  34. Stack • Funciona como una pila de platos (LIFO) •

    Operaciones • push • pop • peek • empty • Problemas • Procesar estructuras anidadas - push on ( pop on ) • En llamadas recursivas • B´ usquedas en profundidad Francisco Rojas (Universidad de Talca) Estructuras de Datos y Librerias May 23, 2014 22 / 37
  35. Stack • Funciona como una pila de platos (LIFO) •

    Operaciones • push • pop • peek • empty • Problemas • Procesar estructuras anidadas - push on ( pop on ) • En llamadas recursivas • B´ usquedas en profundidad Francisco Rojas (Universidad de Talca) Estructuras de Datos y Librerias May 23, 2014 22 / 37
  36. Stack • Funciona como una pila de platos (LIFO) •

    Operaciones • push • pop • peek • empty • Problemas • Procesar estructuras anidadas - push on ( pop on ) • En llamadas recursivas • B´ usquedas en profundidad Francisco Rojas (Universidad de Talca) Estructuras de Datos y Librerias May 23, 2014 22 / 37
  37. Stack • Funciona como una pila de platos (LIFO) •

    Operaciones • push • pop • peek • empty • Problemas • Procesar estructuras anidadas - push on ( pop on ) • En llamadas recursivas • B´ usquedas en profundidad Francisco Rojas (Universidad de Talca) Estructuras de Datos y Librerias May 23, 2014 22 / 37
  38. Stack • Funciona como una pila de platos (LIFO) •

    Operaciones • push • pop • peek • empty • Problemas • Procesar estructuras anidadas - push on ( pop on ) • En llamadas recursivas • B´ usquedas en profundidad Francisco Rojas (Universidad de Talca) Estructuras de Datos y Librerias May 23, 2014 22 / 37
  39. Queues • Funciona como una fila del banco (FIFO) •

    Operaciones • push • pop • front • back • empty • Problemas • B´ usqueda por amplitud en grafos Francisco Rojas (Universidad de Talca) Estructuras de Datos y Librerias May 23, 2014 24 / 37
  40. Queues • Funciona como una fila del banco (FIFO) •

    Operaciones • push • pop • front • back • empty • Problemas • B´ usqueda por amplitud en grafos Francisco Rojas (Universidad de Talca) Estructuras de Datos y Librerias May 23, 2014 24 / 37
  41. Queues • Funciona como una fila del banco (FIFO) •

    Operaciones • push • pop • front • back • empty • Problemas • B´ usqueda por amplitud en grafos Francisco Rojas (Universidad de Talca) Estructuras de Datos y Librerias May 23, 2014 24 / 37
  42. Queues • Funciona como una fila del banco (FIFO) •

    Operaciones • push • pop • front • back • empty • Problemas • B´ usqueda por amplitud en grafos Francisco Rojas (Universidad de Talca) Estructuras de Datos y Librerias May 23, 2014 24 / 37
  43. Queues • Funciona como una fila del banco (FIFO) •

    Operaciones • push • pop • front • back • empty • Problemas • B´ usqueda por amplitud en grafos Francisco Rojas (Universidad de Talca) Estructuras de Datos y Librerias May 23, 2014 24 / 37
  44. Queues • Funciona como una fila del banco (FIFO) •

    Operaciones • push • pop • front • back • empty • Problemas • B´ usqueda por amplitud en grafos Francisco Rojas (Universidad de Talca) Estructuras de Datos y Librerias May 23, 2014 24 / 37
  45. Queues • Funciona como una fila del banco (FIFO) •

    Operaciones • push • pop • front • back • empty • Problemas • B´ usqueda por amplitud en grafos Francisco Rojas (Universidad de Talca) Estructuras de Datos y Librerias May 23, 2014 24 / 37
  46. Queues • Funciona como una fila del banco (FIFO) •

    Operaciones • push • pop • front • back • empty • Problemas • B´ usqueda por amplitud en grafos Francisco Rojas (Universidad de Talca) Estructuras de Datos y Librerias May 23, 2014 24 / 37
  47. Queues • Funciona como una fila del banco (FIFO) •

    Operaciones • push • pop • front • back • empty • Problemas • B´ usqueda por amplitud en grafos Francisco Rojas (Universidad de Talca) Estructuras de Datos y Librerias May 23, 2014 24 / 37
  48. Set • Un conjunto que no contiene elementos repetidos •

    Operaciones • add • contains(e) • intersection / retainAll • union / addAll Francisco Rojas (Universidad de Talca) Estructuras de Datos y Librerias May 23, 2014 26 / 37
  49. Set • Un conjunto que no contiene elementos repetidos •

    Operaciones • add • contains(e) • intersection / retainAll • union / addAll Francisco Rojas (Universidad de Talca) Estructuras de Datos y Librerias May 23, 2014 26 / 37
  50. Set • Un conjunto que no contiene elementos repetidos •

    Operaciones • add • contains(e) • intersection / retainAll • union / addAll Francisco Rojas (Universidad de Talca) Estructuras de Datos y Librerias May 23, 2014 26 / 37
  51. Set • Un conjunto que no contiene elementos repetidos •

    Operaciones • add • contains(e) • intersection / retainAll • union / addAll Francisco Rojas (Universidad de Talca) Estructuras de Datos y Librerias May 23, 2014 26 / 37
  52. Set • Un conjunto que no contiene elementos repetidos •

    Operaciones • add • contains(e) • intersection / retainAll • union / addAll Francisco Rojas (Universidad de Talca) Estructuras de Datos y Librerias May 23, 2014 26 / 37
  53. Set • Un conjunto que no contiene elementos repetidos •

    Operaciones • add • contains(e) • intersection / retainAll • union / addAll Francisco Rojas (Universidad de Talca) Estructuras de Datos y Librerias May 23, 2014 26 / 37
  54. Non-Linear Data Structures Priority Queues Francisco Rojas (Universidad de Talca)

    Estructuras de Datos y Librerias May 23, 2014 28 / 37
  55. Priority Queues • Organiza los datos en forma de una

    estructura de ´ arbol • Operaciones • insert O(log n) • peek O(1) • Poll O(log n) • Problemas • Kruskal’s for Minimum Spanning Tree (MST) • Dijkstra’s for Single-Source Shortest Paths (SSSP) Francisco Rojas (Universidad de Talca) Estructuras de Datos y Librerias May 23, 2014 29 / 37
  56. Priority Queues • Organiza los datos en forma de una

    estructura de ´ arbol • Operaciones • insert O(log n) • peek O(1) • Poll O(log n) • Problemas • Kruskal’s for Minimum Spanning Tree (MST) • Dijkstra’s for Single-Source Shortest Paths (SSSP) Francisco Rojas (Universidad de Talca) Estructuras de Datos y Librerias May 23, 2014 29 / 37
  57. Priority Queues • Organiza los datos en forma de una

    estructura de ´ arbol • Operaciones • insert O(log n) • peek O(1) • Poll O(log n) • Problemas • Kruskal’s for Minimum Spanning Tree (MST) • Dijkstra’s for Single-Source Shortest Paths (SSSP) Francisco Rojas (Universidad de Talca) Estructuras de Datos y Librerias May 23, 2014 29 / 37
  58. Priority Queues • Organiza los datos en forma de una

    estructura de ´ arbol • Operaciones • insert O(log n) • peek O(1) • Poll O(log n) • Problemas • Kruskal’s for Minimum Spanning Tree (MST) • Dijkstra’s for Single-Source Shortest Paths (SSSP) Francisco Rojas (Universidad de Talca) Estructuras de Datos y Librerias May 23, 2014 29 / 37
  59. Priority Queues • Organiza los datos en forma de una

    estructura de ´ arbol • Operaciones • insert O(log n) • peek O(1) • Poll O(log n) • Problemas • Kruskal’s for Minimum Spanning Tree (MST) • Dijkstra’s for Single-Source Shortest Paths (SSSP) Francisco Rojas (Universidad de Talca) Estructuras de Datos y Librerias May 23, 2014 29 / 37
  60. Priority Queues • Organiza los datos en forma de una

    estructura de ´ arbol • Operaciones • insert O(log n) • peek O(1) • Poll O(log n) • Problemas • Kruskal’s for Minimum Spanning Tree (MST) • Dijkstra’s for Single-Source Shortest Paths (SSSP) Francisco Rojas (Universidad de Talca) Estructuras de Datos y Librerias May 23, 2014 29 / 37
  61. Priority Queues • Organiza los datos en forma de una

    estructura de ´ arbol • Operaciones • insert O(log n) • peek O(1) • Poll O(log n) • Problemas • Kruskal’s for Minimum Spanning Tree (MST) • Dijkstra’s for Single-Source Shortest Paths (SSSP) Francisco Rojas (Universidad de Talca) Estructuras de Datos y Librerias May 23, 2014 29 / 37
  62. Priority Queues • Organiza los datos en forma de una

    estructura de ´ arbol • Operaciones • insert O(log n) • peek O(1) • Poll O(log n) • Problemas • Kruskal’s for Minimum Spanning Tree (MST) • Dijkstra’s for Single-Source Shortest Paths (SSSP) Francisco Rojas (Universidad de Talca) Estructuras de Datos y Librerias May 23, 2014 29 / 37
  63. Dictionaries • Permite acceso de datos con elementos • Operaciones

    • insert • delete • search/get • La preocupaci´ on principal es performance Francisco Rojas (Universidad de Talca) Estructuras de Datos y Librerias May 23, 2014 31 / 37
  64. Dictionaries • Permite acceso de datos con elementos • Operaciones

    • insert • delete • search/get • La preocupaci´ on principal es performance Francisco Rojas (Universidad de Talca) Estructuras de Datos y Librerias May 23, 2014 31 / 37
  65. Dictionaries • Permite acceso de datos con elementos • Operaciones

    • insert • delete • search/get • La preocupaci´ on principal es performance Francisco Rojas (Universidad de Talca) Estructuras de Datos y Librerias May 23, 2014 31 / 37
  66. Dictionaries • Permite acceso de datos con elementos • Operaciones

    • insert • delete • search/get • La preocupaci´ on principal es performance Francisco Rojas (Universidad de Talca) Estructuras de Datos y Librerias May 23, 2014 31 / 37
  67. Dictionaries • Permite acceso de datos con elementos • Operaciones

    • insert • delete • search/get • La preocupaci´ on principal es performance Francisco Rojas (Universidad de Talca) Estructuras de Datos y Librerias May 23, 2014 31 / 37
  68. Dictionaries • Permite acceso de datos con elementos • Operaciones

    • insert • delete • search/get • La preocupaci´ on principal es performance Francisco Rojas (Universidad de Talca) Estructuras de Datos y Librerias May 23, 2014 31 / 37
  69. Non-Linear Data Structures Balanced Binary Search Tree Francisco Rojas (Universidad

    de Talca) Estructuras de Datos y Librerias May 23, 2014 32 / 37
  70. Balanced Binary Search Tree • Sirve para organizar datos en

    una estructura de ´ arbol. • En cada sub ´ arbol con ra´ ız x cumple la siguiente propiedad, los items que est´ an al lado izquierdo son menor a x y los items a la derecha son mayor o igual que x • Organizar datos de esta forma nos permite acceder, ingresase y borrar objetos en O(log n) si es que el ´ arbol est´ a balanceado Francisco Rojas (Universidad de Talca) Estructuras de Datos y Librerias May 23, 2014 33 / 37
  71. Balanced Binary Search Tree • Sirve para organizar datos en

    una estructura de ´ arbol. • En cada sub ´ arbol con ra´ ız x cumple la siguiente propiedad, los items que est´ an al lado izquierdo son menor a x y los items a la derecha son mayor o igual que x • Organizar datos de esta forma nos permite acceder, ingresase y borrar objetos en O(log n) si es que el ´ arbol est´ a balanceado Francisco Rojas (Universidad de Talca) Estructuras de Datos y Librerias May 23, 2014 33 / 37
  72. Balanced Binary Search Tree • Sirve para organizar datos en

    una estructura de ´ arbol. • En cada sub ´ arbol con ra´ ız x cumple la siguiente propiedad, los items que est´ an al lado izquierdo son menor a x y los items a la derecha son mayor o igual que x • Organizar datos de esta forma nos permite acceder, ingresase y borrar objetos en O(log n) si es que el ´ arbol est´ a balanceado Francisco Rojas (Universidad de Talca) Estructuras de Datos y Librerias May 23, 2014 33 / 37
  73. Desaf´ ıo • Static array 1 UVa 482 - Permutation

    Arrays 2 UVa 594 - One Two Three Little Endian 3 UVa 11340 - Newspaper • Sort 1 UVa 146 - ID Codes 2 UVa 10194 - Football a.k.a. Soccer 3 UVa 10258 - Contest Scoreboard • Stack 1 UVa 127 - “Accordian” Patience 2 UVa 514 - Rails 3 UVa 673 - Parentheses Balance 4 UVa 727 - Equation Francisco Rojas (Universidad de Talca) Estructuras de Datos y Librerias May 23, 2014 36 / 37
  74. Desaf´ ıo • Static array 1 UVa 482 - Permutation

    Arrays 2 UVa 594 - One Two Three Little Endian 3 UVa 11340 - Newspaper • Sort 1 UVa 146 - ID Codes 2 UVa 10194 - Football a.k.a. Soccer 3 UVa 10258 - Contest Scoreboard • Stack 1 UVa 127 - “Accordian” Patience 2 UVa 514 - Rails 3 UVa 673 - Parentheses Balance 4 UVa 727 - Equation Francisco Rojas (Universidad de Talca) Estructuras de Datos y Librerias May 23, 2014 36 / 37
  75. Desaf´ ıo • Static array 1 UVa 482 - Permutation

    Arrays 2 UVa 594 - One Two Three Little Endian 3 UVa 11340 - Newspaper • Sort 1 UVa 146 - ID Codes 2 UVa 10194 - Football a.k.a. Soccer 3 UVa 10258 - Contest Scoreboard • Stack 1 UVa 127 - “Accordian” Patience 2 UVa 514 - Rails 3 UVa 673 - Parentheses Balance 4 UVa 727 - Equation Francisco Rojas (Universidad de Talca) Estructuras de Datos y Librerias May 23, 2014 36 / 37
  76. Desaf´ ıo • Static array 1 UVa 482 - Permutation

    Arrays 2 UVa 594 - One Two Three Little Endian 3 UVa 11340 - Newspaper • Sort 1 UVa 146 - ID Codes 2 UVa 10194 - Football a.k.a. Soccer 3 UVa 10258 - Contest Scoreboard • Stack 1 UVa 127 - “Accordian” Patience 2 UVa 514 - Rails 3 UVa 673 - Parentheses Balance 4 UVa 727 - Equation Francisco Rojas (Universidad de Talca) Estructuras de Datos y Librerias May 23, 2014 36 / 37
  77. Desaf´ ıo • Static array 1 UVa 482 - Permutation

    Arrays 2 UVa 594 - One Two Three Little Endian 3 UVa 11340 - Newspaper • Sort 1 UVa 146 - ID Codes 2 UVa 10194 - Football a.k.a. Soccer 3 UVa 10258 - Contest Scoreboard • Stack 1 UVa 127 - “Accordian” Patience 2 UVa 514 - Rails 3 UVa 673 - Parentheses Balance 4 UVa 727 - Equation Francisco Rojas (Universidad de Talca) Estructuras de Datos y Librerias May 23, 2014 36 / 37
  78. Desaf´ ıo • Static array 1 UVa 482 - Permutation

    Arrays 2 UVa 594 - One Two Three Little Endian 3 UVa 11340 - Newspaper • Sort 1 UVa 146 - ID Codes 2 UVa 10194 - Football a.k.a. Soccer 3 UVa 10258 - Contest Scoreboard • Stack 1 UVa 127 - “Accordian” Patience 2 UVa 514 - Rails 3 UVa 673 - Parentheses Balance 4 UVa 727 - Equation Francisco Rojas (Universidad de Talca) Estructuras de Datos y Librerias May 23, 2014 36 / 37
  79. Desaf´ ıo • Static array 1 UVa 482 - Permutation

    Arrays 2 UVa 594 - One Two Three Little Endian 3 UVa 11340 - Newspaper • Sort 1 UVa 146 - ID Codes 2 UVa 10194 - Football a.k.a. Soccer 3 UVa 10258 - Contest Scoreboard • Stack 1 UVa 127 - “Accordian” Patience 2 UVa 514 - Rails 3 UVa 673 - Parentheses Balance 4 UVa 727 - Equation Francisco Rojas (Universidad de Talca) Estructuras de Datos y Librerias May 23, 2014 36 / 37
  80. Desaf´ ıo • Static array 1 UVa 482 - Permutation

    Arrays 2 UVa 594 - One Two Three Little Endian 3 UVa 11340 - Newspaper • Sort 1 UVa 146 - ID Codes 2 UVa 10194 - Football a.k.a. Soccer 3 UVa 10258 - Contest Scoreboard • Stack 1 UVa 127 - “Accordian” Patience 2 UVa 514 - Rails 3 UVa 673 - Parentheses Balance 4 UVa 727 - Equation Francisco Rojas (Universidad de Talca) Estructuras de Datos y Librerias May 23, 2014 36 / 37
  81. Desaf´ ıo • Static array 1 UVa 482 - Permutation

    Arrays 2 UVa 594 - One Two Three Little Endian 3 UVa 11340 - Newspaper • Sort 1 UVa 146 - ID Codes 2 UVa 10194 - Football a.k.a. Soccer 3 UVa 10258 - Contest Scoreboard • Stack 1 UVa 127 - “Accordian” Patience 2 UVa 514 - Rails 3 UVa 673 - Parentheses Balance 4 UVa 727 - Equation Francisco Rojas (Universidad de Talca) Estructuras de Datos y Librerias May 23, 2014 36 / 37
  82. Desaf´ ıo • Static array 1 UVa 482 - Permutation

    Arrays 2 UVa 594 - One Two Three Little Endian 3 UVa 11340 - Newspaper • Sort 1 UVa 146 - ID Codes 2 UVa 10194 - Football a.k.a. Soccer 3 UVa 10258 - Contest Scoreboard • Stack 1 UVa 127 - “Accordian” Patience 2 UVa 514 - Rails 3 UVa 673 - Parentheses Balance 4 UVa 727 - Equation Francisco Rojas (Universidad de Talca) Estructuras de Datos y Librerias May 23, 2014 36 / 37
  83. Desaf´ ıo • Static array 1 UVa 482 - Permutation

    Arrays 2 UVa 594 - One Two Three Little Endian 3 UVa 11340 - Newspaper • Sort 1 UVa 146 - ID Codes 2 UVa 10194 - Football a.k.a. Soccer 3 UVa 10258 - Contest Scoreboard • Stack 1 UVa 127 - “Accordian” Patience 2 UVa 514 - Rails 3 UVa 673 - Parentheses Balance 4 UVa 727 - Equation Francisco Rojas (Universidad de Talca) Estructuras de Datos y Librerias May 23, 2014 36 / 37
  84. Desaf´ ıo • Static array 1 UVa 482 - Permutation

    Arrays 2 UVa 594 - One Two Three Little Endian 3 UVa 11340 - Newspaper • Sort 1 UVa 146 - ID Codes 2 UVa 10194 - Football a.k.a. Soccer 3 UVa 10258 - Contest Scoreboard • Stack 1 UVa 127 - “Accordian” Patience 2 UVa 514 - Rails 3 UVa 673 - Parentheses Balance 4 UVa 727 - Equation Francisco Rojas (Universidad de Talca) Estructuras de Datos y Librerias May 23, 2014 36 / 37
  85. Desaf´ ıo • Static array 1 UVa 482 - Permutation

    Arrays 2 UVa 594 - One Two Three Little Endian 3 UVa 11340 - Newspaper • Sort 1 UVa 146 - ID Codes 2 UVa 10194 - Football a.k.a. Soccer 3 UVa 10258 - Contest Scoreboard • Stack 1 UVa 127 - “Accordian” Patience 2 UVa 514 - Rails 3 UVa 673 - Parentheses Balance 4 UVa 727 - Equation Francisco Rojas (Universidad de Talca) Estructuras de Datos y Librerias May 23, 2014 36 / 37
  86. Desaf´ ıo • Queue 1 UVa 336 - A Node

    Too Far 2 UVa 10901 - Ferry Loading III 3 UVa 11034 - Ferry Loading IV • Dictionary 1 UVa 10226 - Hardwood Species 2 UVa 11239 - Open Source 3 UVa 11308 - Bankrupt Baker 4 UVa 11136 - Hoax or what • Priority Queue 1 UVa 908 - Re-connecting Computer Sites 2 UVa 11492 - Babel Francisco Rojas (Universidad de Talca) Estructuras de Datos y Librerias May 23, 2014 37 / 37
  87. Desaf´ ıo • Queue 1 UVa 336 - A Node

    Too Far 2 UVa 10901 - Ferry Loading III 3 UVa 11034 - Ferry Loading IV • Dictionary 1 UVa 10226 - Hardwood Species 2 UVa 11239 - Open Source 3 UVa 11308 - Bankrupt Baker 4 UVa 11136 - Hoax or what • Priority Queue 1 UVa 908 - Re-connecting Computer Sites 2 UVa 11492 - Babel Francisco Rojas (Universidad de Talca) Estructuras de Datos y Librerias May 23, 2014 37 / 37
  88. Desaf´ ıo • Queue 1 UVa 336 - A Node

    Too Far 2 UVa 10901 - Ferry Loading III 3 UVa 11034 - Ferry Loading IV • Dictionary 1 UVa 10226 - Hardwood Species 2 UVa 11239 - Open Source 3 UVa 11308 - Bankrupt Baker 4 UVa 11136 - Hoax or what • Priority Queue 1 UVa 908 - Re-connecting Computer Sites 2 UVa 11492 - Babel Francisco Rojas (Universidad de Talca) Estructuras de Datos y Librerias May 23, 2014 37 / 37
  89. Desaf´ ıo • Queue 1 UVa 336 - A Node

    Too Far 2 UVa 10901 - Ferry Loading III 3 UVa 11034 - Ferry Loading IV • Dictionary 1 UVa 10226 - Hardwood Species 2 UVa 11239 - Open Source 3 UVa 11308 - Bankrupt Baker 4 UVa 11136 - Hoax or what • Priority Queue 1 UVa 908 - Re-connecting Computer Sites 2 UVa 11492 - Babel Francisco Rojas (Universidad de Talca) Estructuras de Datos y Librerias May 23, 2014 37 / 37
  90. Desaf´ ıo • Queue 1 UVa 336 - A Node

    Too Far 2 UVa 10901 - Ferry Loading III 3 UVa 11034 - Ferry Loading IV • Dictionary 1 UVa 10226 - Hardwood Species 2 UVa 11239 - Open Source 3 UVa 11308 - Bankrupt Baker 4 UVa 11136 - Hoax or what • Priority Queue 1 UVa 908 - Re-connecting Computer Sites 2 UVa 11492 - Babel Francisco Rojas (Universidad de Talca) Estructuras de Datos y Librerias May 23, 2014 37 / 37
  91. Desaf´ ıo • Queue 1 UVa 336 - A Node

    Too Far 2 UVa 10901 - Ferry Loading III 3 UVa 11034 - Ferry Loading IV • Dictionary 1 UVa 10226 - Hardwood Species 2 UVa 11239 - Open Source 3 UVa 11308 - Bankrupt Baker 4 UVa 11136 - Hoax or what • Priority Queue 1 UVa 908 - Re-connecting Computer Sites 2 UVa 11492 - Babel Francisco Rojas (Universidad de Talca) Estructuras de Datos y Librerias May 23, 2014 37 / 37
  92. Desaf´ ıo • Queue 1 UVa 336 - A Node

    Too Far 2 UVa 10901 - Ferry Loading III 3 UVa 11034 - Ferry Loading IV • Dictionary 1 UVa 10226 - Hardwood Species 2 UVa 11239 - Open Source 3 UVa 11308 - Bankrupt Baker 4 UVa 11136 - Hoax or what • Priority Queue 1 UVa 908 - Re-connecting Computer Sites 2 UVa 11492 - Babel Francisco Rojas (Universidad de Talca) Estructuras de Datos y Librerias May 23, 2014 37 / 37
  93. Desaf´ ıo • Queue 1 UVa 336 - A Node

    Too Far 2 UVa 10901 - Ferry Loading III 3 UVa 11034 - Ferry Loading IV • Dictionary 1 UVa 10226 - Hardwood Species 2 UVa 11239 - Open Source 3 UVa 11308 - Bankrupt Baker 4 UVa 11136 - Hoax or what • Priority Queue 1 UVa 908 - Re-connecting Computer Sites 2 UVa 11492 - Babel Francisco Rojas (Universidad de Talca) Estructuras de Datos y Librerias May 23, 2014 37 / 37
  94. Desaf´ ıo • Queue 1 UVa 336 - A Node

    Too Far 2 UVa 10901 - Ferry Loading III 3 UVa 11034 - Ferry Loading IV • Dictionary 1 UVa 10226 - Hardwood Species 2 UVa 11239 - Open Source 3 UVa 11308 - Bankrupt Baker 4 UVa 11136 - Hoax or what • Priority Queue 1 UVa 908 - Re-connecting Computer Sites 2 UVa 11492 - Babel Francisco Rojas (Universidad de Talca) Estructuras de Datos y Librerias May 23, 2014 37 / 37
  95. Desaf´ ıo • Queue 1 UVa 336 - A Node

    Too Far 2 UVa 10901 - Ferry Loading III 3 UVa 11034 - Ferry Loading IV • Dictionary 1 UVa 10226 - Hardwood Species 2 UVa 11239 - Open Source 3 UVa 11308 - Bankrupt Baker 4 UVa 11136 - Hoax or what • Priority Queue 1 UVa 908 - Re-connecting Computer Sites 2 UVa 11492 - Babel Francisco Rojas (Universidad de Talca) Estructuras de Datos y Librerias May 23, 2014 37 / 37
  96. Desaf´ ıo • Queue 1 UVa 336 - A Node

    Too Far 2 UVa 10901 - Ferry Loading III 3 UVa 11034 - Ferry Loading IV • Dictionary 1 UVa 10226 - Hardwood Species 2 UVa 11239 - Open Source 3 UVa 11308 - Bankrupt Baker 4 UVa 11136 - Hoax or what • Priority Queue 1 UVa 908 - Re-connecting Computer Sites 2 UVa 11492 - Babel Francisco Rojas (Universidad de Talca) Estructuras de Datos y Librerias May 23, 2014 37 / 37
  97. Desaf´ ıo • Queue 1 UVa 336 - A Node

    Too Far 2 UVa 10901 - Ferry Loading III 3 UVa 11034 - Ferry Loading IV • Dictionary 1 UVa 10226 - Hardwood Species 2 UVa 11239 - Open Source 3 UVa 11308 - Bankrupt Baker 4 UVa 11136 - Hoax or what • Priority Queue 1 UVa 908 - Re-connecting Computer Sites 2 UVa 11492 - Babel Francisco Rojas (Universidad de Talca) Estructuras de Datos y Librerias May 23, 2014 37 / 37