Тёмный

Estructuras de datos - 4. Listas enlazadas en Java (COMPLETO) 

makigas: aprende programación
Подписаться 90 тыс.
Просмотров 114 тыс.
50% 1

Опубликовано:

 

28 сен 2024

Поделиться:

Ссылка:

Скачать:

Готовим ссылку...

Добавить в:

Мой плейлист
Посмотреть позже
Комментарии : 119   
@robertorodriguez-net
@robertorodriguez-net 8 лет назад
Genial. Da gusto ver un tutorial en que el autor no dude al mostrar el trabajo. Eres rápido y claro, así da gusto. Muchas gracias por los vídeos.
@Nahueel98
@Nahueel98 7 лет назад
Buenas explicaciones del tema pero considero que se llevan a cabo con demasiada velocidad, prácticamente sin pausas entre método y método. Además, en ningún momento se ejecuta el código con ejemplos para reforzar la explicación y facilitar el aprendizaje. Buen trabajo, y gracias por subir este tipo de contenido!
@videosyoutube718
@videosyoutube718 9 лет назад
explicas rápido y conciso, me encantan estos vídeos, espero con ansia estructuras más complejas.
@dariorestrepo3494
@dariorestrepo3494 7 лет назад
Sera mi falta de concentración porque todos entienden, pero entre el primero y el ultimo, mi cabeza vale Null, ahora soy el nuevo ultimo.
@roniaswillgames1410
@roniaswillgames1410 3 года назад
bro i am lost too, you aren't alone in the box
@jorgeatempa
@jorgeatempa 8 лет назад
Te felicito explicas de una manera excepcional. Hoy descubrí este canal y estoy muy contento de haberme suscrito por que me doy cuenta que tienes contenido de calidad. Nuevamente felicidades por estos tutoriales !
@maxvidartevega646
@maxvidartevega646 3 года назад
Amigo GRACIAS. Estuve horas... abstraer estas cosas, al principio te rompes la cabeza pero luego quedan. Sigue así una joya tus videos, de paso me ayudaron a comprender el libro de Joyanes.
@brendamartinez8781
@brendamartinez8781 3 года назад
Muy buena la explicación, super rápido y conciso. Serviría mucho mucho de guía también que, hubiera un repositorio con los ejemplos. Gracias!
@sofiavaras5395
@sofiavaras5395 3 года назад
Muchas gracias me sirvió mucho tu video, fue muy difícil encontrar un contenido tan completo
@allanromero5502
@allanromero5502 8 лет назад
Deberías mostrar el Main para que sea mas completo el vídeo. Los demás esta excelente.
@josegarcia-lj4eq
@josegarcia-lj4eq 4 года назад
Pienso igual que Allan, a ver si por favor puedes enseñarnos el Main Daniel la verdad es que facilitaría las cosas. Por otra parte felicitarte por esta serie tan buena de Estructuras de Datos. Un saludo
@Epycmonster
@Epycmonster 4 года назад
Lo veo necesario porque si ejecuto este código en mi pc, falta enlazarlo al main
@gustavoteleguario
@gustavoteleguario 8 лет назад
oye quiero felicitarte me gusta mucho tu explicacion :) y me ha ayudado demasiado a entender mejor las listas enlazadas ..
@junner13
@junner13 2 года назад
Excelente video explicativo me sirvio mucho, pero sugiero para el que este aprendiendo que trate de entenderlo mediante graficos, osea en un cuaderno ir representando situaciones de agregacion o eliminacion de nodos, asi se hace muchisimo mas facil entender como se conectan los nodos de la lista.
@isaakix5228
@isaakix5228 2 года назад
exacto espero lo considere hehe
@jmontero_27
@jmontero_27 Год назад
Una explicación perfecta, muchas gracias.
@yonatangarciagalan7201
@yonatangarciagalan7201 3 года назад
Fascinante, entendible y conciso 💯
5 лет назад
Muchas gracias, me ayudaste bastante
@jumpering1
@jumpering1 4 года назад
Muy buenos los videos, muchas gracias y mucha suerte!
@alexandermunozguale2242
@alexandermunozguale2242 2 года назад
Que locura Increible video.
@Carloshdv
@Carloshdv Год назад
Entendí el vídeo muy bien, lo que no le entiendi a mi profe de la uni ,muchas gracias... Pero lo que no entiendo aún es, Para que se usa esto? Es decir, cómo se aplica esto en el desarrollo de un software, programa o app?
@makigas
@makigas Год назад
La parte de programación hoy día vale para poco más que para sacar adelante una prueba técnica y que te contraten. Salvo lugares especializados, normalmente hoy día se tira del propio lenguaje o de su biblioteca estándar, que ya traen las estructuras hechas, aunque hay que saber juzgar y ver si toca usar una lista, una cola, una pila…
@Carloshdv
@Carloshdv Год назад
@@makigas ahh entiendo 👌🏻👍🏻, muchas gracias 😊
@brahianstivengarciatorres9632
@brahianstivengarciatorres9632 4 года назад
No entiendo un carajo y eso me encanta :v, ahora tengo con que echar cabeza mientras viaje hasta que lo entienda xD
@emanuelh.a8492
@emanuelh.a8492 4 года назад
Nice.. Quedó trukulentah tu explicación..
@alienpuppy
@alienpuppy 7 лет назад
Tengo una pregunta, es necesario crea un objeto puntero cada vez que se va a usar en un metodo?
@JuanHernandez-hw6bx
@JuanHernandez-hw6bx 3 года назад
¿Porqué los nodos que insertas en la lista siguen existiendo a pesar de que las declaras adentro de distintos métodos?
@henrymonteroparedes2765
@henrymonteroparedes2765 5 лет назад
MUY BUENO LA CLASE
@LyricsSubtitulos
@LyricsSubtitulos 3 года назад
11:42 ahi no es mas sencillo poner en la condicion "si longitud es igual a 1" en lugar de "si cabeza.siguiente es igual a null"??
@fernandofernandez8140
@fernandofernandez8140 7 лет назад
Hola, una pregunta. Cuando creas un nuevo objeto de tipo nodo. Éste reconoce que es diferente a los demás por la información contenida a pesar que todos los Objetos(nodo) tiene el mismo nombre? Imagino que así es, pero por qué?. Saludos. y Excelente video.
@makigas
@makigas 7 лет назад
En el caso de Java reconoce que es distinto a los demás por el Object.hashCode, si es a eso a lo que te refieres.
@fernandofernandez8140
@fernandofernandez8140 7 лет назад
Tengo entendido que cuando creas un nodo estas creando un nuevo objeto en una dirección de memoria, también que cuando se crea un nodo u objeto dentro de un método no hay problemas, pero cuando se crea un nodo u objeto fuera de los métodos ocurre un error. ¿Estoy en lo correcto? y entonces, ¿ésto se debe por el Object.hashCode? Saludos y gracias por responder.
@willianpontes5517
@willianpontes5517 6 лет назад
Que aulas maravilhosas queria aulas assim em português.
@imdanielreyes
@imdanielreyes 2 года назад
y como agrego elemento a esa lista?
@daniloortiz7530
@daniloortiz7530 3 года назад
Muy buena la teoría pero también falta q lo corras y ver los resultados
@dealvin
@dealvin 4 года назад
casi vole, lo haces muy rapido, quisiera tener esa velocidad :'). Aunque al menos me salio, pero muy lento .....
@kevinnakandakare2300
@kevinnakandakare2300 5 лет назад
Esto sirve para el desarrollo web? o no tiene nada que ver?
5 лет назад
Son estructura de datos, lo puedes aplicar en lo que sea, pero para eso existen los métodos push y pop xd
@kevinjaimes7635
@kevinjaimes7635 2 года назад
y el el main ?
@JuanJose-ce4hs
@JuanJose-ce4hs 3 года назад
Alguien tiene el Main para que me lo pueda pasar por fa? Grax
@nicodominguez6081
@nicodominguez6081 5 лет назад
y pensar que vi hace un año un tuto de lib gdx tuyo xd
@adelpozoman
@adelpozoman 3 года назад
si apruebo eped madre mía
@ssmatiuri
@ssmatiuri 9 лет назад
Pensé que ibas a usar genéricos para hacer la Lista, porque la clase Libro es totalmente inútil en el ejemplo y porque Java soporta genéricos.
@dicren
@dicren 9 лет назад
Estoy con Matías, hubiese sido más útil explicarlo en C o usar las listas nativas.
@makigas
@makigas 9 лет назад
Está explicado en C en el capítulo anterior, precisamente. Usar listas nativas en la vida real está bien, pero precisamente la gracia de este vídeo está en explicar cómo construir una lista de cero, no usar la que te da Java. Por otro lado, sí, se puede hacer con genéricos si se cambia "Libro" por "T" y "class Lista" por "class Lista". Punto. Eso no es lo importante, es la implementación de esos métodos.
@melchiah6603
@melchiah6603 5 лет назад
En mi humilde e ignorante opinión, no tiene sentido hacer estructuras de datos en java. Los de c están geniales.
@osvaldoleiva678
@osvaldoleiva678 4 года назад
pues si tiene sentido ejemplo: yo no se C pero si Java y quiero estudiar estructuras me dices que tengo que aprenderme C? yo no lo veo asi, es mejor tener en ambos lenguajes
@Ricardo-zk8zr
@Ricardo-zk8zr 3 года назад
Porque es mejor en C?
@mikes0703
@mikes0703 6 месяцев назад
Gracias por las Clases muy entendibles Aprendo mas contigo que en LA universidad. Infinitas gracias
@eduardocruz9505
@eduardocruz9505 3 года назад
Encontre un detalle a la hora de insertar un nodo en la posicion 1. Lo que hago es lo siguiente: InsertarAlInicio(Libro1) insertarAlFinal(Libro2) insertarEnPosicion(0, Libro 4) insertarEnPosicion(1, Libro3) Resulta que el algoritmo, al entrar en el while() el puntero en automatico se posiciona en 1 porque contador=0 y 0
@eduardocruz9505
@eduardocruz9505 3 года назад
A quien le pueda servir. Hice un repositorio con este ejemplo pero agregando algunos detalles que se omitieron en el video aparte del mencionado en mi comentario anterior (tiene muchos otros detalles que se pasan por alto). github.com/eduardoxcruz/Java_DataStructures/blob/master/src/com/eduardo/linkedlist/BookList.java
@leninsoto1756
@leninsoto1756 3 года назад
Main public static void main(String[] args) { Lista2 lista=new Lista2(); lista.insertarPrincipio(2); lista.insertarPrincipio(1); lista.insertarFinal(3); lista.insertarPrincipio(4); lista.imprimir(); } La idea con la que esta hecho el vidEo seria enviarle un libro ,yo no me complique y lo combie por un entero.
@marcon7580
@marcon7580 2 года назад
Como pusiste el metodo imprimir?
@juansabinotorresmariaca3433
@juansabinotorresmariaca3433 3 года назад
mport java.util.*; public class operaciones_con_listas_simp_enlazadas{ public static void main (String[] args) { Lista lista = new Lista(); Scanner s = new Scanner(System.in); String titulo = s.nextLine(); String autor = s.nextLine(); String isbn = s.nextLine(); Libro libro = new Libro(titulo,autor,isbn); lista.InsertarFinal(libro); System.out.println(""+lista.obtener().getTitulo()); titulo = s.nextLine(); autor = s.nextLine(); isbn = s.nextLine(); Libro libro2 = new Libro(titulo,autor,isbn); lista.InsertarFinal(libro); System.out.println(""+lista.obtener().getTitulo()); } } hi un intento de comoo meter los datos desde el main y nunca salio y me guie con mas tutoriales de ese canal
@juansabinotorresmariaca3433
@juansabinotorresmariaca3433 3 года назад
si alguien lo puede crregir estaria gradecido
@putinninovacuna8976
@putinninovacuna8976 5 лет назад
no entiendo de qué me sirve esto? si ya existen map, list, array, hasmap con key etc. Qué sentido tiene aprender esto si ya existen soluciones no entiendo el porqué nos dan esto en las universidades
@makigas
@makigas 5 лет назад
Es un poco como el dilema de "por qué debo aprender matemáticas si la calculadora las sabe hacer por mi". No siempre van a estar esas estructuras en la stdlib del lenguaje, si es que tiene stdlib el lenguaje que estás usando. Es la diferencia entre la Ciencia de la Computación y simplemente programar a secas. (Que no quiere decir que no esté secretamente un poco de acuerdo contigo)
@Villandroid
@Villandroid 5 лет назад
Si se quiere dar solución a un problema del mundo real se necesita modelar, hacer o conocer como funcionan este tipo de estructuras te facilita ese paso
@jalf0007
@jalf0007 4 года назад
No hay duda que eres bueno, pero si estamos viendo este tutorial es porque somos principiantes, por lo menos la mayoría de nosotros. Vas demasiado rápido...
@osvaldoleiva678
@osvaldoleiva678 4 года назад
A mi igual me cuesta pero esta bien explicado, lo que yo hago es pausar el video ejemplo en la explicacion de insertar nodo al final, pienso en la teoria o sea que es lo que quiero lograr con eso con esa funcion insertarFinal() luego con mi cuaderno grafico hago una lista de 3 nodos y voy haciendo dibujos de lo que esta pasando en el codigo, no se si me explique bien pero creo que ver todo el video sin poner pausa y esperar entender a la primera es una error que cometemos siempre yo en este video me demore como una hora en llegar a la mitad, suerte ojala que alguien le sirva
@Maverick-gc3mp
@Maverick-gc3mp 8 лет назад
a mi me dejo duda por el cual no corres el programa para verificar como debe de funcionar... y otra dudas mas
5 лет назад
Porque no lo probas vos mismo?
@cristianalonsohernandezzav594
@cristianalonsohernandezzav594 4 года назад
Yo lo probé y el programa no hace nada porque no hay Main
@Jessica_Azcona
@Jessica_Azcona 5 лет назад
¿Qué va en el Main?
@adriangaravito8028
@adriangaravito8028 8 лет назад
Interesante ejercicio, pero debiste correrlo porque en teoría no se ve ningun error pero es mejor asegurarse de que corra, voy a realizarlo y te comento gracias por el aporte.
@allbluez8054
@allbluez8054 4 года назад
Tremendo Amigo! Sos muy grosso Makigas!! Te felicito y te agradezco. No osbtante... Mientras venía siguiendo tu video y escribiendo el código a la par tuya, yo iba restando siempre 1 a n, aún cuando tú no lo hacías; esto debido a que yo interpretaba que si, por ejemplo, n=5, y contador empieza desde 0 (o sea, primer elemento, contador = 0), entonces para detener el puntero en el 4to elemento, debo hacerlo cuando contador = 3 (n-1). Del mismo modo, si quiero pararme en el nodo anterior al nodo objetivo (por ejemplo, para borrar un nodo intermedio), debo pararme en n-2, no en n-1. En el minuto 15:18 del video, parece confirmarse mi teoría, quedando comprobado que el tratamiento que le estabas dando al valor "n" es el equivocado. Si estoy equivocado, por favor, házmelo saber. Abrazo y 1.000.000 de gracias por tus clases, que son simplemente MA-GIS-TRA-LES!
@rubenomarramirezmontero7667
@rubenomarramirezmontero7667 4 года назад
Exacto amigo! yo igual me di cuenta puesto que cuando le vas a preguntar al usuario que libro quieres eliminar el no te va decir que quiere eliminar el libro "0 "(En el método de Elimnarlibro se ve claramente que trata como primer libro a la variable n=0) Así que yo igual tengo la misma duda y si estoy mal por favor corrijan me!!! un saludo :)
@coronaramoskevinyukiel4788
@coronaramoskevinyukiel4788 Год назад
y el metodo para ejecutarlo ?
Год назад
Ultra Like!!!!!!!!!!!!!!!!!!!!!!!!
@al3xcamp0s
@al3xcamp0s Год назад
El mejor..
@francgs-dev
@francgs-dev 7 лет назад
Hola buenas, hace falta un nodo donde guardar el inicio, dado que si se prueba como esta planteado, generara un Null pointer exception. Saludos!
@alienpuppy
@alienpuppy 7 лет назад
Hey que mas, como entendi la pregunta creo que no hay necesidad de crear uno, ya que estamos creando una lista que esta enlazada, que solamente va en una direccion y que solo tiene un enlace , o en que parte hace falta el nodo donde se deba guardar el inicio?
@francgs-dev
@francgs-dev 7 лет назад
Si tienes razón, un error de interpretación, gracias por responder.
@richardprice360
@richardprice360 8 месяцев назад
Que crack, estoy consumiendo mucho de tu contenido y es de lo mejor. Me estás ayudando a fortalecer mis bases, pero tremendo.
@cracko6145
@cracko6145 4 года назад
Explicar solo la parte para hacer la lista, dejando a nosotros terminar el main por nuestra cuenta? Señor Makigas, usted es un ser maligno.
@bryanillanishuaraca3544
@bryanillanishuaraca3544 Год назад
buen tutorial Pero, python te extraño
@makigas
@makigas Год назад
Ya, se está quedando vieja la lista por culpa de eso, hoy en día se usa mucho Python para enseñar
@danielfernandezfernandez7017
@danielfernandezfernandez7017 3 года назад
La verdad me ayudo, casi todos los tutoriales de programacion son cosas excesivamente basicas o inutiles esto me salvo la practica de Listas.
@LyricsSubtitulos
@LyricsSubtitulos 3 года назад
No entiendo como el nodo "siguiente" en unas partes se usa como tipo de dato y en otras partes parece ser un metodo :( Es decir arriba lo instancias como una clase no? "Nodo siguiente = null;"... pero mas abajo se usa como metodo? "nodo.siguiente; / puntero.siguiente;" alguien ayuda :c
@mendezsaucedodulcemaria2255
@mendezsaucedodulcemaria2255 3 года назад
tengo el mismo conflicto
@jmfernu9045
@jmfernu9045 2 года назад
El borrado por posición no funciona y el código exactamente el mismo a que se debe esto?
@juansabinotorresmariaca3433
@juansabinotorresmariaca3433 3 года назад
alguien supo como hacer el main y llamar a los metodos de insertar?
@fast_cars267
@fast_cars267 5 лет назад
la descarga
@kyratyx6018
@kyratyx6018 5 лет назад
descargar esta .|.
@mendezsaucedodulcemaria2255
@mendezsaucedodulcemaria2255 3 года назад
por qué no me deja hacer lo del ".siguiente" D:
@shadowthun237
@shadowthun237 2 года назад
qué buen video tio. Muchas gracias
@fabiancardenasponce8699
@fabiancardenasponce8699 7 лет назад
MUCHAS GRACIAS MI ESTIMADOTUS CONTRIBUCIONES A LA PROGRAMACIÓN ME HAN TRIADO MUCHOS BENEFICIOS EN LA CARRERA
@gabrielsuarezbaron7469
@gabrielsuarezbaron7469 3 года назад
Una pregunta, cual es el nombre de ese IDE
@Lee12300
@Lee12300 3 года назад
me resulto interesante, gracias
@waterfunk2353
@waterfunk2353 3 года назад
no entendi absolutamente nada :(
@jorgeernestopradaantia9904
@jorgeernestopradaantia9904 5 лет назад
Amigo crea el main y haces tu mismo la prueba
@sgarcia1283
@sgarcia1283 4 года назад
el codigo igual se podria simplificar haciendo que siguiente sea privado y creando un setter / getter en vez de acceder y modificar directamente su valor. de esta forma se puede incrementar el valor de la variable "longitud" en el setter accediendo a la variable longitud del pariente (solo una idea para experimentar una factorizacion del codigo propuesto). Los mismo al getionar el reemplazo o borrado de algun nodo (al modificar el siguiente de un nodo)... a verificar :-) tambien se puede separar el bucle que recorre la lista en una funcion separada para no tener que repetir el mismo codigo multiples veces
@makigas
@makigas 4 года назад
Indudablemente, pero de cara a explicar el entresijo de la estructura de datos lo haría más complejo de explicar, así que me tomo esa licencia.
@HugoHernandez-bw3hi
@HugoHernandez-bw3hi 8 лет назад
En eliminar ultimo en vez de copiar el código de eliminarPrincipio, invoca el método para que se module mejor, es solo una sugerencia pero de resto muy buen materia felicitaciones.
@makigas
@makigas 8 лет назад
Seguramente, pero como parte de la idea es reiterarme sobre cómo funcionan a nivel teórico los algoritmos que hay detrás de estas estructuras para que de forma subconsciente se le quede a quien vea el vídeo para aprender pues me viene bien repetirme xD
@josmarramirez1174
@josmarramirez1174 2 года назад
Crear una lista de números aleatorios. Insertar los nuevos nodos por la cabeza de la lista. Una vez creada la lista, se han de recorrer los nodos para mostrar los números pares.
@makigas
@makigas 2 года назад
Pues te piden que metas elementos y luego recorras
@mikegreenscar8544
@mikegreenscar8544 7 лет назад
Muy buen video, pero veo que cuando eliminas un nodo "eliminarLibro()" el objeto que estaba en ese nodo sigue en memoria, ¿eso está bien?.
@angeloorellana3623
@angeloorellana3623 4 года назад
el recolector de basura de java limpia ese espacio en memoria automaticamente
@alejandrodiazmedellin898
@alejandrodiazmedellin898 5 лет назад
para que sirve crear una variable que seadel tipo de la clase Nodo sieguiente;
@wineloy
@wineloy 5 лет назад
Para que tengas la referencia de los otros nodos y puedas recorrerlos o agregar nuevos, como una lista agrego un nodo y en su siguiente puede ser null o tener otro nodo
@quienmeaiuda9586
@quienmeaiuda9586 4 года назад
Alguien sabe como eliminar el nodo anterior de un dato X?
@fernandoguerrero2535
@fernandoguerrero2535 4 года назад
haz lo mismo que el hizo solo que en vez de -1 pon -2 y veras la magia xD
@ArmanGO-Oficial
@ArmanGO-Oficial 3 года назад
Que es un nodo??
@EmmanuelAmaya-ot8tv
@EmmanuelAmaya-ot8tv 3 года назад
el esposo de la noda
@cristianalonsohernandezzav594
@cristianalonsohernandezzav594 4 года назад
No hay problema si lo hago en Java NetBeans?
@makigas
@makigas 4 года назад
En absoluto, no depende del IDE.
@RicardoHernandez-qf1cf
@RicardoHernandez-qf1cf 8 лет назад
¡Increíble! :D
@katheringomezcanaveral88
@katheringomezcanaveral88 4 года назад
Y como hago el metodo mostrar??
@lincehumano7978
@lincehumano7978 4 года назад
public void mostrarLista(){ Nodo puntero=cabeza; while(puntero!=null){ System.out.print("["+puntero.dato+"]--->"); puntero=puntero.siguiente; } System.out.println(); }
@incredidude101
@incredidude101 5 лет назад
soy el like #666 de este video...
@makigas
@makigas 5 лет назад
¿Tantos hay? 😯 [ * abre el vídeo * ] Ah pues sí
@YoeXCheneguein
@YoeXCheneguein 9 лет назад
Que editor de texto utilizas bro?
@makigas
@makigas 9 лет назад
Los vídeos de Java se graban con el IntelliJ IDEA.
@carlosportugal8467
@carlosportugal8467 8 лет назад
Cual IDE utilizas para java?
@makigas
@makigas 8 лет назад
En ese vídeo, IntelliJ. Pero no estoy "casado" con ningún IDE, así que al final acabo usando más de uno según se dan las circunstancias.
@LyricsSubtitulos
@LyricsSubtitulos 3 года назад
@@makigas Has usado alguna vez eclipse?
@vagaryxd1307
@vagaryxd1307 3 года назад
Habrá alguna manera de ingresar 10 numeros positivos y negativos para que después muetre por pantalla la suma de cuantos numeros positivos y negativos hay? no logro realizarlo
@666maicol
@666maicol 5 лет назад
No se entienda nada, no explicas bien.
Далее
Estructuras de datos - 5. Colas: teoría
5:20
Просмотров 52 тыс.
Listas doblemente enlazadas
25:17
Просмотров 7 тыс.
Barno
00:22
Просмотров 619 тыс.
¡Aprende Paso a Paso Como Usar Listas Enlazadas!
10:51
Estructuras de datos - 2. Listas enlazadas: Teoría
12:02