Por favor, use este identificador para citar o enlazar este ítem:
http://bibdigital.epn.edu.ec/handle/15000/23169
Título: | Implementación del problema de encontrar todas las intersecciones de N rectas horizontales y verticales: mplementación de estructuras en C++. |
Autor: | Pionce Gallardo, Luis Enrique |
Palabras clave: | ALGORITMO TEORÍA COMPUTACIONAL ESTRUCTURA DE DATOS LENGUAJE DE PROGRAMACIÓN ÁRBOL BINARIO |
Fecha de publicación: | oct-2022 |
Editorial: | Quito : EPN, 2022. |
Citación: | Pionce Gallardo, L.E.(2022). Implementación del problema de encontrar todas las intersecciones de N rectas horizontales y verticales: Implementación de estructuras en C++. 46 páginas. Quito : EPN. |
Resumen: | In this work, an algorithm proposed by Jon L. Bentley and Thomas A. Ottmann (1979) was implemented with the aim of finding and reporting all the intersections of a set of vertical and horizontal line segments. It began by defining elements of the computational theory; then, the data structures used in the algorithm were defined. The algorithm was implemented in C++ programming language. In the development of the algorithm, two variants of the same algorithm were carried out. Each variant corresponds to a data structure used to store the segments, first a binary search tree was used and then a self-balancing binary search tree. The latter improve algorithm performance. To implement the developed algorithms, the instances were built simulating random line segments. A brute force algorithm was also implemented. Finally, different instances were executed, testing the algorithms and comparing them in terms of efficiency. |
Descripción: | En el presente trabajo de integración curricular se implementó un algoritmo propuesto por Jon L. Bentley y Thomas A. Ottmann (1979), para encontrar y reportar todas las intersecciones de un conjunto de segmentos de recta verticales y horizontales. Se comenzó definiendo ciertos elementos de la teoría computacional, además se definieron las estructuras de datos que fueron utilizadas en el algoritmo. El algoritmo fue implementado en el lenguaje de programación C++. En el desarrollo del algoritmo se realizaron dos variantes del mismo algoritmo, cuya variante consiste en la estructura de datos para almacenar los segmentos, primero se utilizó un árbol binario de búsqueda y luego un árbol binario de búsqueda auto-balanceado, este último permite mejorar los tiempos de ejecución del algoritmo. Para poner en ejecución los algoritmos desarrollados, se construyeron las instancias simulando segmentos de recta aleatorios. También se implementó un algoritmo de fuerza bruta. Finalmente, se ejecutaron distintas instancias, poniendo a prueba los algoritmos y comparándolos en términos de eficiencia. |
URI: | http://bibdigital.epn.edu.ec/handle/15000/23169 |
Tipo: | bachelorThesis |
Aparece en las colecciones: | TIC - Ingeniería Matemática |
Ficheros en este ítem:
Fichero | Descripción | Tamaño | Formato | |
---|---|---|---|---|
CD 12593.pdf | 1,32 MB | Adobe PDF | Visualizar/Abrir |
Los ítems de DSpace están protegidos por copyright, con todos los derechos reservados, a menos que se indique lo contrario.