Lista vinculada | Conjunto 2 (Inserción de un Node)

  Hemos introducido listas enlazadas en la publicación anterior . También creamos una lista enlazada simple con 3 Nodes y discutimos el recorrido de la lista enlazada. Todos los programas discutidos en esta publicación consideran las siguientes representaciones de lista enlazada.  C++ // A linked list node  class Node  {      public:     int data;      Node *next;  … Continue reading «Lista vinculada | Conjunto 2 (Inserción de un Node)»

Rotar lista enlazada en bloque

Dada una lista enlazada de longitud n y longitud de bloque k , gire de manera circular hacia la derecha/izquierda cada bloque por un número d . Si d es positivo, gire hacia la derecha, de lo contrario, gire hacia la izquierda. Ejemplos:  Input: 1->2->3->4->5->6->7->8->9->NULL, k = 3 d = 1 Output: 3->1->2->6->4->5->9->7->8->NULL Explanation: Here … Continue reading «Rotar lista enlazada en bloque»

QuickSort en lista doblemente enlazada

A continuación se muestra una implementación recursiva típica de QuickSort para arreglos. La implementación usa el último elemento como pivote.  C++ /* A typical recursive implementation of Quicksort for array*/    /* This function takes last element as pivot, places the pivot element at its    correct position in sorted array, and places all smaller (smaller … Continue reading «QuickSort en lista doblemente enlazada»

Cola de prioridad usando lista enlazada

Implemente la cola de prioridad usando listas enlazadas.  push(): esta función se utiliza para insertar nuevos datos en la cola. pop(): esta función elimina el elemento con la prioridad más alta de la cola. peek() / top(): esta función se usa para obtener el elemento de mayor prioridad en la cola sin eliminarlo de la … Continue reading «Cola de prioridad usando lista enlazada»

BankBazaar.com Entrevista Experiencia | Conjunto 7 (para desarrolladores sénior de Android)

Puesto: Desarrollador sénior de Android La competencia sería Tech Fit (resolución de problemas, estructuras de datos y algoritmos) Primera ronda: Ronda telefónica: 1. Clona una lista enlazada con puntero siguiente y aleatorio https://www.geeksforgeeks.org/a-linked-list-with-next-and-arbit-pointer/ 2. Tienes que diseñar una estructura de datos donde tengas una lista. Necesitas hacer 3 operaciones 1. Insertar en la posición. 2. … Continue reading «BankBazaar.com Entrevista Experiencia | Conjunto 7 (para desarrolladores sénior de Android)»

Organizar los Nodes de consonantes y vocales en una lista enlazada

Dada una lista unida, necesitamos ordenar las consonantes y los Nodes vocálicos de tal manera que todos los Nodes vocálicos estén antes que las consonantes manteniendo el orden de llegada . Ejemplos:  Input : a -> b -> c -> e -> d -> o -> x -> i Output : a -> e -> … Continue reading «Organizar los Nodes de consonantes y vocales en una lista enlazada»

Dado solo un puntero/referencia a un Node que se eliminará en una lista vinculada individualmente, ¿cómo se elimina?

Dado un puntero a un Node a eliminar, elimine el Node. Tenga en cuenta que no tenemos un puntero al Node principal. Una solución simple es recorrer la lista enlazada hasta que encuentre el Node que desea eliminar. Pero esta solución requiere un puntero al Node principal, lo que contradice el enunciado del problema. La … Continue reading «Dado solo un puntero/referencia a un Node que se eliminará en una lista vinculada individualmente, ¿cómo se elimina?»

Búsqueda binaria en una lista enlazada individualmente

Dada una lista enlazada individualmente y una clave, encuentre la clave utilizando un enfoque de búsqueda binaria . Para realizar una búsqueda binaria basada en el algoritmo Divide and Conquer, es importante determinar el elemento central. La búsqueda binaria suele ser rápida y eficiente para arrays porque acceder al índice medio entre dos índices dados es … Continue reading «Búsqueda binaria en una lista enlazada individualmente»

Eliminar el Node N del final de la lista enlazada

Dada una lista enlazada. La tarea es eliminar el Node N del final de la lista enlazada. Ejemplos:   Entrada: 1->2->3->4->5, N = 2  Salida: 1->2->3->5 Entrada: 7->8->4->3->2, N = 1  Salida: 7->8->4->3   Requisitos previos:  1. Eliminar un Node de la lista vinculada. 2. Encuentre el Node n desde el final de la lista enlazada Enfoque:  Eliminar … Continue reading «Eliminar el Node N del final de la lista enlazada»

Programa para implementar la lista enlazada individualmente en C++ usando la clase

La lista enlazada almacena datos en almacenamiento secuencial, como arrays . Aunque los datos se almacenan secuencialmente, las ubicaciones de memoria no son contiguas. A diferencia de una array, la lista vinculada puede almacenar datos de diferentes tipos de datos. El siguiente diagrama representa la estructura de lista enlazada.  En C++, la lista enlazada se … Continue reading «Programa para implementar la lista enlazada individualmente en C++ usando la clase»