Construya una lista enlazada doblemente enlazada a partir de 2D Matrix

Dada una array 2D , la tarea es convertirla en una lista doblemente enlazada con cuatro punteros que son siguiente, anterior, arriba y abajo, cada Node de esta lista debe estar conectado a sus Nodes siguiente, anterior, arriba y abajo. . Ejemplos: Input: 2D matrix 1 2 3 4 5 6 7 8 9 Output: … Continue reading «Construya una lista enlazada doblemente enlazada a partir de 2D Matrix»

Ordene la lista vinculada en el orden de los elementos que aparecen en la array

Dada una array de tamaño N y una lista vinculada donde los elementos serán de la array pero también se pueden duplicar, ordene la lista vinculada en el orden en que los elementos aparecen en la array. Se puede suponer que la array cubre todos los elementos de la lista enlazada. arr[] =   lista =   … Continue reading «Ordene la lista vinculada en el orden de los elementos que aparecen en la array»

Rotar lista doblemente enlazada por N Nodes

Dada una lista doblemente enlazada, gire la lista enlazada en sentido contrario a las agujas del reloj por N Nodes. Aquí N es un número entero positivo dado y es más pequeño que el número de Nodes en la lista enlazada.  N = 2 Lista rotada:  Ejemplos:   Input : a b c d e N … Continue reading «Rotar lista doblemente enlazada por N Nodes»

QuickSort en una lista enlazada individualmente

QuickSort en la lista doblemente enlazada se analiza aquí . QuickSort en una lista enlazada individualmente se proporcionó como ejercicio. A continuación se muestra la implementación de C++ para el mismo. Las cosas importantes acerca de la implementación son que cambia los punteros en lugar de intercambiar datos y la complejidad del tiempo es la … Continue reading «QuickSort en una lista enlazada individualmente»

El gran problema de recursión de la lista de árboles.

Preguntado por Varun Bhatia. Pregunta: Escriba una función recursiva treeToList(Node root) que tome un árbol binario ordenado y reorganice los punteros internos para hacer una lista circular doblemente enlazada a partir de los Nodes del árbol. Los punteros «anteriores» deben almacenarse en el campo «pequeño» y los punteros «siguientes» deben almacenarse en el campo «grande». … Continue reading «El gran problema de recursión de la lista de árboles.»

Experiencia de entrevista de Paytm | Conjunto 14 (para desarrolladores sénior de Android)

Desarrollador sénior de Android Ronda de codificación: Atravesando en espiral una array Subsecuencia creciente más larga Primera ronda: encuentre la «línea más larga» de 1 en una array. Horizontales y Verticales. La array está hecha solo de 0 y 1, y se ve, por ejemplo, así: 4 4 0 1 1 1 0 1 0 … Continue reading «Experiencia de entrevista de Paytm | Conjunto 14 (para desarrolladores sénior de Android)»

Encuentra un Node modular en una lista enlazada

Dada una lista enlazada individualmente y un número k, encuentre el último Node cuyo n%k == 0, donde n es el número de Nodes en la lista. Ejemplos:  C++ // C++ program to find modular node in a linked list #include <bits/stdc++.h>   /* Linked list node */ struct Node {     int data;     Node* next; … Continue reading «Encuentra un Node modular en una lista enlazada»

Dividir una lista enlazada en torno a un valor dado y si no nos importa hacer que los elementos de la lista sean «estables»

Dada una lista enlazada y un valor x, divida una lista enlazada en torno a un valor x, de modo que todos los Nodes menores que x estén antes que todos los Nodes mayores o iguales a x. Si x está dentro de la lista, los valores de x solo necesitan estar después de los … Continue reading «Dividir una lista enlazada en torno a un valor dado y si no nos importa hacer que los elementos de la lista sean «estables»»

Lista ordenada ordenada a BST equilibrado

Dada una lista enlazada individualmente que tiene miembros de datos ordenados en orden ascendente. Construya un árbol de búsqueda binario equilibrado que tenga los mismos miembros de datos que la lista enlazada dada. Ejemplos:   Input: Linked List 1->2->3 Output: A Balanced BST 2 / \ 1 3 Input: Linked List 1->2->3->4->5->6->7 Output: A Balanced BST 4 … Continue reading «Lista ordenada ordenada a BST equilibrado»

Detectar bucle en una lista enlazada – Part 1

Dada una lista enlazada, compruebe si la lista enlazada tiene un bucle o no. El siguiente diagrama muestra una lista enlazada con un bucle.  C++ // C++ program to detect loop in a linked list #include <bits/stdc++.h> using namespace std;   /* Link list node */ struct Node {     int data;     struct Node* next; }; … Continue reading «Detectar bucle en una lista enlazada – Part 1»