martes, 30 de septiembre de 2014

Práctica 8

Crear un programa que implemente el triángulo de Pascal de forma recursiva.

clic aqui

domingo, 28 de septiembre de 2014

Crucigrama de la terminología de árboles

La siguientes imágenes corresponden al crucigrama del tema de árboles, el cual contiene los conceptos básicos del tema.



sábado, 27 de septiembre de 2014

Cuestionario de árboles

Este cuestionario fue realizado en clase, y consistió en contestar un cuestionario de árboles.


viernes, 26 de septiembre de 2014

Actividad de árboles

En esta actividad realizada en el salón de clases, pusimos en práctica los recorridos en un árbol, y un ejercicio acerca de la teoría de conjuntos, la cual es muy utilizada en árboles y grafos.


jueves, 25 de septiembre de 2014

Árbol binario ordenado

Esta actividad consistió en crear un árbol binario ordenado a partir de una lista de números dados.


miércoles, 24 de septiembre de 2014

Práctica 9

Crear un programa en java que cumpla con los siguiente:

a) Crear un árbol binario de letras.
b) Explicar el método implementado

clic aqui

martes, 23 de septiembre de 2014

Práctica 10

Crear un árbol binario a partir de la expresión (a+b)/(c-d), e imprimir cualquiera de los tres recorridos.

clic aqui

lunes, 22 de septiembre de 2014

Práctica 11

Crear un árbol binario:

a) Los datos de cada nodo deben ser números
b) Numeración aleatoria
c) Ordenar los nodos (de forma ascendente o descendente)

clic aqui

sábado, 20 de septiembre de 2014

Presentación de grafos

Esta presentación fue realizada en equipo, y fue expuesta para el grupo. Corresponde al tema de grafos. En las diapositivas se incluyen los conceptos básicos de grafos y otros aspectos mas.

clic aqui

viernes, 19 de septiembre de 2014

Actividad: Características de un grafo

Esta actividad consistió en identificar las características y componentes de dos grafos dados.


jueves, 18 de septiembre de 2014

Actividad: Representación de grafos

Esta actividad consistió en crear la matriz de adyacencia de un grafo y la matriz de incidencia de otro. Dicha actividad fue realizada en el salón de clases.


miércoles, 17 de septiembre de 2014

Actividad: caminos de un grafo

Esta actividad fue realizada en el salón de clases e incluyó los caminos y la representación  de un par de grafos dados.




martes, 16 de septiembre de 2014

Actividad: Tipos de grafos

Esta actividad consistió en crear un cuadro sinóptico de los tipos de grafos, y fue realizada en el salón de clases.


Codificación de un grafo en java

En el siguiente enlace podrán encontrar un proyecto realizado en NetBeans IDE 7.4. Es un código muy sencillo que permite representar grafos mediante su matriz de adyacencia e incidencia. Fue realizado con arreglos así que conforma una estructura estática.

clic aqui

lunes, 15 de septiembre de 2014

IV UNIDAD. MÉTODOS DE ORDENAMIENTO Y BÚSQUEDA

Objetivo:
Clasificar técnicas para recuperación de información en dispositivos de almacenamiento primario y
secundario.
Gestionar datos de forma óptima, para facilitar su procesamiento y la toma de decisiones.

Subtemas:
4.1. Algoritmos de ordenamiento.
4.2. Métodos de búsqueda.
4.3. Recuperación de datos.

domingo, 14 de septiembre de 2014

Introducción

Las computadoras emplean una gran parte de su tiempo en operaciones de búsqueda, clasificación y mezcla de datos. Las operaciones de cálculo numérico  y sobre todo de gestión requieren normalmente operaciones de clasificación de los datos: ordenar fichas de clientes por orden alfabético, por direcciones o por código postal. Existen dos métodos de ordenación: interna (arreglos) y externa (archivos). Los arreglos se almacenan en la memoria interna o central, de acceso aleatorio y directo, y por ello su gestión es rápida. Los archivos se sitúan adecuadamente en dispositivos de almacenamiento externo que son más lentos y basados en dispositivos mecánicos.

Ordenación y, búsqueda y, en menor medida, intercalación son operaciones básicas en el campo de la documentación y en las que, según señalan las estadísticas, las computadoras emplean la mitad de su tiempo.

Métodos de ordenamiento

En las siguientes páginas podrán encontrar información acerca de las ventajas y desventajas de los algoritmos de ordenamiento.

clic aqui

clic aqui

sábado, 13 de septiembre de 2014

Búsqueda

Con mucha frecuencia, los programadores trabajan con grandes cantidades de datos almacenados en arrays y registros, por lo que será necesario determinar si un array contiene un valor que coincida con un cierto valor clave. El proceso de encontrar un elemento específico de un
array se denomina búsqueda. En esta sección se examinarán dos técnicas de búsqueda: lineal o secuencial, la técnica más sencilla, y binaria o dicotómica, la más eficiente.

Búsqueda secuencial
La búsqueda secuencial busca un elemento de una lista utilizando un valor destino llamado clave.
En una búsqueda secuencial (a veces llamada búsqueda lineal), los elementos de una lista o vector se exploran (se examinan) en secuencia, uno después de otro. La búsqueda secuencial es necesaria, por ejemplo, si se desea encontrar a la persona cuyo número de teléfono es 958-220000 en un directorio o listado telefónico de su ciudad. Los directorios de teléfonos están organizados alfabéticamente por el nombre del abonado en lugar de por números de teléfono, de modo que deben explorarse todos los números, uno después de otro, esperando encontrar el número 958-220000.
El algoritmo de búsqueda secuencial compara cada elemento del array con la clave de búsqueda. Dado que el array no está en un orden prefijado, es probable que el elemento a buscar pueda ser el primer elemento, el último elemento o cualquier otro. De promedio, al menos, el programa tendrá que comparar la clave de búsqueda con la mitad de los elementos del array. El método de búsqueda lineal funcionará bien con arrays pequeños o no ordenados.

Búsqueda binaria
La búsqueda secuencial se aplica a cualquier lista. Si la lista está ordenada, la búsqueda binaria proporciona una técnica de búsqueda mejorada. Una búsqueda binaria típica es la búsqueda de una palabra en un diccionario. Dada la palabra, se abre el libro cerca del principio, del centro o del final dependiendo de la primera letra de la palabra que busca. Se puede tener suerte y acertar con la página correcta pero, normalmente, no será así y el lector se mueve a la página anterior o posterior del libro. Por ejemplo, si la palabra comienza con "J" y se está en la "L" se mueve uno hacia atrás. El proceso continúa hasta que se encuentra la página buscada o hasta que se descubre que la palabra no está en la lista.

Una idea similar se aplica en la búsqueda en una lista ordenada. Se sitúa la lectura en el centro de la lista y se comprueba si nuestra clave coincide con el valor del elemento central. Si no se encuentra el valor de la clave, se sitúa uno en la mitad inferior o superior del elemento central de la lista. En general, si los datos de la lista están ordenados, se puede utilizar esa información para acortar el tiempo de búsqueda.

Práctica 1

En esta primera práctica elegimos un método de ordenamiento, lo analizamos y lo implementamos.
En mi caso, elegí el método de ordenación rápida (quicksort), el cual analizo, describo e implemento en java en el siguiente enlace.

clic aqui

viernes, 12 de septiembre de 2014

Práctica 2

Crear un programa que implemente el método de intercambio (Burbuja) con las siguientes características:

a) El tamaño y los elementos del vector a ordenar serán solicitados por teclado.
b) Contar con la opción de orden ascendente y descendente.
c) Implementar métodos para los requerimientos anteriores.

clic aqui

jueves, 11 de septiembre de 2014

Presentación del método de inserción