Eliminar operación en B-Tree – Part 1

Se recomienda hacer referencia a las siguientes publicaciones como requisito previo para esta publicación. Árbol B | Juego 1 (Introducción)  B-Tree | Conjunto 2 (Insertar) B-Tree es un tipo de árbol de búsqueda multidireccional. Por lo tanto, si no está familiarizado con los árboles de búsqueda multidireccional en general, es mejor que eche un vistazo … Continue reading «Eliminar operación en B-Tree – Part 1»

Árbol de torneos (Árbol de ganadores) y Montón binario

Dado un equipo de N jugadores. ¿Cuántos juegos mínimos se requieren para encontrar al segundo mejor jugador?   Podemos usar argumentos adversarios basados ​​en el árbol del torneo (montón binario). Un árbol de torneo es una forma de montón mínimo (máximo) que es un árbol binario completo. Cada Node externo representa a un jugador y … Continue reading «Árbol de torneos (Árbol de ganadores) y Montón binario»

Estructuras de datos de conjuntos disjuntos – Part 1

Considere una situación con varias personas y las siguientes tareas que deben realizarse en ellas.  Agregue una nueva relación de amistad, es decir, una persona x se vuelve amiga de otra persona y. Averigüe si el individuo x es amigo del individuo y (amigo directo o indirecto) Ejemplo:   We are given 10 individuals say, a, … Continue reading «Estructuras de datos de conjuntos disjuntos – Part 1»

Encontrar la ruta más corta entre dos Nodes cualquiera usando el algoritmo de Floyd Warshall

Dado un gráfico y dos Nodes uyv , la tarea es imprimir el camino más corto entre uyv usando el algoritmo de Floyd Warshall . Ejemplos: Entrada: u = 1, v = 3   Salida: 1 -> 2 -> 3  Explicación:  El camino más corto de 1 a 3 es a través del vértice 2 con … Continue reading «Encontrar la ruta más corta entre dos Nodes cualquiera usando el algoritmo de Floyd Warshall»

Árbol de boas Proto Van Emde | Conjunto 6 | Consulta: sucesor y predecesor

Consulte primero todos los artículos anteriores sobre Proto Van Emde Boas Tree. Procedimiento de consulta sucesor:   Caso base: para Proto-VEB de tamaño 2, la única posibilidad es que la clave sea 0 y si la siguiente clave está presente, entonces es su sucesora o no hay sucesora. Entonces se aplica el mismo procedimiento. Recursividad:  Primero, … Continue reading «Árbol de boas Proto Van Emde | Conjunto 6 | Consulta: sucesor y predecesor»

Compruebe si la string de palabras dada se puede formar a partir de palabras presentes en el diccionario

Dada una array de strings de M palabras y un diccionario de N palabras. La tarea es verificar si la string de palabras dada se puede formar a partir de palabras presentes en el diccionario.  Ejemplos: dict[] = { find, a, geeks, all, for, on, geeks, answers, inter }  Input: str[] = { “buscar”, “todos”, … Continue reading «Compruebe si la string de palabras dada se puede formar a partir de palabras presentes en el diccionario»

Inserción en un Trie recursivamente

Trie es una estructura de datos de recuperación de información eficiente. Con Trie, las complejidades de búsqueda se pueden llevar a un límite óptimo (longitud de clave). Dadas múltiples strings. La tarea es insertar la string en un Trie usando recursividad. Ejemplos:   Input : str = {«cat», «there», «caller», «their», «calling»} Output : caller calling cat … Continue reading «Inserción en un Trie recursivamente»

Buscar en un trie Recursivamente

Trie es una estructura de datos de recuperación de información eficiente. Con Trie, las complejidades de búsqueda se pueden llevar a un límite óptimo (longitud de clave). La tarea es buscar una string en un Trie usando recursividad. Ejemplos:   root / \ t a | | h n | | \ e s y / … Continue reading «Buscar en un trie Recursivamente»

Consultas de rango de array para elementos con la misma frecuencia que el valor

Dada una array de N números, la tarea es responder Q consultas del siguiente tipo:  query(start, end) = Number of times a number x occurs exactly x times in a subarray from start to end Ejemplos:   Entrada: arr = {1, 2, 2, 3, 3, 3}  Consulta 1: inicio = 0, final = 1,  Consulta 2: … Continue reading «Consultas de rango de array para elementos con la misma frecuencia que el valor»

Lista enlazada desenrollada | Serie 1 (Introducción)

Al igual que la array y la lista enlazada, la lista enlazada desenrollada también es una estructura de datos lineal y es una variante de una lista enlazada.  ¿Por qué necesitamos una lista enlazada desenrollada? Una de las mayores ventajas de las listas enlazadas sobre los arreglos es que insertar un elemento en cualquier ubicación … Continue reading «Lista enlazada desenrollada | Serie 1 (Introducción)»