==================================
Estructura de datos y algoritmos son la base de la ingenieria de software. Las estructuras de datos y algoritmos pueden ser usadas como componentes para sistemas mas complejos.
Una forma de ver las estructuras de datos es como una forma de organizar informacion para permitir su manejo de forma abstracta. Una forma de ver los algoritmos son como instrucciones para producir resultados predecibles basados en valores de entrada determinados.
- Vectores Estaticos (Arrays)
- Vectores Dinamicos (Dinamic Arrays or Vectors)
- Filas (Queues)
- Pilas (Stacks)
- Listas Enlazadas (Linked Lists)
- Listas Simples Enlazadas (Singly Linked Lists)
- Listas Doblemente Enlazadas (Doubly Linked Lists)
- Listas Enlazadas Circulares (Circular Linked Lists)
- Lista por saltos(Skip List)
- Grafos (Graphs)
- Arboles (Trees)
- Arboles Binarios (Binary Trees)
- Arboles Binarios de Busqueda (Binary Search Trees)
- Arbol AVL (Adelson-Velskii y Landis)
- Arbol Rojo-Negro (Red Black Trees)
- Arbol B (B-Tree)
- Arbol Biselado (Splay Tree)
- Arbol KD (KD Tree)
- Arbol Cartesiano (Cartesian Tree)
- Trie (Tries)
- Matriz asociativa o Tabla fragmentada (Hash Table)
- Algoritmos de Ordenamiento (Sorting Algorithms)
- Ordenamiento de Burbuja (Bubble Sort)
- Ordenamiento por Insercion (Insertion)
- Ordenamiento por Mezcla (Merge Sort)
- Ordenamiento Rapido (Quicksort)
- Ordenamiento de Tim (Timsort)
- Ordenamiento por Monticulos (Heapsort)
- Ordenamiento por Seleccion (Selection Sort)
- Ordenamiento con Arbol (Tree Sort)
- Ordenamiento de Shell (Shell Sort)
- Ordenamiento por casilleros (Bucket Sort)
- Ordenamiento de Radix (Radix Sort)
- Ordenamiento por cuentas (Counting Sort)
- Ordenamiento de Cubo (Cubesort)
- Orden Constante O(1)
- Orden Logaritmica O(log(n))
- Orden Lineal O(n)
- Orden Lineal Logaritmica O(NLog(N))
- Orden Cuadratica o de Segundo Orden O( N2 )
- Orden Cubica o de tercer Orden O( N3 )
- Orden Exponencial O( CN )
- Orden Factorial O(N!)