ESTRUCTURAS DE DATOS

Tamaño: px
Comenzar la demostración a partir de la página:

Download "ESTRUCTURAS DE DATOS"

Transcripción

1 ESTRUCTURAS DE DATOS Listas 1. Definir predicados Prolog referentes a listas con los siguientes significados: miembro(elem,lista) "Elem pertenece a Lista" longitud(lista,long) "Lista tiene Long elementos" último(lista,elem) "Elem es el último elemento de Lista" concatenar(l1,l2,l1l2) "Lista12 es el resultado de concatenar Lista1 y Lista2" suprimir(lelem,elem,l) "L es la lista LElem con Elem suprimido" invertir(lista,atsil) "Atsil es la inversa de Lista" prefijo(sublista,lista) "Sublista es prefijo de Lista" sufijo(sublista,lista) "Sublista es sufijo de Lista" sublista(sublista,lista) "Sublista es una sublista de Lista" adyacentes(x,y,lista) "X e Y son adyacentes en Lista" quicksort(lista,ailst) "Ailst es Lista ordenada mediante quicksort" burbuja(lista,ailst) "Ailst es Lista ordenada mediante el método de la burbuja" sumar(listaenteros,suma) "Suma es el resultado de sumar los elementos de ListaEnteros" producto(lista1,lista2,prod) "Prod es el producto escalar de Lista1 y Lista2" Arboles 2. Se define un árbol del modo siguiente: -la constante vacío es un árbol. -el término compuesto árbol(x,y,z) es un árbol si Y y Z son árboles. Definir predicados Prolog referentes a árboles con los siguientes significados: es_árbol(arbol) "Arbol es un árbol" miembro_árbol(elem,arbol) "Elem pertenece a Arbol" árboliso(a1,a2) "A1 y A2 son árboles isomorfos" "A2 se puede obtener reordenando las ramas de A1" sustituir(x,y,arbx,arby) "ArbY es ArbX donde todo X se sustituye por Y" preorden(arbol,pre) "Pre es una lista con el recorrido en preorden de Arbol" inorden(arbol,in) "In es una lista con el recorrido en inorden de Arbol" postorden(arbol,post) "Post es una lista con el recorrido en postorden de Arbol" subárbol(subárbol,arbol) "Subárbol es un subárbol de Arbol" insertar(elem,arbol,arboln) "ArbolN es un árbol ordenado resultante de insertar Elem en el árbol ordenado Arbol. Si Elem pertenece a Arbol, entonces Arbol y ArbolN son idénticos" Grafos 3. Escribir un programa en Prolog que de los distintos recorridos que unen los cinco vértices de la figura según los trazos marcados, sin realizar dos veces el mismo trazo. PRÁCTICAS 1 1

2 Matrices 4. Se desean representar las matrices numéricas en Prolog con términos de la forma: [fila 1, fila 2, _, fila n ] donde cada fila i se representa por una lista: [elemento i1, elemento i2, _, elemento in ] Por ejemplo, la lista [ [1,2,3], [4,5,6], [7,8,9] ] representará la matriz cuya primera fila es (1 2 3), la segunda (4 5 6) y la tercera (7 8 9). Se pide definir los siguientes predicados: es_matriz(t) "se satisface cuanto T es una matriz numérica" suma(m 1,M 2,S) "S es la matriz suma de M 1 y M 2. Supóngase que M 1 y M 2 están ya instanciados a términos de base" simétrica(m) "se satisface cuando M es una matriz simétrica" 5. Consideremos una base de datos conteniendo hechos de la forma donde: Por ejemplo: array(ident,indices,array). Ident representa el nombre del array. Indices es una lista que contiene la dimensión del array; cada elemento de la lista representa el índice máximo, y se supone que el índice mínimo es siempre 1. Array es una lista de listas, con una profundidad que coincide con la longitud de Indices. array(a,[2,3],[[a 11,a 12,a 13 ],[a 21,a 22,a 23 ]]). array(b,[2,3,2],[[[b 111,b 112 ],[b 121,b 122 ],[b 131,b 132 ]],[[b 211,b 212 ],[b 221,b 222 ],[b 231,b 232 ]]] Implementar los siguientes predicados Prolog: a) valor/3 % valor(a,[i,j],a ij ) b) asignar/3 % asignar(a,[i,j],a 0 ) _ valor(a,[i,j],a 0 ) c) posición/3 % posición(a,a ij,[i,j]) PRÁCTICAS 2 1 2

3 USO DE ACUMULADORES 1. Dar versiones recursivas e iterativas de los predicados. factorial(n,f) F es N! sumar_lista(xs,sum) Sum es la suma de los elementos de la lista Xs producto_escalar(xs,ys,p) P es el producto escalar de los vectores Xs e Ys (listas) máximo(xs,max) Max es el máximo entero de la lista Xs longitud(xs,long) Long es el tamaño de la lista Xs INSPECCION DE ESTRUCTURAS 2. Definir en Prolog predicados para: compuesto(term) Term es un término compuesto linealizar(xss,xs) Xs es la lista resultante de linealizar Xss (lista de listas) subtérmino(subterm,term) SubTerm es un subtérmino de Term sustituir(v,n,vt,nt) NT es el resultado de sustituir V por N en VT ocurrencias(sub,term,n) N es el número de apariciones de Sub en Term. Supóngase que Term es básico. básico(term) En Term no aparecen variables 3. Definir un predicado posición(subterm,term,posición) donde Posición es una lista de posiciones que identifican Subtérm dentro de Term. Por ejemplo, la posición de X en Y+sen(X) es [2,1], pues sen(x) es el segundo argumento del operador binario +, y X es el primer argumento de sen(x). 4. Definir el predicado =../2 en función de functor/3 y arg/3. METAPROGRAMACION 5. a) Escribir un predicado Prolog que implemente la siguiente función: aplica : (T S) Lista[T] Lista[S], dada por: aplica(f,[a 1,a 2,...,a n ]) = [f(a 1 ),f(a 2 ),...,f(a n )], a i T, f (T S) b) Aplicar el predicado anterior para definir predicados que determinen: b.1) El código BCD de un número decimal expresado como una lista de dígitos. b.2) La primera columna de una matriz representada por: [ [a 11, a 12,..., a 1n ], [a 21, a 22,..., a 2n ],... [a m1, a m2,..., a mn ] ] b.3) La lista resultante de sustituir 'n' por 'ñ' en una lista compuesta por caracteres. 6. a) Modificar la definición de aplica/3 del ejercicio anterior para generalizar la solución del apartado (5.b.2), de forma que se pueda determinar la i-ésima columna (1 i n); y la del apartado (5.b.3) para poder sustituir una letra cualquiera por cualquier otra. b) Aplicar el predicado obtenido en el apartado anterior para obtener el conjunto, L, de todos los subconjuntos de un conjunto dado, X, siguiendo el algoritmo que se especifica a continuación: Si X=Ø entonces L={ Ø } Si x X entonces L=L 1 L 2, siendo L 1 el conjunto de subconjuntos de X-{x}, y L 2 = {{x} l : l L 1 } (Nota: Los conjuntos se representan mediante una lista de elementos no repetidos). PRÁCTICAS 2 3

4 PROGRAMACION DE SEGUNDO ORDEN 7. a) Utilizando el predicado setof/3, definir el predicado paratodo/2, que se verifica cuando todas las instancias del primer argumento verifican la propiedad dada por el segundo. Por ejemplo, paratodo(miembro(x,[2,4,6]),par(x)). b) Comparar la solución anterior con: paratodo(objetivo,condición) :- not(objetivo,not Condición) 8. Usualmente el predicado conectados/2, que determina cuándo dos nodos están unidos mediante un camino en un grafo, se define haciendo uso de una búsqueda primero en profundidad. Utilizar el predicado setof/3 para utilizar una búsqueda primero en amplitud. PREDICADOS EXTRALOGICOS 9. Utilizando un bucle controlado por fallo, implementar en Prolog el predicado consult/1, que permite consultar las cláusulas de un archivo. (NOTA: Una llamada del tipo see(fichero), convierte a Fichero en la entrada por defecto, mientras que seen vuelve a considerar el dispositivo de entrada estándar). 10. Definir el predicado suprimir/2, de forma que suprimir(f,n) elimina todas las cláusulas que definen el procedimiento F de aridad N. 11. a) Simular variables globales mediante un predicado global(nombre,valor), y la asignación a variables globales mediante asig_global(nombre,nuevovalor). b) Utilizando los predicados anteriores, implementar el predicado generar_símbolo/1, que devuelve sobre el argumento un valor distinto en cada llamada. 12. Resolver los siguientes predicados utilizando funciones memo: fibonacci/2 hanoi/5 ESTRUCTURAS INCOMPLETAS 13. Usando diferencia de listas, implementar en Prolog: a) inversa(lista,atsil) b) linealizar(listadelistas,lista) c) quicksort(lista,ailst) d) Un predicado que resuelva el problema de la bandera holandesa (Dijkstra), que consiste en reordenar una lista de elementos coloreados (rojo,blanco y azul), de forma que los elementos rojos aparezcan primero, seguidos por los blancos, y terminando por los azules. La reordenación debe hacerse manteniendo el orden relativo original de los elementos del mismo color. Por ejemplo, la lista [rojo(1),blanco(2),azul(3),rojo(4),blanco(5)] debería reordenarse como [rojo(1),rojo(4),blanco(2),blanco(5),azul(3)]. e) El predicado para resolver el problema de las torres de Hanoi. PRÁCTICAS 2 4

5 1. a) Implementar un predicado generar/3 de forma que: generar(inicio,num,final) se satisfaga cuando Num sea un natural comprendido entre Inicio y Final. b) Implementar un predicado sumar/5 de forma que: sumar(ac,sum1,sum2,suma,acn) se satisfaga cuando Ac+Sum1+Sum2 = Suma+10AcN. c) Implementar un predicado distinto/1 de forma que: distinto(lista) se satisfaga cuando los elementos de Lista sean distintos entre sí. d) Escribir un programa Prolog que resuelva la siguiente suma: S E N D + M O R E M O N E Y e) Implementar un predicado Prolog resolversuma(sumando1,sumando2,suma) que resuelva de forma genérica sumas como las anteriores, siendo Sumando1, Sumando2 y Suma listas de variables. Por ejemplo, resolversuma([s,e,n,d],[m,o,r,e],[m,o,n,e,y]). 2. Escribir un programa Prolog que permita reconocer polinomios en algún término X. 3. Definir el predicado Prolog hanoi(n,a,b,c,movimientos) que es cierto si Movimientos es la secuencia de movimientos para trasladar una torre de N discos desde el eje A al eje B utilizando el eje C. 4. El problema de laa N reinas consiste en situar N reinas sobre un tablero de ajedrez de N N escaques, de forma que ninguna de ellas esté en una posición que le permita capturar a otra (la misma fila, columna o diagonal). Es obvio que todas las posibles soluciones se pueden representar como listas de longitud N, formaas por los números enteros de 1 a N en cierto orden. Se pide definir los predicados: a) intervalo(x,y,l), verdadero cuando L es una lista de los números enteros entre X e Y, ambos incluidos. b) permutación(l,p), verdadero si P es una lista permutación de la lista P. c) situación_segura(l), verdadero si L es una lista que representa una situación en la que no hay dos reinas en la misma diagonal. d) n_reinas(n.l), verdadero cuando L es una lista que representa una solución para el problema de las N reinas. 5. Una fórmula booleana es un término definido como sigue: -las constantes cierto y falso son fórmulas booleanas, -si X e Y son fórmulas booleanas, también lo son X o Y, X y Y, X implica Y y no X. Definir en Prolog el predicado: satisfactible(fórmula) "Existe una instancia verdadera de Formula" NOTA: Para definir los operadores infijos y prefijos, utilizar el predicado op/3. 6. Escribir un programa Prolog que simule una sesión de consultas en un intérprete Prolog. PRÁCTICAS 3 5

6 7. Diseñar un editor de línea simple en Prolog, donde el fichero se represente mediante el término file(antes,después), siendo Antes y Después dos listas de líneas (strings) que se consideran separadas por el cursor. Las líneas antes del cursor estarán dispuestas en orden inverso para facilitar su acceso. El editor (visualizado mediante un prompt) debe aceptar una orden del teclado, y aplicarla para producir una versión nueva del fichero. Dichas órdenes son: up sube el cursor una línea up(n) sube el cursor N líneas down baja el cursor una línea insert(línea) inserta en el fichero una Línea delete suprime la línea que está antes del cursor print imprime la línea que está detrás del cursor print(*) imprime el fichero completo 8. Tres alumnos hacen un examen de Lenguajes de Programación y obtienen tres notas distintas. Cada uno de ellos tiene un nombre diferente, preferencias por un tema distinto y proceden de especialidades de bachillerato distintas. A Francisco le gustan las Prácticas de Laboratorio, y obtuvo mejor nota que el procedente de Letras. Paco, el procedente del bachillerato de Ciencias, fue mejor que el aficionado a la Programación Funcional. El aficionado a la Programación Lógica fue el que mejor calificación obtuvo. Quién es el procedente del bachillerato Mixto? Cuál es el tema preferido por Curro? 9. Considerando la representación de una matriz dada por una lista de listas, implementar en Prolog los predicados: a) matriz(matriz-,m+,n+) % Genera una matriz (primer argumento) de tamaño M N % con componentes variables b) submatriz(submat,matriz) % Se satisface cuando SubMat es submatriz de Matriz c) Suponiendo que se dispone de tres tipos de piezas como las siguientes: Escribir un programa Prolog que permita construir un cuadrado de tamaño 4, combinando cuatro piezas como las anteriores. (Nota: Cada pieza puede representarse mediante una matriz de 2x3). 10. Escribir un programa Prolog que genere los movimientos que debe realizar un caballo de ajedrez para recorrer todas las casillas de un tablero cuadrado, sin pasar dos veces por la misma. La posición inicial y la dimensión del tablero se pasan como argumentos. PRÁCTICAS 3 6

Programación Declarativa Ejercicios de programación con listas

Programación Declarativa Ejercicios de programación con listas Programación Declarativa Ejercicios de programación con listas Ejercicio 1 Define versiones recursivas de los siguientes predicados sobre listas: es lista(xs) Xs es una lista bien formada es lista nat(ss)

Más detalles

Estructura de datos y de la información Boletín de problemas - Tema 10

Estructura de datos y de la información Boletín de problemas - Tema 10 Estructura de datos y de la información Boletín de problemas - Tema 10 1. En el caso de que sea posible, dar un ejemplo de los siguientes puntos. Si no, explicar por qué no lo es. Considerar un valor genérico

Más detalles

Estructuras de Datos y Algoritmos: Boletín de Problemas del segundo parcial

Estructuras de Datos y Algoritmos: Boletín de Problemas del segundo parcial Estructuras de Datos y Algoritmos: Boletín de Problemas del segundo parcial (Facultad de Informática) Curso 00 0 Estructuras de Datos y Algoritmos (FI-UPV) Curso 00 0 Árboles. Si la acción P fuera escribir

Más detalles

Abstracción de procedimientos

Abstracción de procedimientos Abstracción de procedimientos 1.- Consideremos ABN (árboles binarios numéricos) sin nodos repetidos. Denimos los siguientes conceptos: Se pide: Dados dos ABN, A y B, decimos que B es SUBARBOL PRINCIPAL

Más detalles

Programación Declarativa Universidad de Málaga

Programación Declarativa Universidad de Málaga Programación Declarativa Universidad de Málaga 3. o de Ingeniería Informática E.T.S.I. Informática Enero de 2008 Tema 5. Programación lógica con árboles Ejercicios Ejercicio 1. Dada la siguiente representación

Más detalles

Práctica N o 5 - Programación Lógica

Práctica N o 5 - Programación Lógica Práctica N o 5 - Programación Lógica Para resolver esta práctica, recomendamos usar el SWI-Prolog, de distribución gratuita, que puede bajarse de http://www.swi-prolog.org. No utilizar cut (!) ni predicados

Más detalles

Práctica N o 4 - Programación Lógica

Práctica N o 4 - Programación Lógica Práctica N o 4 - Programación Lógica Para resolver esta práctica, recomendamos usar el SWI-Prolog, de distribución gratuita, que puede bajarse de http://www.swi-prolog.org. No utilizar cut (!) ni predicados

Más detalles

Ejercicios sobre recursividad

Ejercicios sobre recursividad Ejercicios sobre recursividad 11 de febrero de 2003 1. Implementa una función recursiva que devuelva la suma de los dígitos de un número natural, que se le pasa por parámetro. 2. Implementa una función

Más detalles

Práctica 2 - Manejo de estructuras de datos y punteros

Práctica 2 - Manejo de estructuras de datos y punteros Práctica 2 - Manejo de estructuras de datos y punteros Organización del Computador 2 1er Cuatrimestre 2017 1. Estructuras estáticas: Vectores y Matrices Ejercicio 1 Para cada uno de los siguientes ítems,

Más detalles

Estructuras de Datos y de la Información Ingeniería Técnica en Informática de Gestión. Curso 2007/2008 Ejercicios del Tema 2

Estructuras de Datos y de la Información Ingeniería Técnica en Informática de Gestión. Curso 2007/2008 Ejercicios del Tema 2 Estructuras de Datos y de la Información Ingeniería Técnica en Informática de Gestión. Curso 2007/2008 Ejercicios del Tema 2 Diseño de algoritmos recursivos 1. Dado un vector de enteros de longitud N,

Más detalles

Ejercicios de programación en C. ET1032 Informática Industrial

Ejercicios de programación en C. ET1032 Informática Industrial Ejercicios de programación en C. ET1032 Informática Industrial - 2016 1 - Ejercicios generales introductorios 1. - Realizad un programa que reciba un entero tipo int- desde el teclado, lo sume consigo

Más detalles

Tipos algebraicos y abstractos. Algoritmos y Estructuras de Datos I. Tipos algebraicos

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

Más detalles

95.12 Algoritmos y Programación II Práctica 7: árboles

95.12 Algoritmos y Programación II Práctica 7: árboles Notas preliminares 95.12 Algoritmos y Programación II Práctica 7: árboles El objetivo de esta práctica es introducir distintas clases de estructuras de datos arbóreas y algoritmos para manipularlas. Los

Más detalles

PROGRAMACIÓN ORIENTADA A LA INTELIGENCIA ARTIFICIAL

PROGRAMACIÓN ORIENTADA A LA INTELIGENCIA ARTIFICIAL PROGRAMACIÓN ORIENTADA A LA INTELIGENCIA ARTIFICIAL Ejercicios de programación en LISP y PROLOG prog-ia@dia.uned.es Dpto. Inteligencia Artificial E.T.S.I. Informática (UNED) C/ Juan del Rosal 16 28040

Más detalles

Programación recursiva en Prolog

Programación recursiva en Prolog Programación recursiva en Prolog Curso 2002/03, Fecha:14/12/2002 Enunciado 1 (naturales) El siguiente predicado define la suma de números naturales representados mediante la constante 0 y la función siguiente

Más detalles

ESTRUCTURAS DE DATOS Y ALGORITMOS

ESTRUCTURAS DE DATOS Y ALGORITMOS ESTRUCTURAS DE DATOS Y ALGORITMOS CURSO 2009 PRÁCTICO 8 Nota: al igual que en los prácticos 6 y 7, en los problemas que siguen se usarán los tipos lista y árbol binario, como tipos abstractos, cada uno

Más detalles

Algoritmos y Programación II Curso 2006

Algoritmos y Programación II Curso 2006 Arboles: Un árbol es una colección de elementos, llamados nodos, uno de los cuales se distingue con el nombre de raíz. Los nodos mantienen entre ellos una relación que define una estructura jerárquica

Más detalles

ANÁLISIS Y DISEÑO DE ALGORITMOS

ANÁLISIS Y DISEÑO DE ALGORITMOS ANÁLISIS Y DISEÑO DE ALGORITMOS CURSO 26/27 BOLETÍN DE PROBLEMAS: ALGORITMOS VORACES Ejercicio 1 Sean n personas, representadas por los Enteros : 1..n, puestas en círculo, y m, un Entero no negativo cualquiera,

Más detalles

Análisis y Complejidad de Algoritmos. Arboles Binarios. Arturo Díaz Pérez

Análisis y Complejidad de Algoritmos. Arboles Binarios. Arturo Díaz Pérez Análisis y Complejidad de Algoritmos Arboles Binarios Arturo Díaz Pérez Arboles Definiciones Recorridos Arboles Binarios Profundidad y Número de Nodos Arboles-1 Arbol Un árbol es una colección de elementos,

Más detalles

A) PREORDEN B) INORDEN C) POSTORDEN D) NIVELES

A) PREORDEN B) INORDEN C) POSTORDEN D) NIVELES Capitulo 5. Arboles 1. Al recorrer el siguiente árbol en se visitan más nodos para llegar al número 38. Justifique su respuesta mostrando cada uno de los recorridos. Tipo de Recorrido Recorrido A) PREORDEN

Más detalles

PROGRAMACIÓN ORIENTADA A LA INTELIGENCIA ARTIFICIAL

PROGRAMACIÓN ORIENTADA A LA INTELIGENCIA ARTIFICIAL PROGRAMACIÓN ORIENTADA A LA INTELIGENCIA ARTIFICIAL Ejercicios de programación en LISP y PROLOG Angeles Manjarrés Riesco Severino Fernández Galán Jesús González Boticario prog-ia@dia.uned.es Dpto. Inteligencia

Más detalles

1. Cuál es el número total máximo de nodos que tiene un árbol binario de N niveles? a. N 2-1 b. 2 N+1-1 c. 2 N d. 2 N+1 i.

1. Cuál es el número total máximo de nodos que tiene un árbol binario de N niveles? a. N 2-1 b. 2 N+1-1 c. 2 N d. 2 N+1 i. 1. Cuál es el número total máximo de nodos que tiene un árbol binario de N niveles? a. N - 1 b. N1-1 c. N d. N1 i.. Dado el siguiente árbol binario: raiz Q K T D M R Y B J P W N a. Cuáles son los antecesores

Más detalles

Teoría de los Lenguajes de Programación Práctica curso

Teoría de los Lenguajes de Programación Práctica curso Teoría de los Lenguajes de Programación Práctica curso 2013-2014 Índice 1. Introducción: Sumas...3 2. Enunciado de la práctica...3 2.1 Método de Resolución...3 Generación de los nodos...4 Función Principal...5

Más detalles

SEMINARIO DE ESPECIFICACIONES ALGEBRAICAS

SEMINARIO DE ESPECIFICACIONES ALGEBRAICAS Algoritmos y Estructuras de Datos Ingeniería en Informática, Curso 2º, Año 2003/2004 SEMINARIO DE ESPECIFICACIONES ALGEBRAICAS Contenidos: 1. Descripción general de Maude 2. Comandos básicos 3. Formato

Más detalles

Estructura de Datos. Índice

Estructura de Datos. Índice TEMA 5. ÁRBOLES (I) 1 Índice 1. Concepto de árbol 2. Árboles binarios 1. Especificación informal del TAD árbol binario 2. Implementación del TAD árbol binario 3. Recorrido de un árbol binario 4. Árboles

Más detalles

Versión Iterativa de recuperar en un. Ejercicios Tema 11. Implementa una versión del método recuperar iterativa con la siguiente especificación:

Versión Iterativa de recuperar en un. Ejercicios Tema 11. Implementa una versión del método recuperar iterativa con la siguiente especificación: Versión Iterativa de recuperar en un ABB Ejercicios Tema 11 Ejercicios Adaptados de Apuntes y Exámenes de EDA Germán Moltó Martínez gmolto@dsic.upv.es Estructuras de Datos y Algoritmos Escuela Técnica

Más detalles

Programación con listas

Programación con listas Programación con Estructuras III.1 Programación con listas Unificación con listas. Dominio de definición Predicados sobre listas.tablas de comportamiento Predicados aritméticos con listas. Predicados iterativos

Más detalles

ANÁLISIS Y DISEÑO DE ALGORITMOS

ANÁLISIS Y DISEÑO DE ALGORITMOS ANÁLISIS Y DISEÑO DE ALGORITMOS CURSO 2005/2006 BOLETÍN DE PROBLEMAS: ALGORITMOS VORACES Ejercicio 1 Sean n personas, representadas por los Enteros : 1..n, puestas en círculo, y m, un Entero no negativo

Más detalles

Estructura de Datos. Temario Unidad VI. Árboles Árboles Binarios

Estructura de Datos. Temario Unidad VI. Árboles Árboles Binarios Estructura de Datos Árboles Árboles Binarios Temario Unidad VI 6.1 Definición y operaciones 6.2 Implementación 6.3 Recorrido en Árboles Binarios 6.4 Árboles AVL y su implementación 6.5 Árboles n-arios

Más detalles

Ejercicio 2 Considere la representación para Lista de Naturales y Árbol Binario de Naturales de la Figura 1.

Ejercicio 2 Considere la representación para Lista de Naturales y Árbol Binario de Naturales de la Figura 1. Ejercicios Resueltos del Práctico 4 Ejercicio 2 Considere la representación para Lista de Naturales y Árbol Binario de Naturales de la Figura 1. 1 2 struct NodoLista { 3 int elem ; 4 NodoLista * sig ;

Más detalles

Tema 18. Vectores o Tablas. Diego Gutiérrez

Tema 18. Vectores o Tablas. Diego Gutiérrez Tema 18. Vectores o Tablas 1 Vectores: Conceptos básicos Índice: 2 Ejemplo: Contar el número de apariciones de la letra A en un texto introducido por teclado (sólo mayúsculas) Variables veces_a: integer;

Más detalles

CAPÍTULO 2. ÁRBOLES 2.0. CONCEPTOS GENERALES

CAPÍTULO 2. ÁRBOLES 2.0. CONCEPTOS GENERALES CAPÍTULO 2. ÁRBOLES 2.0. CONCEPTOS GENERALES Los árboles (en general) se utilizan para representar fórmulas algebraicas, para organizar objetos en orden de tal forma que las búsquedas sean muy eficientes

Más detalles

Guía 2: Listas, recursión e inducción

Guía 2: Listas, recursión e inducción Introducción a los Algoritmos - 2do cuatrimestre 2014 Guía 2: Listas, recursión e inducción Docentes: Walter Alini, Luciana Benotti En esta guía comenzaremos a trabajar con listas Para familiarizarnos

Más detalles

Backtracking: Esquema General

Backtracking: Esquema General Backtracking Idea: Técnica para recorrer sistemáticamente todas las posibles configuraciones de un espacio asociado a soluciones candidatos de un problema computacional. Se puede pensar este espacio tiene

Más detalles

Tema#2. Tipos de Datos 10

Tema#2. Tipos de Datos 10 2.1 DEFINICIÓN DE DATOS. Los datos son los objetos sobre los que opera una computadora. El tipo de un dato es el conjunto de valores que puede tomar durante el programa. Si se le intenta dar un valor fuera

Más detalles

Matemáticas Discretas

Matemáticas Discretas Coordinación de Ciencias Computacionales - INAOE Matemáticas Discretas Cursos Propedéuticos 2011 Ciencias Computacionales INAOE Dr. Enrique Muñoz de Cote jemc@inaoep.mx http://ccc.inaoep.mx/~jemc Oficina

Más detalles

A l g o r i t m o y E s t r u c t u r a d e D a t o s Ing. en Sistemas de Información - 1º año -

A l g o r i t m o y E s t r u c t u r a d e D a t o s Ing. en Sistemas de Información - 1º año - Trabajo práctico Nº 7 (Resolución de problemas Estructura: pila y cola). Realiza el programa de cada situación problemática. 1- Cargar en una pila n letras del abecedario.(n debe ser menor a 30) 2- En

Más detalles

ARBOLES BINARIOS ORDENADOS. REPRESENTACIÓN Y OPERACIONES

ARBOLES BINARIOS ORDENADOS. REPRESENTACIÓN Y OPERACIONES ARBOLES BINARIOS ORDENADOS. REPRESENTACIÓN Y OPERACIONES TEMAS Recorrido de un árbol Máximo y mínimo Búsqueda de un elemento Borrado de un nodo 3 Características ARBOLES - CONCEPTOS Cada elemento del árbol

Más detalles

FUNDAMENTOS DE PROGRAMACIÓN TALLER No. 1 Profesor: Alvaro Ospina Sanjuan

FUNDAMENTOS DE PROGRAMACIÓN TALLER No. 1 Profesor: Alvaro Ospina Sanjuan FUNDAMENTOS DE PROGRAMACIÓN TALLER No. 1 Profesor: Alvaro Ospina Sanjuan 1. Escriba un programa que cambie cualquier suma de dinero hasta de 99 ctvs usando las monedas de denominación de 1 ctvs, 5 ctvs,

Más detalles

Listas en Prolog. Capítulo. Listas como sujetos

Listas en Prolog. Capítulo. Listas como sujetos Capítulo 5 Listas en Prolog Este capítulo introduce el concepto de lista, un tipo de dato de gran influencia dentro de la inteligencia artificial. Se comienza con una introducción a listas en Prolog y

Más detalles

Examen escrito de Programación 1

Examen escrito de Programación 1 Examen escrito de Programación 1 Escuela de Ingeniería y Arquitectura Departamento de Informática e Ingeniería de Sistemas 31 de agosto de 2012 Disponer sobre la mesa en lugar visible un documento de identificación

Más detalles

1.1 Define un operador ( ) que devuelva True si y solo si tan solo uno de sus argumentos es True. Por ejemplo:? (3 > 2) (2 > 5)

1.1 Define un operador ( ) que devuelva True si y solo si tan solo uno de sus argumentos es True. Por ejemplo:? (3 > 2) (2 > 5) 1 Informática Haskell Matemáticas Curso 2004-2005 Pepe Gallardo Universidad de Málaga Práctica 1 1.1 Define un operador ( ) que devuelva True si y solo si tan solo uno de sus argumentos es True. Por ejemplo:?

Más detalles

Estructura de Datos. Árboles Binarios de Búsqueda ABB. Primer Semestre, 2010

Estructura de Datos. Árboles Binarios de Búsqueda ABB. Primer Semestre, 2010 Estructura de Datos Árboles Binarios de Búsqueda ABB Prof.: Mauricio Solar Prof.: Lorna Figueroa Primer Semestre, 20 1 Arboles de Búsqueda Binaria El árbol binario de búsqueda (ABB) toma su nombre del

Más detalles

RECORRIDO EN ARBOLES

RECORRIDO EN ARBOLES RECORRIDO EN ARBOLES Orlando Arboleda Molina Escuela de Ingeniería de Sistemas y Computación de La Universidad del Valle 16 de septiembre de 2008 Contenido Recorrido en árboles Definición Recorrido en

Más detalles

Práctica 8 Programación Funcional - Tipos Compuestos

Práctica 8 Programación Funcional - Tipos Compuestos Práctica 8 Programación Funcional - Tipos Compuestos Algoritmos y Estructura de Datos I Segundo Cuatrimestre 2010 1 Tipos Compuestos En los ejercicios de tipos compuestos NO TIENEN que definir los tipos

Más detalles

Benemérita Universidad Autónoma de Puebla Facultad de Ciencias de la Computación Área de Programación

Benemérita Universidad Autónoma de Puebla Facultad de Ciencias de la Computación Área de Programación Asignatura: Programación I Fecha: Marzo 2012 Benemérita Universidad Autónoma de Puebla Facultad de Ciencias de la Computación Área de Programación Funciones 1. Escriba un programa en C que intercambie

Más detalles

ANÁLISIS Y DISEÑO DE ALGORITMOS. PRACTICAS

ANÁLISIS Y DISEÑO DE ALGORITMOS. PRACTICAS ANÁLISIS Y DISEÑO DE ALGORITMOS. PRACTICAS 2004-2005 PRACTICA 1: MEDICIÓN DEL TIEMPO. ALGORITMOS DE ORDENACIÓN Crear un conjunto de funciones que permitan la medición del tiempo de ejecución de los programas,

Más detalles

Universidad de Guadalajara Centro universitario de los Altos Licenciatura en Ingeniería en Computación

Universidad de Guadalajara Centro universitario de los Altos Licenciatura en Ingeniería en Computación 1. Identificación del curso Programa de estudios por competencias Estructura de Datos I Programa educativo: Ing. En Computación Unidad de aprendizaje: Estructura de datos I Departamento de adscripción:

Más detalles

Introducción a Python. Cecilia Manzino

Introducción a Python. Cecilia Manzino Características del lenguaje Es un lenguaje de programación multiparadigma, soporta la programación orientada a objetos, imperativa y, en menor medida, funcional. Es un lenguaje multiplataforma, puede

Más detalles

Apellidos:... Nombre:...

Apellidos:... Nombre:... Apellidos:....................................... Nombre:........................................ Introducción a la Inteligencia Artificial 1 er Parcial de Teoría 12 Noviembre 2004 Ejercicio 1: Responder

Más detalles

Árboles generales. Un árbol es una estructura no lineal acíclica utilizada para organizar información de forma eficiente. La definición es recursiva:

Árboles generales. Un árbol es una estructura no lineal acíclica utilizada para organizar información de forma eficiente. La definición es recursiva: Capítulo 9. Programación con Árboles 107 Árboles Árboles generales Un árbol es una estructura no lineal acíclica utilizada para organizar información de forma eficiente. La definición es recursiva: Un

Más detalles

Lista de problemas: ciclos y funciones en el lenguaje MATLAB

Lista de problemas: ciclos y funciones en el lenguaje MATLAB Lista de problemas: ciclos y funciones en el lenguaje MATLAB Esta lista de problemas está compuesta para probar si el estudiante tiene ciertas habilidades básicas de programación con arreglos, funciones

Más detalles

75.04 Algoritmos y Programación II Práctica 6: árboles

75.04 Algoritmos y Programación II Práctica 6: árboles 75.04 Algoritmos y Programación II(electrónica)- UBA página 1/5 Notas preliminares 75.04 Algoritmos y Programación II Práctica 6: árboles El objetivo de esta práctica es introducir distintas clases de

Más detalles

Parte de Algoritmos de la asignatura de Programación Master de Bioinformática. Grafos

Parte de Algoritmos de la asignatura de Programación Master de Bioinformática. Grafos Parte de Algoritmos de la asignatura de Programación Master de Bioinformática Grafos Web asignatura: http://dis.um.es/~domingo/algbio.html E-mail profesor: domingo@um.es Transparencias preparadas a partir

Más detalles

Trabajo Práctico 5 Estructura Repetitiva

Trabajo Práctico 5 Estructura Repetitiva Trabajo Práctico 5 Estructura Repetitiva Los ejercicios para resolver y enviar por los alumnos son los que están con letra negrita los mismos deben ser enviados en un archivo zip por medio de la página

Más detalles

Programación lógica con árboles. Introducción. Contenido. Introducción. 1. Programación con árboles 2. Otras estructuras arbóreas

Programación lógica con árboles. Introducción. Contenido. Introducción. 1. Programación con árboles 2. Otras estructuras arbóreas Contenido 1. Programación con árboles 2. Otras estructuras arbóreas Ingeniería Informática Ingeniería Técnica en Informática Departamento de Lenguajes y Ciencias de la Computación Universidad de Málaga

Más detalles

Práctica N o 1 - Programación Funcional

Práctica N o 1 - Programación Funcional Práctica N o 1 - Programación Funcional Para resolver esta práctica, recomendamos usar el Hugs 98, de distribución gratuita, que puede bajarse de http://www.haskell.org/hugs/. Ejercicio 1 Dado el siguiente

Más detalles

Tema 4.- Recursión e iteración

Tema 4.- Recursión e iteración UNIVERSIDAD DE CÓRDOBA ESCUELA POLITÉCNICA SUPERIOR DE CÓRDOBA DEPARTAMENTO DE INFORMÁTICA Y ANÁLISIS NUMÉRICO PROGRAMACIÓN DECLARATIVA INGENIERÍA INFORMÁTICA ESPECIALIDAD DE COMPUTACIÓN CUARTO CURSO PRIMER

Más detalles

Programación con Listas

Programación con Listas Capítulo 2 Programación con Listas En Prolog la estructura de lista está predefinida como una estructura recursiva lineal cuyas componentes pueden ser heterogéneas porque en Prolog no existe una comprobación

Más detalles

Programas Generate & Test

Programas Generate & Test Programas Generate & Test Son básicamente programas que generan soluciones candidatas que se evalúan para comprobar si son o no correctas En algunas ocasiones es más sencillo comprobar si algo es una solución

Más detalles

Universidad Salesiana de Bolivia

Universidad Salesiana de Bolivia Universidad Salesiana de Bolivia Ingeniería de Sistemas I DATOS DE IDENTIFICACIÓN PLAN DE DISCIPLINA GESTIÓN I - 2014 INSTITUCIÓN UNIVERSITARIA: Universidad Salesiana de Bolivia RECTOR: Dr. Rvdo. P. Thelían

Más detalles

LISTADO DE PROBLEMAS TRIMESTRE 1

LISTADO DE PROBLEMAS TRIMESTRE 1 TIC BACH2-1 LISTADO DE PROBLEMAS TRIMESTRE 1 1. Escribir un algoritmo que lea un número y escriba su cuadrado. 2. Realizar el algoritmo de un programa que lea dos números y muestre la suma de ambos. 3.

Más detalles

TEMA 3. Árboles. Objetivos. Contenidos. Bibliografía. Básica

TEMA 3. Árboles. Objetivos. Contenidos. Bibliografía. Básica TEMA 3. Árboles Objetivos En este tema se estudia una de las estructuras de datos no lineal más importante en computación, el árbol. Comenzaremos introduciendo la terminología asociada a los árboles y

Más detalles

DATOS DE IDENTIFICACIÓN DEL CURSO Ciencias Computacionales Estructuras y algoritmos

DATOS DE IDENTIFICACIÓN DEL CURSO Ciencias Computacionales Estructuras y algoritmos DEPARTAMENTO: ACADEMIA A LA QUE PERTENECE: NOMBRE DE LA MATERIA: DATOS DE IDENTIFICACIÓN DEL CURSO Ciencias Computacionales Estructuras y algoritmos Estructuras de Datos CLAVE DE LA MATERIA: CC202 CARÁCTER

Más detalles

Ejemplo: El problema de la mochila. Algoritmos golosos. Algoritmos y Estructuras de Datos III. Segundo cuatrimestre 2013

Ejemplo: El problema de la mochila. Algoritmos golosos. Algoritmos y Estructuras de Datos III. Segundo cuatrimestre 2013 Técnicas de diseño de algoritmos Algoritmos y Estructuras de Datos III Segundo cuatrimestre 2013 Técnicas de diseño de algoritmos Algoritmos golosos Backtracking (búsqueda con retroceso) Divide and conquer

Más detalles

Algebra lineal y conjuntos convexos

Algebra lineal y conjuntos convexos Apéndice A Algebra lineal y conjuntos convexos El método simplex que se describirá en el Tema 2 es de naturaleza algebraica y consiste en calcular soluciones de sistemas de ecuaciones lineales y determinar

Más detalles

Estructuras de Datos ARBOLES Y GRAFOS

Estructuras de Datos ARBOLES Y GRAFOS Estructuras de Datos ARBOLES Y GRAFOS Rosa Barrera Capot rosa.barrera@usach.cl Grafo? Características Permiten Modelar un problema Aplicaciones: Ingeniería de Sistemas Modelado de Redes Ingeniería Industrial

Más detalles

FOPR-I1O23 - Fundamentos de Programación

FOPR-I1O23 - Fundamentos de Programación Unidad responsable: 340 - EPSEVG - Escuela Politécnica Superior de Ingeniería de Vilanova i la Geltrú Unidad que imparte: 723 - CS - Departamento de Ciencias de la Computación Curso: Titulación: 2018 GRADO

Más detalles

2º Certamen ILI-253 Lenguajes de Programación Juan Pablo Menichetti Jorge Mujica 10 de Junio del 2004

2º Certamen ILI-253 Lenguajes de Programación Juan Pablo Menichetti Jorge Mujica 10 de Junio del 2004 º Certamen ILI-53 Lenguajes de Programación Juan Pablo Menichetti Jorge Mujica 10 de Junio del 004 ta: Tiempo: 10 Minutos. Responda con lápiz indeleble para acceder a recorrecciones. Utilice solo las hojas

Más detalles

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 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

Más detalles

Una clasificación de los tipos de datos existentes en los diferentes lenguajes de programación se presenta a continuación:

Una clasificación de los tipos de datos existentes en los diferentes lenguajes de programación se presenta a continuación: Clase teórica 2 Algoritmos en C Página 1 de 6 TIPOS DE DATOS Una clasificación de los tipos de datos existentes en los diferentes lenguajes de programación se presenta a continuación: Por el momento nuestro

Más detalles

Programa de estudios por competencias Seminario de solución de problemas de Estructura de Datos I

Programa de estudios por competencias Seminario de solución de problemas de Estructura de Datos I Programa de estudios por competencias Seminario de solución de problemas de Estructura de Datos I 1. Identificación del curso Programa educativo: Ing. En Computación Unidad de aprendizaje: Seminario de

Más detalles

2. Desarrolla una especificación informal genérica para el TAD árbol binario. Incluir operaciones para crear y modificar el árbol.

2. Desarrolla una especificación informal genérica para el TAD árbol binario. Incluir operaciones para crear y modificar el árbol. 1. Escribe una especificación informal para los distintos métodos de ordenación que conozcas. La especificación debe ser genérica, es decir trabajar con elementos de cualquier tipo. En qué se diferencia

Más detalles

Tema 09: TAD Árbol binario

Tema 09: TAD Árbol binario Tema 09: TAD Árbol binario M. en C. Edgardo Adrián Franco Martínez http://www.eafranco.com edfrancom@ipn.mx @edfrancom edgardoadrianfrancom (Prof. Edgardo A. Franco) 1 Contenido Introducción El árbol binario

Más detalles

Apuntes de Teórico PROGRAMACIÓN 3. Backtracking. Versión 1.4

Apuntes de Teórico PROGRAMACIÓN 3. Backtracking. Versión 1.4 Apuntes de Teórico PROGRAMACIÓN 3 Backtracking Versión 1.4 2 Índice Introducción... 4 Problema de las n reinas... 4 Espacio de soluciones... 5 Colorear un mapa... 9 Hallar una solución... 10 Hallar todas

Más detalles

Programación I. Ingeniería Técnica Informática. Ejercicios de los Temas 4, 5, 6 y 7

Programación I. Ingeniería Técnica Informática. Ejercicios de los Temas 4, 5, 6 y 7 Estructuras selectivas Programación I Ingeniería Técnica Informática Ejercicios de los Temas 4, 5, 6 y 7 24.- Elabore un programa para determinar si una hora leída en la forma horas, minutos y segundos

Más detalles

ESTRUCTURA DE DATOS Y ALGORITMOS Titulación: Ingeniero Técnico en Informática de Gestión Curso: 2º Nombre y apellidos: Nota:

ESTRUCTURA DE DATOS Y ALGORITMOS Titulación: Ingeniero Técnico en Informática de Gestión Curso: 2º Nombre y apellidos: Nota: Nombre y apellidos: Nota: NOTA FINAL: Nota Practica (1 punto) + Nota Examen (9 punto) Es indispensable aprobar el examen (4,5 puntos) para aprobar la asignatura (5 puntos) La práctica es opcional Duración:

Más detalles

Algoritmos y Estructuras de Datos Ingeniería en Informática

Algoritmos y Estructuras de Datos Ingeniería en Informática 1.1.Escribe una especificación informal para los distintos métodos de ordenación que conozcas. La especificación debe ser genérica, es decir trabajar con elementos de cualquier tipo. En qué se diferencia

Más detalles

Operadores. Java es un lenguaje rico en operadores, que son casi idénticos a los de C/C++.

Operadores. Java es un lenguaje rico en operadores, que son casi idénticos a los de C/C++. Operadores Java es un lenguaje rico en operadores, que son casi idénticos a los de C/C++. Operadores aritméticos Son operadores binarios (requieren siempre dos operandos) que realizan las operaciones aritméticas

Más detalles

ESTRUCTURA DE DATOS Y ALGORITMOS Titulación: Ingeniero Técnico en Informática de Gestión Curso: 2º Nombre y apellidos: Nota:

ESTRUCTURA DE DATOS Y ALGORITMOS Titulación: Ingeniero Técnico en Informática de Gestión Curso: 2º Nombre y apellidos: Nota: Nombre y apellidos: Nota: Escribe tu nombre y apellidos en esta hoja e inmediatamente en todas las suplementarias, incluso las de sucio. El no hacerlo puede suponer tu expulsión Puedes utilizar el lápiz

Más detalles

MATRICES OPERACIONES BÁSICAS CON MATRICES

MATRICES OPERACIONES BÁSICAS CON MATRICES MATRICES OPERACIONES BÁSICAS CON MATRICES ANTECEDENTES En el año 1850, fueron introducidas por J.J. Sylvester El desarrollo inicial de la teoría se debe al matemático W.R. Hamilton en 1853. En 1858, A.

Más detalles

Examen escrito de Programación 1. Viernes 22 de enero de Problema 1 o (3.0 puntos) Problema 2 o (3.0 puntos)

Examen escrito de Programación 1. Viernes 22 de enero de Problema 1 o (3.0 puntos) Problema 2 o (3.0 puntos) Examen escrito de Programación 1. Viernes 22 de enero de 2016 Se debe disponer de un documento de identificación con fotografía sobre la mesa. Se debe comenzar a resolver cada uno de los problemas del

Más detalles

Sesión 7. Uso de listas y árboles Uso de la clase list Ejercicio: búsqueda en una lista de pares de enteros

Sesión 7. Uso de listas y árboles Uso de la clase list Ejercicio: búsqueda en una lista de pares de enteros Sesión 7 Uso de listas y árboles Continuamos con los ejercicios de uso de las clases especiales vistas en clase de teoría, en este caso las listas y los árboles binarios. Para probar las listas usamos

Más detalles

Programación Estructurada

Programación Estructurada Programación Estructurada Técnica de programación que consiste en construir programas de fácil comprensión. Es mucho más sencillo entender la codificación del programa, que se habrá hecho en diferentes

Más detalles

Estructura de Datos. Unidad V Estructuras no lineales estáticas y dinámicas. (Árboles y grafos)

Estructura de Datos. Unidad V Estructuras no lineales estáticas y dinámicas. (Árboles y grafos) Ing. En Sistemas Computacionales Estructura de Datos Unidad V Estructuras no lineales estáticas y dinámicas. (Árboles y grafos) Ing. Néstor Alejandro Carrillo López Arboles Un árbol es un conjunto finito

Más detalles

Estructuras de Datos y Algoritmos

Estructuras de Datos y Algoritmos Estructuras de Datos y Algoritmos Tema 5.1. Árboles. Árboles binarios y generales Prof. Dr. P. Javier Herrera Contenido 1. Introducción 2. Terminología 3. Árboles binarios 4. Árboles generales Tema 5.1.

Más detalles

INDICACIONES PARA LA SOLUCIÓN A ALGUNOS PROBLEMAS DE LA RELACION 6. Se usarán los siguiente predicados genéricos en todos los ejemplos

INDICACIONES PARA LA SOLUCIÓN A ALGUNOS PROBLEMAS DE LA RELACION 6. Se usarán los siguiente predicados genéricos en todos los ejemplos INDICACIONES PARA LA SOLUCIÓN A ALGUNOS PROBLEMAS DE LA RELACION 6 PINTAR UN SOBRE COLOREADO DE MAPAS MOCHILA REINAS ENCASILLADO Se usarán los siguiente predicados genéricos en todos los ejemplos miembro(x,[x

Más detalles

Matrices. José Vicente Romero Bauset. ETSIT-curso 2009/2010. José Vicente Romero Bauset Tema 1.- Matrices. 1

Matrices. José Vicente Romero Bauset. ETSIT-curso 2009/2010. José Vicente Romero Bauset Tema 1.- Matrices. 1 Matrices José Vicente Romero Bauset ETSIT-curso 2009/2010 José Vicente Romero Bauset Tema 1- Matrices 1 Introducción Por qué estudiar las matrices? Son muchas las situaciones de la vida real en las que

Más detalles

Tema 6: Funciones recursivas

Tema 6: Funciones recursivas Tema 6: Funciones recursivas Programación declarativa (2009 10) José A. Alonso Jiménez Grupo de Lógica Computacional Departamento de Ciencias de la Computación e I.A. Universidad de Sevilla Tema 6: Funciones

Más detalles

A l g o r i t m o y E s t r u c t u r a d e D a t o s Ing. en Sistemas de Información - 1º año -

A l g o r i t m o y E s t r u c t u r a d e D a t o s Ing. en Sistemas de Información - 1º año - Trabajo práctico Nº 7 (Resolución de problemas Estructura: pila y cola). Realiza el programa de cada situación problemática. 1- Cargar en una pila n letras del abecedario.(n debe ser menor a 30) 2- En

Más detalles

Árboles de Decisión Árboles de Sintaxis

Árboles de Decisión Árboles de Sintaxis Árboles de Decisión Árboles de Sintaxis Estructuras de Datos Andrea Rueda Pontificia Universidad Javeriana Departamento de Ingeniería de Sistemas Árboles de Decisión Árbol de Decisión Forma gráfica de

Más detalles

Tipos de datos algebraicos

Tipos de datos algebraicos Tipos de datos algebraicos Taller de Álgebra I Segundo cuatrimestre de 2013 Programación funcional Recordemos que un tipo de datos es un conjunto dotado con una serie de operaciones sobre los elementos

Más detalles

ESTRUCTURA DE DATOS. ABB Arboles de Búsqueda Binaria

ESTRUCTURA DE DATOS. ABB Arboles de Búsqueda Binaria ESTRUCTURA DE DATOS ABB Arboles de Búsqueda Binaria ÁRBOLES BINARIOS Hasta ahora nos hemos dedicado a estudiar TAD que de una u otra forma eran de naturaleza lineal, o unidimensional. En los tipos abstractos

Más detalles

Práctica 0: Introducción a Matlab. Matlab es un acrónimo: MATrix LABoratory

Práctica 0: Introducción a Matlab. Matlab es un acrónimo: MATrix LABoratory Práctica 0: Introducción a Matlab Matlab es un acrónimo: MATrix LABoratory Práctica 0: Introducción a Matlab Matlab es un acrónimo: MATrix LABoratory La ventana de Matlab muestra un escritorio dividido

Más detalles

Porque usar Arreglos?

Porque usar Arreglos? Arreglos Porque usar Arreglos? Se tienen las calificaciones de 100 alumnos, como sacar cuantos alumnos tienen una calificación superior al promedio? Doble lectura: Un ciclo para leer y acumular las calificaciones,

Más detalles

Contenido PARTE II: ESTRUCTURAS DE DATOS AVANZADAS

Contenido PARTE II: ESTRUCTURAS DE DATOS AVANZADAS Contenido PARTE II: ESTRUCTURAS DE DATOS AVANZADAS TEMA 4. - La Estructura de datos Árbol 4.1. Árboles, definiciones 4.2 Árboles binarios y su representación 4.3 Operaciones básicas de un árbol binario

Más detalles

5.3 Tipos de Datos en Prolog

5.3 Tipos de Datos en Prolog 5.3 Tipos de Datos en Prolog Objetos de Datos en Prolog Objetos de datos simples Objetos estructurados Calce de operaciones fundamentales sobre objetos 1 Tipos de Objetos de Datos Objetos de datos Objetos

Más detalles

5.3 Tipos de Datos en Prolog

5.3 Tipos de Datos en Prolog 5.3 Tipos de Datos en Prolog Objetos de Datos en Prolog Objetos de datos simples Objetos estructurados Calce de operaciones fundamentales sobre objetos Tipos de Objetos de Datos Objetos de datos Objetos

Más detalles