Llaves empotrables, paneles multiuso, desagües y coladeras… Soluciones Constructivas OATEY
Soluciones que destacan por su fácil instalación, durabilidad y fina terminación tanto para proyectos residenciales como comerciales.
Llaves empotrables, paneles multiuso, desagües y coladeras… Soluciones Constructivas OATEY
Soluciones que destacan por su fácil instalación, durabilidad y fina terminación tanto para proyectos residenciales como comerciales.
Estructura de Datos - Unidad III Estructuras Lineales
Material de Clase de la Asignatura Estructura de Datos
Ingeniería en Sistemas Computacionales
Estructuras de datos en C++
15. LISTAS ABIERTAS La forma más simple de estructura dinámica es la lista abierta. En esta forma los nodos se organizan de modo que cada uno apunta al siguiente, y el último no apunta a nada, es decir, el puntero del nodo siguiente vale NULL.
16. INSERCION Insertar un elemento en una lista vacía. Este es, evidentemente, el caso más sencillo. Partiremos de que ya tenemos el nodo a insertar y, por supuesto un puntero que apunte a él, además el puntero a la lista valdrá NULL:
18. LISTAS CIRCULARES Una lista circular es una lineal, en la que el ultimo elemento enlaza con el primero. Entonces es posible acceder a cualquier elemento de la lista desde cualquier punto dado. Las operaciones sobre una lista circular resultan mas sencillas, ya que se evitan casos especiales. Cuando recorremos una lista circular, diremos que hemos llegado al final de la misma, cuando nos encontramos de nuevo en el punto de partida; suponiendo, desde luego, que el punto de partida se guarda de alguna manera en la lista, por ejemplo Con un puntero fijo al mismo. Otra posible solución al problema anterior sería poner en cada lista circular, un elemento especial identificable como lugar de parada. Este elemento especial recibe el nombre de elemento de cabecera de la lista. Esto presenta la ventaja de que la lista circular no estará nunca vacía. Una lista circular con un puntero al último elemento, es equivalentemente a una lista lineal recta con dos punteros, una al principio y otra al final
19. +++4+ 00 +4 -1 0 Listas Circular Como ejemplo de utilización de listas circulares, realizaremos la suma de ecuaciones algebraicas o polinómicas de las variables x, y, z.. Por ejemplo: 2x³y + 4xy³- y⁴ más 2xy³-xy Cada polinomio será representado como una lista en la que cada elemento representa un término nulo, como se indica a continuación: COEFICIENTE SIGUIENTE
24. CIMA: Devuelve el elemento que esta en la cima de la pila(top o peek)
25.
26. #ifndef COLA # define COLA // Define la cola template <class T> class Cola{ private: struct Nodo{ T elemento; struct Nodo* siguiente; // coloca el nodo en la segunda posición }* primero; struct Nodo* ultimo; unsigned int elementos; public: Cola(){ elementos = 0; } ~Cola(){ while (elementos != 0) pop(); } void push(const T& elem){ Nodo* aux = new Nodo; aux->elemento = elem; if (elementos == 0) primero = aux; else ultimo->siguiente = aux; ultimo = aux; ++elementos; } void pop(){ Nodo* aux = primero; primero = primero->siguiente; delete aux; --elementos; } T consultar() const { return primero ->elemento; } bool vacia() const{ return elementos == 0; } unsigned int size() const{ return elementos; } }; #endif C O L A S
28. MEMORIA ESTATICA Es la forma más fácil de almacenar el contenido de una variable ALMACENAMIENTO ASIGNACION Para que un objeto pueda ser almacenado en memoria estática su tamaño ( numero de Bytes necesario para su almacenamiento)ha de ser conocido en tiempo de compilación La asignaciocion de memoria puede hacerse en tiempo de compilación y los objetos están vigentes desde que comienza la ejec ucion del programa hasta que termina
44. DEFINICION DE NODOS:Un nodo, en informática, es un componente que forma parte de una red. En Internet, cada servidor constituye un nodo. Las computadoras que forman parte de una red también son nodos
45. TIPOS DE NODO Nodo: Un nodo es la unidad sobre la que se construye el árbol y puede tener cero o más nodos hijos conectados a él. Nodo hijo: cualquiera de los nodos apuntados por uno de los nodos del árbol. En el ejemplo, 'L' y 'M' son hijos de 'G'. Nodo padre: nodo que contiene un puntero al nodo actual. En el ejemplo, el nodo 'A' es padre de 'B', 'C' y 'D'. Nodo raíz: nodo que no tiene padre. Este es el nodo que usaremos para referirnos al árbol. En el ejemplo, ese nodo es el 'A'. Nodo hoja: nodo que no tiene hijos. En el ejemplo hay varios: 'F', 'H', 'I', 'K', 'L', 'M', 'N' y 'O'. Nodo rama: aunque esta definición apenas la usaremos, estos son los nodos que no pertenecen a ninguna de las dos categorías anteriores. En el ejemplo: 'B', 'C', 'D', 'E', 'G' y 'J'.
46.
47. Grado: el número de hijos que tiene el elemento con más hijos dentro del árbol. En el árbol del ejemplo, el grado es tres, ya que tanto 'A' como 'D' tienen tres hijos, y no existen elementos con más de tres hijos.
48. Nivel: se define para cada elemento del árbol como la distancia a la raíz, medida en nodos. El nivel de la raíz es cero y el de sus hijos uno. Así sucesivamente. En el ejemplo, el nodo 'D' tiene nivel 1, el nodo 'G' tiene nivel 2, y el nodo 'N', nivel 3.
49.
50. Eliminación de entradas en un árbol B: Nodo interno (no hoja): Sustituirla por la siguiente (o la anterior) en el orden. Es decir, por la mayor de la rama izquierda, o la menor de la rama derecha. Nodo hoja: Eliminar la entrada de la hoja. Casos de eliminación en nodo hoja. d = (p-1)/2 Nodo con más de d entradas: suprimir la entrada. Nodo con d entradas (el mínimo posible): reequilibrar el árbol.
51.
52.
53.
54.
55. Normalmente, el orden p del árbol se ajusta para hacer que cada nodo esté en un bloque de disco, minimizando el número de operaciones de E/S.
58. RECORRIDO INORDEN se visita el subárbol izquierdo, el nodo actual, y después se visita el subárbol derecho. El recorrido en inorden, también llamado orden simétrico (aunque este nombre sólo cobra significado en los árboles binarios) consiste en recorrer en primer lugar A1, luego la raíz y luego cada uno de los hijos en orden simétrico.
59. RECORRIDO POSTORDEN se visitan primero el subárbol izquierdo, después el subárbol derecho, y por último el nodo actual. El recorrido en postorden, también llamado orden posterior consiste en recorrer e primer lugar cada uno de los hijos en orden posterior y por último la raíz.
61. ARBOLES BINARIOS Un árbol binario de búsqueda es un tipo particular de árbol binario que presenta una estructura de datos en forma de árbol usada en informática.
62. INSERCION La inserción es similar a la búsqueda y se puede dar una solución tanto iterativa como recursiva. Si tenemos inicialmente como parámetro un árbol vacío se crea un nuevo nodo como único contenido el elemento a insertar. Si no lo está, se comprueba si el elemento dado es menor que la raíz del árbol inicial con lo que se inserta en el subárbol izquierdo y si es mayor se inserta en el subárbol derecho. De esta forma las inserciones se hacen en las hojas.
67. CONCEPTO Árbol AVL es un tipo especial de árbol binario ideado por los matemáticos rusos Adelson-Velskii y Landis. Fue el primer árbol de búsqueda binario auto-balanceable que se ideó
68. OPERACIONES Las operaciones básicas de un árbol AVL implican generalmente el realizar los mismos algoritmos que serían realizados en un árbol binario de búsqueda desequilibrado, pero precedido o seguido por una o más de las llamadas "rotaciones AVL".
69. Rotaciones El reequilibrado se produce de abajo hacia arriba sobre los nodos en los que se produce el desequilibrio. Pueden darse dos casos: rotación simple o rotación doble; a su vez ambos casos pueden ser hacia la derecha o hacia la izquierda.
73. BALANCE DE ARBOL Las operaciones de insertar y remover claves modifican la forma del árbol. La garantía del tiempo de acceso o (long n) ésta solamente valida a arboles balanceados.
74. ROTACIONES Necesitamos operaciones para “recuperar” la forma balanceada después de inserciones y eliminaciones de elementos, aunque no cada operación causa una falta de balance en el árbol. Estas operaciones se llaman rotaciones.