Estructuras de datos: Árboles binarios de
|
|
|
- Manuela Martin Villalobos
- hace 8 años
- Vistas:
Transcripción
1 Estructuras de datos: Árboles binarios de búsqueda, Facultad de Informática Universidad de A Coruña
2 Table of Contents Árboles binarios de búsqueda 1 Árboles binarios de búsqueda 2
3 Table of Contents Árboles binarios de búsqueda 1 Árboles binarios de búsqueda 2
4 Preliminares Árboles binarios de búsqueda El camino de un nodo n 1 a otro n k es la secuencia de nodos n 1,n 2,...,n k tal que n i es el padre de n i+1. La profundidad de un nodo n es la longitud del camino entre la raíz y n. La raíz tiene profundidad cero. Para un árbol binario de búsqueda, el valor medio de la profundidad es O(logn). Si la inserción en un ABB no es aleatoria, el tiempo computacional aumenta. Para mantener el equilibrio: Árboles AVL, Splay Trees,... La altura de n es el camino más largo de n a una hoja. La altura de un árbol es la altura de la raíz.
5 Operaciones básicas Árboles binarios de búsqueda Buscar: devuelve la posición del nodo con la clave x. Insertar: coloca la clave x. Si ya estuviese, no se hace nada (o se actualiza algo). Eliminar: borra la clave x. Si x está en una hoja, se elimina de inmediato. Si el nodo tiene un hijo, se ajusta un apuntador antes de eliminarlo. Si el nodo tiene dos hijos, se sustituye x por la clave más pequeña, w, del subárbol derecho. A continuación se elimina en el subárbol derecho el nodo con w (que no tiene hijo izquierdo)
6 Eliminación perezosa Si se espera que el número de eliminaciones sea pequeño, la eliminación perezosa es una buena estrategia. Al eliminar un elemento, se deja en el árbol marcándolo como eliminado. Habiendo claves duplicadas, es posible decrementar el campo con la frecuencia de apariciones. Si una clave eliminada se vuelve a insertar, se evita la sobrecarga de asignar un nodo nuevo. Si el número de nodos reales en el árbol es igual al número de nodos eliminados, se espera que la profundidad del árbol sólo aumente en uno ( por qué?). La penalización de tiempo es pequeña.
7 Implementación de árboles binarios de búsqueda (i) tipo PArbol = ˆNodo Nodo = registro Elemento : TipoElemento Izquierdo, Derecho : PArbol fin registro ABB = PArbol procedimiento CrearABB (var A) A := nil fin procedimiento
8 Implementación de árboles binarios de búsqueda (ii) función Buscar (x, A) : PArbol si A = nil entonces devolver nil sino si x = Aˆ.Elemento entonces devolver A sino si x < Aˆ.Elemento entonces devolver Buscar (x, Aˆ.Izquierdo) sino devolver Buscar (x, Aˆ.Derecho) fin función función BuscarMin (A) : PArbol si A = nil entonces devolver nil sino si Aˆ.Izquierdo = nil entonces devolver A sino devolver BuscarMin (Aˆ.Izquierdo) fin función
9 Implementación de árboles binarios de búsqueda (iii) procedimiento Insertar (x, var A) si A = nil entonces nuevo (A); si A = nil entonces error sin memoria sino Aˆ.Elemento := x; Aˆ.Izquierdo := nil; Aˆ.Derecho := nil sino si x < Aˆ.Elemento entonces Insertar (x, Aˆ.Izquierdo) sino si x > Aˆ.Elemento entonces Insertar (x, Aˆ.Derecho) { si x = Aˆ.Elemento : nada } fin procedimiento
10 Implementación de árboles binarios de búsqueda (iv) procedimiento Eliminar (x, var A) si A = nil entonces error no encontrado sino si x < Aˆ.Elemento entonces Eliminar (x, Aˆ.Izquierdo) sino si x > Aˆ.Elemento entonces Eliminar (x, Aˆ.Derecho) sino { x = Aˆ.Elemento } si Aˆ.Izquierdo = nil entonces tmp := A; A := Aˆ.Derecho; liberar (tmp) sino si Aˆ.Derecho = nil entonces tmp := A; A := Aˆ.Izquierdo; liberar (tmp) sino tmp := BuscarMin (Aˆ.Derecho); Aˆ.Elemento := tmpˆ.elemento; Eliminar (Aˆ.Elemento, Aˆ.Derecho) fin procedimiento
11 Recorridos de un árbol (i) En orden: Se procesa el subárbol izquierdo, el nodo actual y, por último, el subárbol derecho. O(n) procedimiento Visualizar (A) si A <> nil entonces Visualizar (Aˆ.Izquierdo); Escribir (Aˆ.Elemento); Visualizar (Aˆ.Derecho) fin procedimiento Post-orden: Ambos subárboles primero. O(n) función Altura (A) : número si A = nil entonces devolver -1 sino devolver 1 + max (Altura (Aˆ.Izquierdo), Altura (Aˆ.Derecho)) fin función
12 Recorridos de un árbol (ii) Pre-orden: El nodo se procesa antes. Ej: una función que marcase cada nodo con su profundidad. O(n) Orden de nivel: Todos los nodos con profundidad p se procesan antes que cualquier nodo con profundidad p + 1. Se usa una cola en vez de la pila implícita en la recursión. O(n)
13 Table of Contents Árboles binarios de búsqueda 1 Árboles binarios de búsqueda 2
14 Colas de prioridad Árboles binarios de búsqueda Permiten únicamente el acceso al mínimo (o máximo) elemento. Operaciones básicas: insertar, eliminarmin (eliminarmax). Implementaciones simples: Listas enlazadas efectuando inserciones al frente, O(1), y recorriendo la lista, O(n), para elminiar el mínimo (máximo). Listas ordenadas: inserciones costosas, O(n), eliminaciones eficientes, O(1). Árboles binarios de búsqueda: tiempo de ejecución medio O(log n) para ambas operaciones. A pesar de que las eliminaciones no son aleatorias. Se eliminan repetidamente nodos de un subárbol. No obstante, el otro subárbol es aleatorio y tendría a lo sumo el doble de elementos de los que debería. Y esto sólo incrementa en uno la profundidad esperada. : ambas operaciones se realizan en O(log n) para el peor caso. No requieren apuntadores.
15 Propiedades estructurales de los montículos Un montículo es un árbol binario completo: todos los niveles están llenos con la posible excepción del nivel más bajo, que se llena de izquierda a derecha. Un árbol binario completo de altura h tiene entre 2 h y 2 h+1 1 nodos. Su altura es la parte entera de log 2 n. Esta regularidad facilita su representación mediante un vector. Para cualquier elemento en la posición i del vector, el hijo izquierdo está en la posición 2i, el hijo derecho en 2i + 1, y el padre en i 2.
16 Propiedades de orden de los montículos El mínimo (o máximo) está en la raíz. Y como todo subárbol es también un montículo, todo nodo debe ser menor (mayor) o igual que todos sus descendientes.
17 Ejemplo de montículo de máximos
18 Implementación de montículos (i) tipo Montículo = registro Tamaño monticulo : 0..Tamaño máximo Vector montículo : vector [1..Tamaño máximo] de Tipo elemento fin registro procedimiento Inicializar Montículo ( M ) M.Tamaño monticulo := 0 fin procedimiento función Montículo Vacío ( M ) : test return M.Tamaño monticulo = 0 fin función
19 Implementación de montículos (ii) procedimiento Flotar ( M, i ) { privado } mientras i > 1 y M.Vector montículo[i div 2] < M.Vector montículo[i] hacer intercambiar M.Vector montículo[i div 2] y M.Vector montículo[i]; i := i div 2 fin mientras fin procedimiento procedimiento Insertar ( x, M ) si M.Tamaño monticulo = Tamaño máximo entonces error Monticulo lleno sino M.Tamaño monticulo := M.Tamaño monticulo + 1; M.Vector monticulo[m.tamaño monticulo] := x; Flotar ( M, M.Tamaño monticulo ) fin procedimiento
20 Implementación de montículos (iii) procedimiento Hundir ( M, i ) { privado } repetir HijoIzq := 2*i; HijoDer := 2*i+1; j := i; si HijoDer <= M.Tamaño monticulo y M.Vector montículo[hijoder] > M.Vector montículo[i] entonces i := HijoDer; si HijoIzq <= M.Tamaño monticulo y M.Vector montículo[hijoizq] > M.Vector montículo[i] entonces i := HijoIzq; intercambiar M.Vector montículo[j] y M.Vector montículo[i]; hasta j=i {Si j=i el nodo alcanzó su posición final} fin procedimiento
21 Implementación de montículos (iv) función EliminarMax ( M ) : Tipo elemento si Montículo Vacío ( M ) entonces error Monticulo vacío sino x := M.Vector montículo[1]; M.Vector montículo[1] := M.Vector montículo[m.tamaño monticulo]; M.Tamaño monticulo := M.Tamaño monticulo - 1; si M.Tamaño monticulo > 0 entonces Hundir ( M, 1); devolver x fin función
22 Implementación de montículos (v) Creación de montículos en tiempo lineal, O(n): procedimiento Crear Montículo ( V[1..n], M ) Copiar V en M.Vector montículo; M.Tamaño montículo := n; para i := M.Tamaño montículo div 2 hasta 1 paso -1 Hundir(M, i); fin para fin procedimiento El número de intercambios está acotado por la suma de las alturas de los nodos. Se demuestra mediante un argumento de marcado del árbol. Para cada nodo con altura h, marcamos h aristas: bajamos por la arista izquierda y después sólo por aristas derechas. Así una arista nunca se marca 2 veces.
Estructuras de datos: Árboles binarios de
Estructuras de datos: Árboles binarios de búsqueda, Dep. de Computación - Fac. de Informática Universidad de A Coruña Santiago Jorge [email protected] Árboles binarios de búsqueda, Table of Contents
3. COLA DE PRIORIDAD DEFINICION (I)
3. COLA DE PRIORIDAD DEFINICION (I) Conjunto de elementos ordenados con las operaciones: Crear ( ) > ColaPrioridad EsVacio () > Boolean Insertar (ColaPrioridad, Item) > ColaPrioridad BorrarMínimo (ColaPrioridad)
Ampliación de Estructuras de Datos
Ampliación de Estructuras de Datos Amalia Duch Barcelona, marzo de 2007 Índice 1. Diccionarios implementados con árboles binarios de búsqueda 1 2. TAD Cola de Prioridad 4 3. Heapsort 8 1. Diccionarios
Tema 10- Representación Jerárquica: Tema 10- Representación Jerárquica: Árboles Binarios
Tema 10- Representación Jerárquica: Árboles Binarios Tema 10- Representación Jerárquica: Árboles Binarios Germán Moltó Escuela Técnica Superior de Ingeniería Informática Universidad Politécnica de Valencia
Árboles AVL. Laboratorio de Programación II
Árboles AVL Laboratorio de Programación II Definición Un árbol AVL es un árbol binario de búsqueda que cumple con la condición de que la diferencia entre las alturas de los subárboles de cada uno de sus
Algorítmica y Complejidad. Tema 3 Ordenación.
Algorítmica y Complejidad Tema . Introducción.. Algoritmo de inserción.. Algoritmo de selección.. Algoritmo de la burbuja.. Algoritmo heapsort.. Algoritmo quicksort. 7. Algoritmo countingsort.. Algoritmo
Arboles Binarios de Búsqueda
Arboles Binarios de Búsqueda Algoritmos y Estructuras de Datos Departamento de Electricidad y Electrónica (UPV/EHU) Arboles Binarios de Búsqueda p.1/52 Arboles Binarios Arbol binario: árbol ordenado de
APUNTADORES. Un apuntador es un objeto que apunta a otro objeto. Es decir, una variable cuyo valor es la dirección de memoria de otra variable.
APUNTADORES Un apuntador es un objeto que apunta a otro objeto. Es decir, una variable cuyo valor es la dirección de memoria de otra variable. No hay que confundir una dirección de memoria con el contenido
Métodos de Ordenamiento. Unidad VI: Estructura de datos
Métodos de Ordenamiento Unidad VI: Estructura de datos Concepto de ordenación La ordenación de los datos consiste en disponer o clasificar un conjunto de datos (o una estructura) en algún determinado orden
Tablas de dispersión (hash tables)
Tablas de dispersión (hash tables) La dispersión es una técnica empleada para realizar inserciones, eliminaciones y búsquedas en un tiempo promedio constante. La estructura de datos ideal para la tabla
Estructuras de datos: Pilas, Colas, Listas
Estructuras de datos: Dep. de Computación - Fac. de Informática Universidad de A Coruña Santiago Jorge [email protected] Índice Pilas 1 Pilas 2 3 Referencias bibliográficas Pilas M. A. Weiss., pilas
Estructuras de datos Árboles B
Estructuras de datos Árboles B Dra. Elisa Schaeffer [email protected] PISIS / FIME / UANL Árboles B p. 1 Árboles B Árboles B son árboles balanceados que no son binarios. Todos los vértices contienen
Árboles. Un grafo no dirigido es un árbol si y sólo si existe una ruta unica simple entre cualquiera dos de sus vértices.
ÁRBOLES Árboles Un grafo conectado que no contiene circuitos simples. Utilizados desde 1857, por el matemático Ingles Arthur Cayley para contar ciertos tipos de componentes químicos. Un árbol es un grafo
UNIDAD 9. DATOS COMPLEJOS PILAS
UNI 9. TOS OMPLEJOS PILS Una pila es una lista de elementos en la que se pueden insertar y eliminar elementos sólo por uno de los extremos. omo consecuencia, los elementos de una pila serán eliminados
Árboles Binarios Ordenados Árboles AVL
Árboles Binarios Ordenados Árboles AVL Estructuras de Datos Andrea Rueda Pontificia Universidad Javeriana Departamento de Ingeniería de Sistemas Recordatorio... Se acerca la fecha de la primera entrega
Estructuras de datos: Pilas, Colas, Listas
Estructuras de datos: Pilas,, Facultad de Informática Universidad de A Coruña Pilas,, Table of Contents Pilas 1 Pilas 2 3 Pilas,, Table of Contents Pilas 1 Pilas 2 3 Pilas,, Pilas Acceso limitado al último
Definición 1.1 Sea G = (V, A) un grafo no dirigido. G se denomina árbol si es conexo y no contiene ciclos.
Matemática Discreta y Lógica 2 1. Árboles Árboles Definición 1.1 Sea G = (V, A) un grafo no dirigido. G se denomina árbol si es conexo y no contiene ciclos. Como un lazo es un ciclo de longitud 1, un árbol
El TAD Grafo. El TAD Grafo
! Esta representación resulta útil cuando el número de vértices se conoce previamente y permanecerá fijo durante la resolución del problema, pero resulta ineficiente si necesitamos añadir o eliminar vértices
Tema Árboles generales. 9.2 Árboles binarios 9.3 Árboles de búsqueda
Informática Haskell Matemáticas Curso 2004-2005 Pepe Gallardo Universidad de Málaga Tema 9. Árboles 9.1 Árboles generales 9.2 Árboles binarios 9.3 Árboles de búsqueda 9.1 Árboles generales Un árbol es
Estructuras de Datos. Montículos. Montículos. Montículos. Tema 3. Montículos. Definiciones básicas: Definiciones básicas:
Estructuras de Datos Tema. 1. Definiciones básicas 2. Implementación. Operaciones con montículos 4. Definiciones básicas: En un árbol binario completo todos los niveles del árbol (excepto tal vez el último)
ARBOLES ARBOLES BINARIOS ORDENADOS. REPRESENTACIÓN Y OPERACIONES
ARBOLES ARBOLES BINARIOS ORDENADOS. REPRESENTACIÓN Y OPERACIONES Características ARBOLES - CONCEPTOS Cada elemento del árbol se relaciona con cero o más elementos a quienes llama hijos. Si el árbol no
Complejidad amortizada
Análisis de algoritmos Complejidad amortizada Dra. Elisa Schaeffer [email protected] PISIS / FIME / UANL Complejidad amortizada p. 1 Complejidad amortizada La idea en el análisis de complejidad
Este material es de uso exclusivo para estudio, los textos fueron tomados textualmente de varios libros por lo que está prohibida su impresión y
Este material es de uso exclusivo para estudio, los textos fueron tomados textualmente de varios libros por lo que está prohibida su impresión y distribución. Listas Enlazadas Estructuras de datos dinámicas
Algoritmos y estructuras de datos
Algoritmos y estructuras de datos Dr. Eduardo A. Rodríguez Tello Laboratorio de Tecnologías de Información Cinvestav Tamaulipas [email protected] Cursos de inducción a la MCC Cinvestav Tamaulipas
VI Colas de prioridad
VI Colas de prioridad Una cola de prioridad (cat: cua de prioritat; ing: priority queue) es una colección de elementos donde cada elemento tiene asociado un valor susceptible de ordenación denominado prioridad.
Clase 32: Árbol balanceado AVL
Clase 32: Árbol balanceado AVL http://computacion.cs.cinvestav.mx/~efranco @efranco_escom [email protected] (Prof. Edgardo A. Franco) 1 Contenido Problema de los árboles binarios de búsqueda Variantes
Tipos algebraicos y abstractos. Algoritmos y Estructuras de Datos I. Tipos algebraicos
Algoritmos y Estructuras de Datos I 1 cuatrimestre de 009 Departamento de Computación - FCEyN - UBA Programación funcional - clase Tipos algebraicos Tipos algebraicos y abstractos ya vimos los tipos básicos
ARBOLES ARBOLES BINARIOS ORDENADOS. REPRESENTACIÓN Y OPERACIONES
ARBOLES ARBOLES BINARIOS ORDENADOS. REPRESENTACIÓN Y OPERACIONES Introducción al tema a. Formar grupos de 4 personas b. Tomar una hoja en blanco y una lapicera o lápiz c. En la hoja en blanco diseña un
Unidad Nº V Listas Enlazadas
Instituto Universitario Politécnico Santiago Mariño Unidad Nº V Listas Enlazadas Lista Enlazadas Es una colección o secuencia de elementos dispuestos uno detrás de otro, en la que cada elemento se conecta
Centro Asociado Palma de Mallorca. Tutor: Antonio Rivero Cuesta
Centro Asociado Palma de Mallorca Lógica y Estructuras Discretas Tutor: Antonio Rivero Cuesta Tema 5 Teoría de Grafos Conceptos Básicos Un grafo consta de: Grafo Un conjunto de nodos, Un conjunto de aristas
Análisis y Diseño de Algoritmos Tablas de Hash
Análisis y Diseño de Algoritmos Tablas de Hash Guillermo Morales-Luna Arturo Díaz Pérez CONTENIDO 1. Dispersión 2. Funciones de dispersión (a) Método de división (b) Método de multiplicación 3. Direccionamiento
Árboles binarios de búsqueda ( BST )
Árboles binarios de búsqueda ( BST ) mat-151 Alonso Ramírez Manzanares Computación y Algoritmos 24.04.2015 Arbol Binario de Búsqueda Un árbol binario de búsqueda (Binary Search Tree [BST]) es un árbol
Árboles. Cursos Propedéuticos 2015. Dr. René Cumplido M. en C. Luis Rodríguez Flores
Árboles Cursos Propedéuticos 2015 Dr. René Cumplido M. en C. Luis Rodríguez Flores Contenido de la sección Introducción Árbol genérico Definición y representación Árboles binarios Definición, implementación,
Tema 3. Análisis de costes
Tema 3. Análisis de costes http://aulavirtual.uji.es José M. Badía, Begoña Martínez, Antonio Morales y José M. Sanchiz {badia, bmartine, morales, sanchiz}@icc.uji.es Estructuras de datos y de la información
Conjuntos disjuntos (Relaciones de equivalencia)
Conjuntos disjuntos (Relaciones de equivalencia) Una relación R se define en un conjunto C si para todo par de elementos (a,b),a,b C,a R b es verdadera o falsa. Una relación de equivalencia es una relación
Análisis amortizado El plan:
Análisis amortizado El plan: Conceptos básicos: Método agregado Método contable Método potencial Primer ejemplo: análisis de tablas hash dinámicas Montículos agregables (binomiales y de Fibonacci) Estructuras
DEFINICION. Ing. M.Sc. Fulbia Torres Asignatura: Estructuras de Datos Barquisimeto 2006
ARBOLES ESTRUCTURAS DE DATOS 2006 DEFINICION Un árbol (tree) es un conjunto finito de nodos. Es una estructura jerárquica aplicable sobre una colección de elementos u objetos llamados nodos; uno de los
(d) Puede haber estrategias que funcionan mejor que Minimax si el contrincante es
Universidad Rey Juan Carlos Curso 2014 2015 Hoja de Problemas Tema 5 1. Cuáles de las siguientes afirmaciones acerca del algoritmo Minimax son ciertas (a) El algoritmo Minimax realiza una exploración primero
Capítulo 6. ÁRBOLES.
67 Capítulo 6. ÁRBOLES. 6.1 Árboles binarios. Un árbol binario es un conjunto finito de elementos, el cual está vacío o dividido en tres subconjuntos separados: El primer subconjunto contiene un elemento
Árboles balanceados. Alonso Ramírez Manzanares Computación y Algoritmos 28.04.2015 1. Thursday, April 30, 15
Árboles balanceados Alonso Ramírez Manzanares Computación y Algoritmos 28.04.2015 1 Árboles balanceados Los algoritmos en árboles binarios de búsqueda dan buenos resultados en el caso promedio pero el
Búsqueda en e.e. --> reglas para elegir entre las ramas que con más probabilidad lleven a la solución.
BÚSQUEDA HEURÍSTICA estudio de los métodos y reglas del descubrimiento y la invención. Búsqueda en e.e. --> reglas para elegir entre las ramas que con más probabilidad lleven a la solución. Situaciones
Análisis amortizado El plan:
Análisis amortizado El plan: Conceptos básicos: Método agregado Método contable Método potencial Primer ejemplo: análisis de tablas hash dinámicas Montículos agregables (binomiales y de Fibonacc Estructuras
3. ESTRUCTURAS DE DATOS NO LINEALES
3. ESTRUCTURAS DE DATOS NO LINEALES 3.1 Conjuntos 3.2 Árboles 3.3 Grafos 1 3.1 Conjuntos Índice Introducción Especificación del TAD TipoConjunto Implementaciones del TAD TipoConjunto Programación usando
Estructura de Datos. Unidad de Aprendizaje: Unidad de Competencia II: Estructuras de Datos Lineales. M. en C. Edith Cristina Herrera Luna
Ingeniería en Computación Unidad de Aprendizaje: Estructura de Datos Unidad de Competencia II: Estructuras de Datos Lineales Marzo 2015 M. en C. Edith Cristina Herrera Luna ESTRUCTURAS DE DATOS Propósito
Procesadores de lenguaje Tema 6 La tabla de símbolos
Procesadores de lenguaje Tema 6 La tabla de símbolos Departamento de Ciencias de la Computación Universidad de Alcalá Resumen La tabla de símbolos. Requerimientos de información. Diseño de la tabla de
(e) Con la poda alfa-beta se eliminan nodos que nunca serán alcanzados
Universidad Rey Juan Carlos Curso 2014 2015 Hoja de Problemas Tema 5 1. Cuáles de las siguientes afirmaciones acerca del algoritmo Minimax son ciertas (a) El algoritmo Minimax realiza una exploración primero
Capítulo 12: Indexación y asociación
Capítulo 12: Indexación y asociación Conceptos básicos Índices ordenados Archivos de índice de árbol B+ Archivos de índice de árbol B Asociación estática Asociación dinámica Comparación entre indexación
ELO320 Estructuras de Datos y Algoritmos. Arboles Binarios. Tomás Arredondo Vidal
ELO320 Estructuras de Datos y Algoritmos Arboles Binarios Tomás Arredondo Vidal Este material está basado en: Robert Sedgewick, "Algorithms in C", (third edition), Addison-Wesley, 2001 Thomas Cormen et
Universidad de Valladolid. Departamento de informática. Campus de Segovia. Estructura de datos Tema 4: Ordenación. Prof. Montserrat Serrano Montero
Universidad de Valladolid Departamento de informática Campus de Segovia Estructura de datos Tema 4: Ordenación Prof. Montserrat Serrano Montero ÍNDICE Conceptos básicos Elección de un método Métodos directos
Estructura de Datos. Arreglos. Experiencia Educativa de Algorítmica ESTRUCTURA DE DATOS - ARREGLOS 1
Estructura de Datos Arreglos Experiencia Educativa de Algorítmica ESTRUCTURA DE DATOS - ARREGLOS 1 Introducción Una estructura de datos es una colección de datos que pueden ser caracterizados por su organización
Compresión de Datos. Método de Huffman. Dpto. Informática
Compresión de Datos Método de Huffman Manipulación y Preservación de Datos Dpto. Informática Ing. Mariano D'Agostino Introducción La compresión de datos es el proceso de convertir una cadena de datos de
UNIVERSIDAD AUTÓNOMA DE AGUASCALIENTES CENTRO DE CIENCIAS BÁSICAS DEPARTAMENTO DE SISTEMAS ELECTRÓNICOS OBJETIVO GENERAL MÉTODOS DIDÁCTICOS EVALUACIÓN
UNIVERSIDAD AUTÓNOMA DE AGUASCALIENTES CENTRO DE CIENCIAS BÁSICAS DEPARTAMENTO DE SISTEMAS ELECTRÓNICOS MATERIA: ESTRUCTURAS DE DATOS HRS. T/P: 2/3 CARRERA: LIC. EN TECNOLOGÌAS DE INFORMACIÓN CRÉDITOS:
Tema 9. Algoritmos sobre listas. Programación Programación - Tema 9: Algoritmos sobre listas
Tema 9 Algoritmos sobre listas Programación 2015-2016 Programación - Tema 9: Algoritmos sobre listas 1 Tema 9. Algoritmos sobre listas Algoritmos sobre Arrays. Búsqueda. Inserción. Ordenación. Programación
Estructuras de datos: Conjuntos disjuntos
Estructuras de datos: Dep. de Computación - Fac. de Informática Universidad de A Coruña Santiago Jorge [email protected] Referencias bibliográficas G. Brassard y T. Bratley. Estructura de datos. En Fundamentos
Tecnólogo Informático- Estructuras de Datos y Algoritmos- 2009
Árboles Ejemplos de estructuras arborescentes: con forma de árbol Regla de Alcance: los objetos visibles en un procedimiento son aquellos declarados en él mismo o en cualquier ancestro de él (cualquier
<tipo> Tipo de dato de los elementos del vector
Vectores y matrices Declaración Vector (array unidimiensional): []; Tipo de dato de los elementos del vector Identificador de la variable.
NIVEL 15: ESTRUCTURAS RECURSIVAS BINARIAS
1 NIVEL 15: ESTRUCTURAS RECURSIVAS BINARIAS Árboles Binarios y Árboles Binarios Ordenados 2 Contenido Árboles binarios Iteradores Árboles binarios ordenados 3 Árboles binarios Algunas definiciones para
ÁRBOLES BINARIOS 2002. GRUPO # 22 Alumnos: Aguilar Elba Barrios Miguel Camacho Yaquelin Ponce Rodríguez Jhonny
ÁRBOLES BINRIOS 2002 GRUPO # 22 lumnos: guilar Elba Barrios Miguel Camacho Yaquelin Ponce Rodríguez Jhonny ESTRUCTURS DE DTOS TEM 6 Estructuras de datos no lineales. Árboles binarios ÍNDICE 6.1. Introducción.
Estructuras de datos. Estructuras de datos
Un arbol es un conjunto de nodos que cumplen con las relaciones padre, hijo y hermano. Llamamos hijos de un nodo a todos los nodos que podemos llegar directamente por medio de un apuntador hacia ellos
Capítulo. Listas, pilas y colas en C. Contenido. Introducción
Capítulo 32 Listas, pilas y colas en C Contenido Listas enlazadas Clasificación de listas enlazadas Operaciones en listas enlazadas Inserción de un elemento en una lista Búsqueda de un elemento de una
árbol como un conjunto de nodos y líneas
ÁRBOLES CAPÍTULO 6 ÁRBOLES Desde el punto de vista conceptual, un árbol es un objeto que comienza con una raíz (root) y se extiende en varias ramificaciones o líneas (edges), cada una de las cuales puede
TEMA 4 El tipo conjunto
TEMA El tipo conjunto PROGRAMACIÓN Y ESTRUCTURAS DE DATOS Tipo conjunto. Definiciones generales. Diccionario.. Tabla de dispersión.. Trie.. Árboles de búsqueda digitales. Cola de prioridad.. Montículo..
2).- Nombre de función. Para obtener una lista de funciones disponibles, haga clic en una celda y presione MAYÚSC+F3.
FUNCIONES DE EXCEL Adiestramiento Computacional Página 1 Funciones Las funciones son fórmulas predefinidas que ejecutan cálculos utilizando valores específicos, denominados argumentos, en un orden determinado
Agradecimientos. Nota de los autores. 1 Problemas, algoritmos y programas 1
Prologo Agradecimientos Nota de los autores Índice general I III V VII 1 Problemas, algoritmos y programas 1 1.1 Programas y la actividad de la programación.................... 4 1.2 Lenguajes y modelos
Intersección de segmentos de línea
Intersección de segmentos de línea Dr. Eduardo A. RODRÍGUEZ TELLO CINVESTAV-Tamaulipas 22 de febrero del 2013 Dr. Eduardo RODRÍGUEZ T. (CINVESTAV) Intersección de segmentos de línea 22 de febrero del 2013
Grafos. Suponiendo que e = [u, v]. Entonces los nodos u y v se llaman extremos de e y u y v se dice que son nodos adyacentes o vecinos.
Grafos Los grafos son estructuras que constan de vértices o nodos y de aristas o arcos que conectan los vértices entre sí. Un grafo G consiste en dos cosas: 1. Un conjunto V de elementos llamados nodos
PILAS Fundamentos
Alg. y Estr. Datos-I / Fund. Progr.-II (R. Ferrís, J. Albert) 11 PILAS 11.1 Fundamentos En este tema y en el siguiente se analizarán las estructuras de datos lineales pilas y colas. Las pilas y las colas
Tabla de Símbolos. Programación II Margarita Álvarez
Programación II Margarita Álvarez La tabla de símbolos es una estructura global utilizada por distintos módulos del compilador. Es el principal atributo heredado. Almacena todos los nombres declarados
Planificador de Linux (Scheduler)
Planificador de Linux (Scheduler) Profesor Gilberto Díaz [email protected] Universidad de Los Andes Facultad de Ingeniería Departamento de Computación G. Díaz (ULA) Planificador de Linux (Scheduler) Mérida,
(b) Cuál es la desventaja principal de una heurística con aprendizaje? es más informada que otra función heurística optimista h 2 *?
UNIVERIDD REY JUN CRLO CURO 0-0 INTELIGENCI RTIFICIL Hoja de Problemas Tema Ejercicio : Conteste a las siguientes preguntas: (a) Cómo funciona una heurística con aprendizaje? olución: Una heurística con
xvsvxcv Manual Microsoft Excel Básico
xvsvxcv Manual Microsoft Excel Básico CAPITULO 4 INDECCION 2 FORMULAS Y FUNCIONES Introducción Comúnmente ocurren cambios en la información que manejamos, y tenemos que agregar o eliminar celdas, columnas
Mostrar Números Ascendentemente. Soluciones Ejercicios Tema 5. tostring Recursivo de LEG. Suma Recursiva de un Vector (1/3)
Mostrar Números Ascendentemente Soluciones Ejercicios Tema 5 Germán Moltó [email protected] Estructuras de Datos y Algoritmos Escuela Técnica Superior de Ingeniería Informática Universidad Politécnica
Introducción Supongamos un subconjunto de n elementos X = {e 1,,e n de un conjunto referencial Y, X Y. Dentro de Y se define una relación de orden tot
Algoritmos de ordenación Análisis y Diseño de Algoritmos Algoritmos de ordenación Algoritmos básicos: Θ(n 2 ) Ordenación por inserción Ordenación por selección Ordenación por intercambio directo (burbuja)
Complejidad computacional (Análisis de Algoritmos)
Definición. Complejidad computacional (Análisis de Algoritmos) Es la rama de las ciencias de la computación que estudia, de manera teórica, la optimización de los recursos requeridos durante la ejecución
ÁRBOLES GENERALES Y Y ESTRUCTURAS DE ÍNDICES DEFINICIONES Y REPRESENTACIONES DEFINICIONES Y REPRESENTACIONES. NOMENCLATURA SOBRE ÁRBOLES. DECLARACIÓN Y REPRESENTACIÓN.. CONSTRUCCIÓN.. ÁRBOLES 2-3-4. ÁRBOLES
Curso de Excel CURSO DE
CURSO DE EXCEL Curso de Excel LECCIÓN 1 INTRODUCCIÓN 3 LA PANTALLA PRINCIPAL 3 LOS MENÚS DE EXCEL 4 CONCEPTOS BÁSICOS 4 DESPLAZAMIENTO POR LA HOJA 5 SELECCIÓN DE CELDAS 6 ESCRIBIR TEXTO 6 MODIFICAR Y BORRAR
Sistemas de Información II Tema 8. Estructuras de datos en memoria secundaria
Sistemas de Información II Tema 8. Estructuras de datos en memoria secundaria Bibliografía: Elmasri y Navathe: Fundamentos de Sistemas de Bases de Datos 3ª edición, 2002 (Capítulo 6). Garcia-Molina, Ullman
ALGORITMO MINIMAX. o Nodo: Representa una situación del juego. o Sucesores de un nodo: Situaciones del juego a las que se
ALGORITMO MINIMAX Algoritmo de decisión para minimizar la pérdida máxima aplicada en juegos de adversarios Información completa (cada jugador conoce el estado del otro) Elección del mejor movimiento para
Árboles binarios de búsqueda
Clase 27 Árboles binarios de búsqueda Árboles binarios de búsqueda En la clase anterior, definimos el concepto de árbol binario de búsqueda como un árbol binario de nodos que contienen una clave ordenada
Estructuras de Datos. Estructuras de Datos para Conjuntos Disjuntos
Estructuras de Datos. Estructuras de Datos para Conjuntos Disjuntos Santiago Zanella 2008 1 Introducción Para ciertas aplicaciones se requiere mantener n elementos distintos agrupándolos en una colección
OPTIMIZACIÓN DE CÓDIGO
OPTIMIZACIÓN DE CÓDIGO INTRODUCCION La finalidad de la optimización de código es producir un código objeto lo más eficiente posible. En algunos casos también se realiza una optimización del código intermedio.
Estructuras de Datos. Dr. Pablo E. Fidel Martínez López Lic. en Ciencias de la Computación UNR
Estructuras de Datos Dr. Pablo E. Fidel Martínez López Lic. en Ciencias de la Computación UNR In contrast, functional implementations of these data structures abstract away from troublesome pointer manipulations
Algoritmos: Análisis de Algoritmos
Ordenación por Inserción y Ordenación por Selección Reglas para calcular O Dept. de Computación, Universidade da Coruña [email protected] Ordenación por Inserción (1) procedimiento Ordenación
INDICE Prologo Capitulo 1. Algoritmos y programas Capitulo 2. La resolución de los problemas con computadoras y las herramientas de programación
INDICE Prologo XI Capitulo 1. Algoritmos y programas 1.1. Configuraciones de una computadora 1 1.2. Lenguajes de programación 2 1.3. Resolución de problemas 1.3.1. Fase de resolución del problema 3 1.3.1.1.
CAPÍTULO 1 INTRODUCCIÓN A LA PROGRAMACIÓN ORIENTADA A OBJETOS
CONTENIDO PRÓLOGO XIX CAPÍTULO 1 INTRODUCCIÓN A LA PROGRAMACIÓN ORIENTADA A OBJETOS 1.1 Introducción 2 1.2 Resolución de problemas mediante la computadora 3 1.3 Conceptos de programación orientada a objetos
MICROSOFT EXCEL 2016 Básico
MICROSOFT EXCEL 2016 Básico METODOLOGÍA DE LOS CURSOS Cursos interactivos sobre materias especializadas en los que el alumno avanza de forma guiada bajo una concepción learning by doing (aprender haciendo).
TAD: Pila. TALLER: TAD Pila
TALLER: TAD Una pila (stack) es un conjunto de elementos del mismo tipo que solamente puede crecer o decrecer por uno de sus extremos. Una pila también se la conoce con el nombre de estructura de tipo
Programación de Sistemas
Programación de Sistemas Algoritmos de Ordenación Índice Por qué es importante la ordenación? Un par de ejemplos InsertionSort QuickSort Para cada uno veremos: En qué consisten, Casos extremos Eficiencia
Búsqueda con adversario
Introducción Búsqueda con adversario Uso: Decidir mejor jugada en cada momento para cierto tipo de juegos Hay diferentes tipos de juegos según sus características: Numero de jugadores, toda la información
A B MIN C D E F MAX x E.T.S.I. INFORMÁTICA 4º CURSO. INTELIGENCIA ARTIFICIAL E INGENIERÍA DEL CONOCIMIENTO
E.T.S.I. INFORMÁTICA 4º CURSO. INTELIGENCIA ARTIFICIAL E INGENIERÍA DEL CONOCIMIENTO UNIVERSIDAD DE MÁLAGA Dpto. Lenguajes y Ciencias de la Computación RELACIÓN DE PROBLEMAS. TEMA IV. PROBLEMAS DE JUEGOS.
EJERCICIOS RESUELTOS PROGRAMACIÓN III
EJERCICIOS RESUELTOS PROGRAMACIÓN III Curso 2008 2009 Ejercicios resueltos de programación 3 Tema 3. Notación asintótica. Alumna: Alicia Sánchez Centro: UNED-Las Rozas (Madrid) El índice de los ejercicios
Escuela Politécnica Superior de Elche
EXAMEN DE SISTEMAS INFORMÁTICOS INDUSTRIALES ((SOLUCIÓN) (TEORÍA)jUJ jhshshs SEPTIEMBRE 2015 1. Indicar si las siguientes afirmaciones son verdaderas o falsas: (a) En C++, una clase derivada puede acceder
Reconocímíentes y Agradecimientos 5 Indice 6 Prólogo 11
índice Reconocímíentes y Agradecimientos 5 Indice 6 Prólogo 11 Capítulo 1: Introducción a c/e++ Introducción a C/C++ 13 Introducción 14 Primeros Pasos en C/C++ 15 Mi Primer Programa 15 Bibliotecas 17 Archivos
Algoritmos: Algoritmos voraces
Algoritmos: Algoritmos voraces Alberto Valderruten LFCIA - Departamento de Computación Facultad de Informática Universidad de A Coruña, España www.lfcia.org/alg www.fi.udc.es Contenido Características
