Conjunto Disjunto (O Union-Find) | Conjunto 1 (Detectar ciclo en un gráfico no dirigido)

Una estructura de datos de conjunto disjunto es una estructura de datos que realiza un seguimiento de un conjunto de elementos divididos en varios subconjuntos disjuntos (que no se superponen). Un algoritmo de búsqueda de unión es un algoritmo que realiza dos operaciones útiles en una estructura de datos de este tipo: Buscar: determina en … Continue reading «Conjunto Disjunto (O Union-Find) | Conjunto 1 (Detectar ciclo en un gráfico no dirigido)»

Detectar ciclo en un gráfico dirigido usando colores

Dado un gráfico dirigido, compruebe si el gráfico contiene un ciclo o no. Su función debería devolver verdadero si el gráfico dado contiene al menos un ciclo, de lo contrario devolverá falso. Ejemplo:  C++ // A DFS based approach to find if there is a cycle // in a directed graph.  This approach strictly follows … Continue reading «Detectar ciclo en un gráfico dirigido usando colores»

Ciclo más corto en un gráfico no ponderado no dirigido

Dado un gráfico no ponderado no dirigido. La tarea es encontrar la duración del ciclo más corto en el gráfico dado. Si no existe ningún ciclo, imprima -1. Ejemplos:   Aporte:  Salida: 4  Ciclo 6 -> 1 -> 5 -> 0 -> 6 Aporte:  Salida: 3  Ciclo 6 -> 1 -> 2 -> 6  Requisitos previos: … Continue reading «Ciclo más corto en un gráfico no ponderado no dirigido»

Compruebe si los intervalos dados se pueden hacer que no se superpongan sumando/restando algunas X

Dada una array arr[] que contiene N intervalos, la tarea es verificar si los intervalos se pueden sumar o restar por X después de lo cual no hay intervalos superpuestos. Sea X cualquier número real. Ejemplos:  Entrada: arr[] = {[1, 3], [2, 4], [4, 5], [5, 6]}  Salida: SI  Explicación:  Podemos sumar X = 1000  … Continue reading «Compruebe si los intervalos dados se pueden hacer que no se superpongan sumando/restando algunas X»

Matemáticas | Conceptos básicos de la teoría de grafos – Conjunto 1

Un gráfico es una estructura de datos que está definida por dos componentes: Un Node o un vértice. Una arista E o par ordenado es una conexión entre dos Nodes u,v que se identifica por un par único (u,v). El par (u,v) está ordenado porque (u,v) no es lo mismo que (v,u) en el caso … Continue reading «Matemáticas | Conceptos básicos de la teoría de grafos – Conjunto 1»

Número de bucles de tamaño k a partir de un Node específico

Dados dos enteros positivos n, k . Considere un grafo conexo completo no dirigido de n Nodes en un grafo conexo completo. La tarea es calcular el número de formas en que uno puede comenzar desde cualquier Node y regresar visitando K Nodes. Ejemplos:   Input : n = 3, k = 3 Output : 2 … Continue reading «Número de bucles de tamaño k a partir de un Node específico»

Averigüe si es posible finalizar todas las tareas o no desde las dependencias dadas

Hay un total de n tareas que debe elegir, etiquetadas de 0 a n-1. Algunas tareas pueden tener requisitos previos, por ejemplo, para elegir la tarea 0, primero debe elegir la tarea 1, que se expresa como un par: [0, 1] Dada la cantidad total de tareas y una lista de pares de requisitos previos, … Continue reading «Averigüe si es posible finalizar todas las tareas o no desde las dependencias dadas»

Compruebe si el gráfico dado representa una topología en anillo

Dado un grafo G , la tarea es comprobar si representa una topología en anillo. Una Topología en Anillo es la que se muestra en la siguiente imagen:   Ejemplos:  Input : Graph = Output : YES Input : Graph = Output : NO Un gráfico de V vértices representa una topología en anillo si cumple … Continue reading «Compruebe si el gráfico dado representa una topología en anillo»

Matemáticas | Caminos de Euler y Hamiltonianos

Prerrequisito: fundamentos de la teoría  de grafos Ciertos problemas de grafos tienen que ver con encontrar un camino entre dos vértices de modo que cada borde se recorra exactamente una vez, o encontrar un camino entre dos vértices mientras se visita cada vértice exactamente una vez. Estos caminos son mejor conocidos como camino de Euler … Continue reading «Matemáticas | Caminos de Euler y Hamiltonianos»

Asigne direcciones a los bordes para que el gráfico dirigido permanezca acíclico

Dado un gráfico con aristas dirigidas y no dirigidas. Se da que las aristas dirigidas no forman ciclo. ¿Cómo asignar direcciones a los bordes no dirigidos para que el gráfico (con todos los bordes dirigidos) permanezca acíclico incluso después de la asignación?  Por ejemplo, en el siguiente gráfico, los bordes azules no tienen direcciones.    … Continue reading «Asigne direcciones a los bordes para que el gráfico dirigido permanezca acíclico»