Prefijo común más largo usando Trie

Dado un conjunto de strings, encuentre el prefijo común más largo. Input : {“geeksforgeeks”, “geeks”, “geek”, “geezer”} Output : «gee» Input : {«apple», «ape», «april»} Output : «ap» Enfoques anteriores: Coincidencia palabra por palabra , Coincidencia carácter por carácter , Divide y vencerás , Búsqueda binaria . En este artículo, se analiza un enfoque que … Continue reading «Prefijo común más largo usando Trie»

Implementar un Directorio Telefónico

Dada una lista de contactos que existen en un directorio telefónico. La tarea es implementar la consulta de búsqueda para el directorio telefónico. La consulta de búsqueda en una string ‘ str ‘ muestra todos los contactos que tienen el prefijo ‘ str ‘. Una propiedad especial de la función de búsqueda es que, cuando … Continue reading «Implementar un Directorio Telefónico»

Salto de palabra mínimo

Dada una string s, rompa s de manera que cada substring de la partición se pueda encontrar en el diccionario. Devolver el descanso mínimo necesario.  Ejemplos:  Given a dictionary [«Cat», «Mat», «Ca», «tM», «at», «C», «Dog», «og», «Do»] Input : Pattern «CatMat» Output : 1 Explanation: we can break the sentences in three ways, as … Continue reading «Salto de palabra mínimo»

Insertar operación en B-Tree

  En la publicación anterior , presentamos B-Tree. También discutimos las funciones de búsqueda() y poligonal(). En esta publicación, se analiza la operación insert(). Siempre se inserta una nueva clave en el Node hoja. Sea k la llave a insertar. Al igual que BST, comenzamos desde la raíz y avanzamos hacia abajo hasta llegar a un … Continue reading «Insertar operación en B-Tree»

Consultas de rango para contar 1 en un subarreglo después de las operaciones de volteo

Dada una array ‘arr’, cuyos números se inicializan en ‘0’, la array se puede actualizar en cualquier momento de la siguiente manera:  Todos los elementos de cualquier sub-array de la array se pueden voltear, es decir, ‘1’ = > ‘0’ o ‘0’ => ‘1’. La tarea es encontrar el número de 1 de la array para … Continue reading «Consultas de rango para contar 1 en un subarreglo después de las operaciones de volteo»

Isomorfismo en árboles N-arios

Dados dos árboles N-arios que tienen M Nodes cada uno. También, dadas sus aristas y sus raíces respectivamente. La tarea es comprobar si son árboles isomorfos o no. Si ambos árboles son isomorfos, imprima «Sí» , de lo contrario, imprima «No» . Ejemplos:   Entrada: M = 9, Node raíz del árbol-1: 1, Node raíz del … Continue reading «Isomorfismo en árboles N-arios»

Prefijo común más largo usando Trie – Part 1

Dado un conjunto de strings, encuentre el prefijo común más largo. Input : {“geeksforgeeks”, “geeks”, “geek”, “geezer”} Output : «gee» Input : {«apple», «ape», «april»} Output : «ap» Enfoques anteriores: Coincidencia palabra por palabra , Coincidencia carácter por carácter , Divide y vencerás , Búsqueda binaria . En este artículo, se analiza un enfoque que … Continue reading «Prefijo común más largo usando Trie – Part 1»

Cuente la cantidad de palabras con el prefijo dado usando Trie

Prerrequisito: Trie  Dada una lista de strings str[] y una string de prefijos pre . La tarea es contar el número de palabras en la lista de strings con el prefijo dado usando trie . Ejemplos:  Entrada: str = [ “apk”, “app”, “apple”, “arp”, “array” ], pre = “ap”  Salida: 3  Explicación:  A continuación se … Continue reading «Cuente la cantidad de palabras con el prefijo dado usando Trie»

Programa para asignar nombres de usuario usando Trie

Suponga que hay una cola de n usuarios y su tarea es asignarles un nombre de usuario. El sistema funciona de la siguiente manera. Cada usuario tiene un inicio de sesión preferido en forma de una string ‘s’ que consiste solo en letras minúsculas y números. El nombre de usuario se asigna en el siguiente … Continue reading «Programa para asignar nombres de usuario usando Trie»

Contar inversiones en una array | Conjunto 4 (Usando Trie)

El conteo de inversión para una array indica qué tan lejos (o cerca) está la array de ser ordenada. Si la array ya está ordenada, el recuento de inversión es 0. Si la array está ordenada en orden inverso, el recuento de inversión es el máximo.  Dos elementos a[i] y a[j] forman una inversión si … Continue reading «Contar inversiones en una array | Conjunto 4 (Usando Trie)»