Practica 11 Metodos de Ordenamiento

Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 16

INSTITUTO TECNOLÓGICO SUPERIOR DE ÁLAMO TEMAPACHE

Carrera: Ingeniería en Sistemas Computacionales Unidad: 4 Materia: Estructuras de Datos


Docente: Ing. Cynthia Bernabe Pacheco______________________Calificación:__________________________________________
Practica 11. Métodos de Ordenamiento
Nombre del Alumno(a): Hanna Magaly Martínez González, Luisa Daniela Quiroz Ponce, Italy Alexandra Arano Montes, Víctor Manuel Cárdenas Flores.
Ciclo Escolar: Agosto 2023 – Enero 2024 Semestre: 301 Grupo: A Fecha: 27/Noviembre/ 2023

Competencias
✓ Que el alumno pueda identificar los tipos de estructuras no lineales y aplicar su estructura
a soluciones reales, y establecer sus ventajas y desventajas con respecto a las estructuras
lineales.
✓ El alumno comprenderá y aplicara los conceptos de los recorridos en árboles binarios en un
programa que genere los recorridos

Introducción
Una de las estructuras de datos más importantes en programación es el árbol. Pueden usarse los árboles para
representar la información en una estructura jerárquica. Los árboles pueden procesarse en forma recursiva y
son muy adaptables a pruebas matemáticas. El estudio de árboles ilustra las conexiones entre varios temas
de la matemática discreta y ofrece oportunidades para aprovechar la matemática formal en la programación
práctica.
La idea de estructura jerárquica es muy usada en la práctica. Por ejemplo, los libros son a menudo organizados
como una sucesión de capítulos cada uno de los cuales son una sucesión de secciones que puede tener
subdivisiones, y así sucesivamente.
Es una estructura jerárquica aplicada sobre una colección de elementos u objetos llamados nodos; uno de los
cuales es conocido como raíz.
•Un árbol de tipo T como una estructura homogénea, que es la concatenación de un elemento tipo T junto
con un número finito de árboles disjuntos, llamados subárboles

Algunas Características y propiedades de los arboles

•Todo árbol que no esté vacío, tiene un nodo único raíz


•Si un nodo X es apuntado por el nodo Y. Se dice que X es hijo de Y
•X es antecesor de Y si el nodo X apunta al nodo Y. X es padre de Y
•Todos los nodos que son descendientes directos (hijos) de un mismo nodo (padre), son hermanos.
•Si un nodo no tiene ramificaciones (hijos), se conoce con el nombre de terminal u hoja
•Todo nodo que no es raíz, ni hoja se conoce como nodo interior.
•Grado es el número de descendientes directos de un nodo, grado de un árbol es el máximo grado de todos
los nodos del árbol
•Nivel es el número de arcos que deben recorrerse para llegar a un nodo. Raíz tiene nivel 1
•Altura del árbol es el máximo número de niveles de todos los nodos del árbol.
Fundamentación
Los árboles son las estructuras de datos no lineales y dinámicas de datos más importantes del
área de computación. Dinámicas, puesto que las mismas pueden cambiar tanto de forma como de
tamaño durante la ejecución del programa. No lineales, puesto que cada elemento del árbol puede
tener más de un sucesor. Los árboles balanceados o AVL son la estructura de datos más eficiente
para trabajar con la memoria principal —interna— del procesador, mientras que los árboles B y,
especialmente la versión B+, representan la estructura de datos más eficiente para trabajar en
memoria secundaria o externa.

Materiales y Equipo
✓ Guía de apuntes de Estructuras de Datos
✓ Computadora Personal
✓ Entorno de Desarrollo Netbeans x.0

Métodología
Paso 1: En el caso de los Arboles Binario, establecer una clase que represente los arboles binarios
en memoria a partir de lo siguiente.

Paso 2: Los nodos del árbol binario serán representados como registros, que contendrán como
mínimo tres campos.
Paso 3: En un campo se almacenará la información del nodo.
Paso 4: Los dos restantes se utilizarán para apuntar los subárboles izquierdo y derecho
respectivamente del nodo en cuestión, donde:

a) IZQ: almacena la dirección del subárbol izquierdo del nodo T.


b) INFO: campo donde se almacena la información de interés del nodo.
c) DER: campo donde se almacena la dirección del subárbol derecho del nodo T.

Paso 5: En el caso de la construcción de una Grafica dirigida, establecer una clase que lo
represente en memoria a partir de lo siguiente.

Paso 6: esta podrá ser presentada mediante una lista de adyacencia, lo que hará será guardar por
cada nodo, la información que pueda contener el propio nodo.

Paso 7: una lista dinámica con los nodos a los que se puede acceder desde él.

Paso 8: La información de los nodos se puede guardar en un vector, al igual que antes, o en otra
lista dinámica.
Ejercicios propuestos
1. Establecer una clase que cree una árbol binario en memoria.

2. Recorrer el Árbol Binario en Pre orden.


3. Recorrer el Árbol Binario en In orden.

4. Recorrer el Árbol Binario en Post orden.


5. Realizar una clase denominada Dijkstra que encuentre la distancia mínima entre un vértice
origen y cada uno de los otros vértices de una gráfica dirigida.

Preguntas
A. Se pueden representar los nodos de un grafo como un conjunto de elementos
Verdadero Falso
B. Se pueden representar los arcos de un grafo como un conjunto de tuplas
Verdadero Falso
C. Los grafos dirigidos también se conocen como dígrafos:
Verdadero Falso
D. El juego del cubo de Rubik puede representarse mediante grafos
Verdadero Falso
E. El algoritmo del camino mínimo en algunos casos analiza nodos que previamente
fueron analizados.
Verdadero Falso
Resultados

CLASE ALGORITMOS DE ORDENAMIENTO


CLASE PRINCIPAL ORDENAMIENTO
EJECUCION
LIGA PARA LA DOCUMENTACION EN LA API DE JAVA

file:///C:/Users/pp/Documents/NetBeansProjects/Practica11Metod
os_Ordenamiento/dist/javadoc/index.html

Conclusiones
En la presente práctica 11 realizada en NetBeans sobre métodos de ordenamiento, hemos
experimentado como equipo un enriquecedor proceso de aprendizaje. La implementación
de diversos algoritmos, como el de la Burbuja, Inserción, shell, Quick Sort, entre otros, ha
proporcionado una comprensión profunda de los fundamentos de la ciencia de la
computación y la eficiencia algorítmica. La capacidad de manipular arreglos y entender
cómo cada método aborda la tarea de organizar datos ha fortalecido nuestras habilidades
de programación.

Además, la práctica no solo se centró en la lógica algorítmica, sino también en la integración


de estos algoritmos en un entorno interactivo mediante la interfaz gráfica proporcionada por
JOptionPane. Esta combinación de lógica y presentación gráfica nos ha permitido visualizar
el impacto y la eficiencia de cada algoritmo de manera más clara.

Al enfrentarnos a desafíos como la inicialización de arreglos aleatorios, la intercalación de


arreglos y la implementación de múltiples algoritmos en un solo programa, ha mejorado
nuestra capacidad para abordar problemas complejos y diseñar soluciones estructuradas.
La capacidad de seleccionar entre diferentes métodos de ordenamiento y observar cómo
cada uno opera en tiempo real ha contribuido significativamente a nuestra comprensión
práctica de estos algoritmos.

Para concluir, podemos decir que esta práctica no solo ha fortalecido nuestras habilidades
de programación y comprensión algorítmica, sino que también nos ha brindado una
experiencia valiosa para aplicar estos conocimientos en situaciones prácticas. Estamos
mejor equipados para abordar problemas de clasificación y optimización en futuros
proyectos, lo que mejora nuestra confianza y preparación como estudiantes de la materia
Estructura De Datos.
Referencias Bibliográficas

Firma, Fecha y Observaciones del Profesor _______________

También podría gustarte