🎁 CÓDIGO DE DESCUENTO "BETTATECH" 👉🏼 7% EN TODOS LOS SERVICIOS DE HOSTINGER Entra a HOSTINGER con el siguiente link y usa el cupón "BETTATECH" para obtener un 7% de descuento en todos los productos. www.hostg.xyz/SH5Fo Más vídeos que te pueden interesar! Vídeo de análisis algorítmico ► ruclips.net/video/IZgOEC0NIbw/видео.html Vídeo Búsqueda Binaria ► ruclips.net/video/OfqrO2hUEZY/видео.html
Los algoritmos de optimización, no sólo puede resolver con fuerza bruta (7:53) , para eso existen las heurísticas y meta-heurísticas, de hecho los algoritmos clásicos no se ocupan para problemas de alta complejidad (i.e enumeración exhaustiva, branch and bound, etc). La gracia de estos algoritmos es que de ese gran volumen de posibles soluciones, no tengas que explorarlos todos para encontrar tu mejor solución, reduciendo los costes computacionales significativamente.
Si es que en las universidades si enseñan todo esto, pero recuerden que muchos de los que pueden ver esto son autodidactas o aprenden con cursos por ahí
Son fáciles de aprender, es más hay códigos de sobra en Internet, te recomiendo leer algún pseudocódigo e intentar implementarlas tu mismo así aprendes a reconocer la estructura que tiene cada uno. Luego busca alguna alternativa si ves que no avanzas o estudiala en conjunto al pseudocódigo y la teoría. Te sirven muchísimo! Mucha suerte!
Waoo! El algoritmo de Dijkstra lo vi cuando estudiaba el protocolo de enrutamiento OSPF, en la carrera de Redes, ahora que estoy metido en la programación no creí que lo recordaría! Super!
8:11 considero que los algoritmos de RMQ son muy importantes para problemas con querys online y ofline, algoritmos como sqrt decomposition o estructuras como Binady Index Tree (BIT de cariño ) o Segment-Tree y su modificación para querys online (con actualización por rangos lazy propagation). serian muy muy importantes conocerlos y almenos dominarlos en su forma trivial. También algoritmos de divide y venceras como ya mencionaste la Binaria o Binary search también hay otras importamtes como binary exponentiation y su versión modular para big numbers Ahhh y también big numbers Y el matrix exponentiation ( famoso por dar solucion al fibonacci (n) en O( log n ) ) Buen video, me encantan ❤️😁
Un algoritmo que siempre me llamó la atención cuando me lo explicaron en la universidad es el algoritmo voraz. Sinceramente es muy sencillo de implementar, no es lo más óptimo pero si es bastante rápido. Buen vídeo
Recientemente entro a una posición de senior en una empresa del extranjero y me muero de miedo. Pero gracias me das rutas de aprendizaje para mejorar poco a poco!!
Amo la teoría de algoritmos. Me infla el pecho todo lo relacionado a la programación, pero a la hora de buscar la solución más efectiva para un problema siento tanta adrenalina y felicidad 🤣🤣🤣💕 (sobre todo cuando descubro una solución aún mejor que la anterior♡)
Me encantó. Sigue los lineamientos que te comenté en anteriores videos: hacer videos de alto nivel explicando conceptos de programación. Te aplaudo de pie.
Hola! Primero te quiero dar las gracias por el gran contenido que aportas en este canal y el trabajo y tiempo que le dedicas, gracias! Lo segundo es si podrias hacer un video por favor una guia de como/cual escoger el primer trabajo como informatico y como "prepararse" para ese puesto de trabajo y intentar no fracasar en el primer trabajo por falta de conocimientos no cursados. GRACIAS!
@@diegoCB_u bueno, en la mía justo daban listas y árboles en la anterior jajaja Lo comento por si alguien quiere investigar: divide and conquer (y repasan los algoritmos de ordenamiento) Después grafos y todos sus algoritmos más populares. (Árbol generador mínimo, Camino mínimo, etc) Fuerza Bruta, backtracking Algoritmos golosos Heurística (aunque técnicamente creo que no es un algoritmo) Bueno, vimos otras cosas... Pero, eso ya no sería parte del tema del vídeo.
Excelente video, pero no es Libería ya que librería se refiere a bookstore o lugar donde se venden libros, lo correcto es decir biblioteca de library lugar donde se colsultan libros o donde hay información computacional. Buscar el término falso amigo en lingüística.
@@nromancarcamo No, a lo que se refiere @Jimmy es que cuando estés hablando como programador o ingeniero se debería usar el término correcto en español: Biblioteca, es decir, esa es la traducción correcta de "Library". En algunos foros a mi también a veces no me toman en cuenta esa corrección porque muchos programadores usan el término "librería" (incluso aquellos que saben inglés) o no le dan importancia, pero en ese caso yo les pregunto: ¿si deciden algún día escribir un artículo o libro en español van a escribir mal?
Buen video, no conozco nada de algoritmia, estudio FP grado medio con proyeccion a DAW,DAM y en un futuro la uni, estaria bien mas videos de estos introductorios, gracias crack!
excelente hoy estaba viendo el algoritmo burbuja y el ordenamiento shell en c y me ha fascinado. me quedo con ganas de aprender más y por eso he llegado a tu video!!!!
Cree un programa para diseño de mosaicos al estilo pixel art. Implemente BFS para la herramienta de llenado, el bote de pintura. Fue un dolor de cabeza al principio, pero en cuanto borre y re-implemnte de varias maneras empece a entenderlo y me encantó.
Creo que faltó el "método de la burbuja" que me enseñaron en el instituto terciario. Excelente video! Me parece muy buena la iluminación del ambiente. Saludos desde Argentina.
El tema es que el método burbuja no es muy eficiente. Su complejidad es cuadrática mientras otras son logarítmicas Existe el burbuja bidimensional que es una forma más eficiente, pero aún menor a otros.
BubbleSort hoy en día tiene más valor académico e introductorio al mundo de la algoritmia que un uso práctico. Para vectores y listas de poco tamaño quizá podría pensarse alguna utilidad. No es nada eficiente comparado a otros.
Los algoritmos de optimización, no sólo puede resolver con fuerza bruta (7:53) , para eso existen las heurísticas y meta-heurísticas, de hecho los algoritmos clásicos no se ocupan para problemas de alta complejidad (i.e enumeración exhaustiva, branch and bound, etc). La gracia de estos algoritmos es que de ese gran volumen de posibles soluciones, no tengas que explorarlos todos para encontrar tu mejor solución, reduciendo los costes computacionales significativamente.
Mi idea no era decir que sólo se podian resolver con fuera bruta, sino que a pesar de que la fuerza bruta lo puede solucionar, es muy ineficiente. Por eso después menciono el método de poda (branch and bound) como ejemplo de algoritmo de optimización! Disculpas si no lo conseguí transmitir del todo :/
Los algoritmos son la base de la programación , con ellos puedes analizar y resolver cualquier problema que te dé la gana!! Es como las tablas de las integrales , de que te sirve tenerlas si no sabes cómo utilizarlas??
Entré a YB y vi este video entre las sugerencias. Me asalta la duda ¿Porqué se le sigue dando popularidad a QuickSort cuando desde el 2002 que tenemos TimSort, el cual es mejor? Reconozco que hace falta más literatura y es un algoritmo medio fresco todavía, pero si Python y Java ya lo traen por defecto es porque merece más que la pena estudiarlo ¿O no?. Si me lo permites, hay algunas cosas que se han dicho en el video que a mi parecer quedaron sueltas y sería mejor aclararlas y darles el nombre que se le merece. Lo que denominaste como poda se llama Poda Alfa-Beta, y se apoya justamente en el algoritmo MiniMax (lo mencionaste y sin decirle el nombre). Y también en que esto es aplicable mientras exista una heurística que te permita dar ese "puntaje". Y ya que tocamos heurística, y el pathfinding tenemos al algoritmo A* el cual es lectura obligada y lo obviaste. Me parece que por intentar ser breve y directo en el video, se han dejado algunas cosas que le aportarían más riqueza. O quizá el video va dirigido a personas que recién se están introduciendo en el ambiente... y no a un público que ya tiene cierta formación. Espero no quedar como un troll, es sólo una simple crítica que espero sea constructiva
Me acabo de enterar que existen algoritmos de grafos y esto hubiera ayudado a un code challengue que reaolvi a fuerza bruta y no pasaron todos los test.. el test iba de encontrar la cantidad de pasos que se necesitan dar de una esquina del array hasta la otra (hay obstaculos)
2:35 QuickSQort no 'encuentra de forma medianamente inteligente', utiliza una estrategia tipo 'divide y vencerás'. La inteligencia está en el diseño, no en su operativa.
Muy bueno el video, ayuda mucho a abrir el mundo de los algoritmos ya que es una parte de la programaci[on que se toma en cuenta ya una vez iniciado el viaje en este mundo. Gracias.
Muy interesante sobre todo la parte del algoritmo de dijkstra. En la universidad lo use una vez para simular el comportamiento de internet y calcular les mejores caminos entre paquetes y routers.
Hola @bettaTech, yo una vez hice un algoritmo de "fuerza bruta" el cual buscaba solucionar el camino que debía recorrer un caballo para pisar todas las casillas de un tablero de ajedrez sin repetir ninguna, lo resolví con un árbol n-ario de orden 8, siendo cada uno de estos un movimiento posible del caballo, sin embargo me gustaría conocer tu opinión de como lo abrirás hecho sin usar esa "fuerza bruta", gracias!
solo decir que "library" en ingles significa biblioteca, lo cual no es una librería, parece una tonteria, pero si vamos a traducir hay que hacerlo bien, si no mejor el ingles.
Para optimizar, sin duda las metaheuristicas son una gran opción. El algoritmo de recocido simulado da muy buenos resultados (incluso en ocasiones mejores que los genéticos)
Gracias por tu video. Tengo una pregunta y me disculpas la ignorancia en este tema; que papel podría jugar la inteligencia artificial en el mundo de los algoritmos? estos dejarían de ser poco productivos o por el contrario se usarían mucho mas para ir mejorando el nivel de la IA y podria llegar el dia en que ya no se use mas algoritmos por que ya esta muy desarrollada la IA? gracias de antemano por tu aclaración. Saludos
Si existe un algoritmo que lo puede solucionar de forma eficiente, no tiene sentido poner una IA a resolverlo. La IA "en si" no deja de ser una solución para problemas que no se pueden solucionar de forma eficiente por un algoritmo, por ejemplo, el problema del viajante u otros problemas de características similares (NP-Hard). Poner una IA a resolver cosas que se pueden solucionar con algoritmos polinómicos es básicamente matar moscas con un lanzallamas jaja
Tienes libros tuyos en venta? Sería bueno un cursito de cada uno de los algoritmos con sus animaciones como las presentaste, gracias por tus videos, saludos.
Ese librazo que aparece al principio del video aun no se tradujo al español, ¿no? Lastima, me encantaria poder comprarlo en español. No manejo todavia bien el ingles, y eso dificulta todo; es un falta mia que debo solucionar, sobre todo si se quiero trabajar en una especialidad como la informatica. Muy buen video.
Buen video.! Algun enlace a estos algoritmos o libro? Asi poder ir comprendiendo tu contenido. Creo que el ultimo es una especie de backtracking con valoracion de los siguientes nodos para ir eliminando posibilidades?? Muy chulo tu canal,soy nuevo en el y voy para largo contigo! Animo y a seguir asi!
Si, es una especie de backtracking con algún cálculo sobre qué es lo mejor que puedes sacar por cada camino. De esta manera podas algunos caminos. En la uni yo lo he dado como ramificación y poda (en inglés branch and bound) y hay mucha información en internet acerca de estos algoritmos! Saludos!
@@sandronuzzih Eso es! Ahora me ha venido el nombre! Tenía pendiente hacer un programa para resolver Sudokus así. Exacto, hay tanta información en Internet, que es positivo cuando un profesional te referencia los links o libros de los que el aprende!
Hola, me recomiendas algún libro de estructuras de datos por favor? he estudiado las listas enlazadas, colas, pilas, montículos y arboles binarios. Y quisiera profundizar más sobre estos temas en mis tiempos libres. (trabajo como backend java)
Muy bueno.. ? Más importante sería saber cómo los americanos miden la eficiencia de cada algoritmo con big O o en español cuota superior asintótica .. con eso ya se sabe que algoritmo es eficiente o no en el tiempo. :)
Hola, no tengo una base de informática, por lo que ando un poco perdido. Mi duda es si los algoritmos estadísticos son un tipo concreto de algoritmo de optimización (como MCO) o del de Dijkstra, como en K vecinos más cercanos (KNN). Alguien sabría responderme a esto? Lo agradezco!
Cuando yo la hice solo había ingeniería, y ciencias de la computación como especialidad. Ahora hay también de ciencias de datos y de IA, y se están creando nuevas poco a poco
Cuando dices que hay librerías que solucionan.....alguien las escribe y ese trabajo requiere algoritmos, por eso pienso que nunca está de más aprenderlo
La definición de algoritmo es: Conjuntoo ordenado y finito de instrucciones que permiten hallar la solución a un problema. Cuando un analista o un programador tienen que realizar un programa encargado para un cliente se están enfrentando a un problema por tanto, lo primero que tienen que realizar es un algoritmo que resuelva el problema. Los algoritmos mostrados en el vídeo son los algoritmos básicos que todo el mundo que esté en programando debe conocer evidentemente hay muchos más pero todo el que esté estudiando programación tiene que saber que la algorítmica es la base de la programación si no se sabe algorítmica no se sabe programar. Es imprescindible estudiar y aprender mucha algoritmica para poder realizar programas correctamente. Evidentemente hay que conocer otras áreas del conocimiento informático como las estructuras de datos y la lógica. Codificar en un lenguaje u otro solo es cuestión de saber hablar diferentes lenguajes. Con esto quiero decir que saber Python o R o Java no es saber programar es saber codificar. Programar es mucho más que codificar. Si ves este vídeo y estás estudiando programación te animo a que busques toda la información que puedas sobre algorítmica y estudias la materia en profundidad porque es lo que te permitirá llegar a ser un buen programador.
Tienes toda la razón y lo comparto. Sin estudiar algoritmos y estructuras de datos difícilmente se pueda ser un mejor programador. Lamentablemente hoy se ha llevado tanto al extremo la idea de "tu sólo tira de esta clase/función/framework/biblioteca/lo que sea y ya te lo hace solito" de que uno no piensa, ni lo estudia. Nos estamos haciendo más vagos y en simples "albañiles" que encajan las piezas que le indica otro en lugar de también sentarse a estudiarlo, y comprender porqué y como es que funciona X cosa. Y hasta debiéramos de ser capaz de poner en duda si en verdad X cosa realmente lo hace del mejor modo. Por ejemplo hasta el 2001 QuickSort era el "rey indiscutido", hoy sabemos que tenemos otra opción: TimSort ¿Pero cuántos lo sabemos?. Pero para ello, hay que estudiar, investigar y cuestionarse. Un programador no se hace solamente picando código, es más yo sigo sosteniendo que la mejor herramienta de un dev son el lápiz y el papel. Se hace también con "horas culo" leyendo. Y la base de todo son los algoritmos y las estructuras de datos. Sin esa pata la silla tambalea
Que la enseñanza de los algoritmos "normalmente" se deja de lado (?!!). No se en qué escuela pasará eso, a mí me dieron todos los algoritmos, también lo pueden ver en cualquier libro del tema.
🎁 CÓDIGO DE DESCUENTO "BETTATECH" 👉🏼 7% EN TODOS LOS SERVICIOS DE HOSTINGER
Entra a HOSTINGER con el siguiente link y usa el cupón "BETTATECH" para obtener un 7% de descuento en todos los productos.
www.hostg.xyz/SH5Fo
Más vídeos que te pueden interesar!
Vídeo de análisis algorítmico ► ruclips.net/video/IZgOEC0NIbw/видео.html
Vídeo Búsqueda Binaria ► ruclips.net/video/OfqrO2hUEZY/видео.html
gracias por el video
Los algoritmos de optimización, no sólo puede resolver con fuerza bruta (7:53) , para eso existen las heurísticas y meta-heurísticas, de hecho los algoritmos clásicos no se ocupan para problemas de alta complejidad (i.e enumeración exhaustiva, branch and bound, etc). La gracia de estos algoritmos es que de ese gran volumen de posibles soluciones, no tengas que explorarlos todos para encontrar tu mejor solución, reduciendo los costes computacionales significativamente.
01:47 Algoritmos de ordenación 🗂
02:28 Quicksort
03:18 Mergesort
04:00 Búsqueda binaria 1️⃣0️⃣
04:35 Algoritmos de grafos 🕸
04:52 BFS y DFS
05:15 Dijkstra
06:10 Algoritmos de optimización 💸
06:33 Fuerza bruta
07:03 Poda
son4
Dijkstra es una mrda , recuerdo lo que sufri para aprenderlo
el youtuber no tiene un pelo de tonto
@@Liam-McFaddem sus videos están de pelos :v
Tipos que recomiendo estudiar:
Algoritmos de sorting, divide and conquer, graphs, dynamic programming, combinatorial search..
Mi profesor de estructuras de datos me enseñó todos estos algoritmos 😳 qué buena
Sí, son los primeros que se enseñan en la carrera en el primer año, pensé que diría otros :(
Muy buena
Si es que en las universidades si enseñan todo esto, pero recuerden que muchos de los que pueden ver esto son autodidactas o aprenden con cursos por ahí
Que suerte, a mí no me enseñaron muchas cosas fundamentales en la carrera y ahora dedico tiempo a aprenderlo por mi cuenta 😅
los 5 algoritmos que nunca habia escuchado en mi vida :(
Son fáciles de aprender, es más hay códigos de sobra en Internet, te recomiendo leer algún pseudocódigo e intentar implementarlas tu mismo así aprendes a reconocer la estructura que tiene cada uno. Luego busca alguna alternativa si ves que no avanzas o estudiala en conjunto al pseudocódigo y la teoría. Te sirven muchísimo! Mucha suerte!
HAHAHA talcual
Habíamos querrás decir 😢😮
Buen video, gracias!
El algoritmo de Dijkstra es usado en OSPF para encontrar el camino mas corto en ruteo dinamico.
¿Un network engineer en tierra de developers?. Somos dos.
Estaba buscando este comentario
Waoo! El algoritmo de Dijkstra lo vi cuando estudiaba el protocolo de enrutamiento OSPF, en la carrera de Redes, ahora que estoy metido en la programación no creí que lo recordaría! Super!
8:11 considero que los algoritmos de RMQ son muy importantes para problemas con querys online y ofline, algoritmos como sqrt decomposition o estructuras como Binady Index Tree (BIT de cariño ) o Segment-Tree y su modificación para querys online (con actualización por rangos lazy propagation). serian muy muy importantes conocerlos y almenos dominarlos en su forma trivial.
También algoritmos de divide y venceras como ya mencionaste la Binaria o Binary search también hay otras importamtes como binary exponentiation y su versión modular para big numbers
Ahhh y también big numbers
Y el matrix exponentiation ( famoso por dar solucion al fibonacci (n) en O( log n ) )
Buen video, me encantan ❤️😁
Un algoritmo que siempre me llamó la atención cuando me lo explicaron en la universidad es el algoritmo voraz. Sinceramente es muy sencillo de implementar, no es lo más óptimo pero si es bastante rápido. Buen vídeo
Recientemente entro a una posición de senior en una empresa del extranjero y me muero de miedo. Pero gracias me das rutas de aprendizaje para mejorar poco a poco!!
Y cómo te fué bro, a cuál entraste? xd
@@andresmtz98 Bro a Kin + Carta y ha sido la mejor empresa a la que he entrado. He hecho de todo! :D
En programación competitiva, los algoritmos, estructuras de datos, teoría de numeros, combinatoria y geometría, son el pan de cada día
Unos hermosos greedy unas dp poderosas, o un fenwik o segment tree :3
Preciosas trazas a mano de quicksort en los examenes de algoritmia y tener que aprender el código java que hace paralelo al mergesort
Wtf cómo te vas a copiar en la universidad man
ok
Amo la teoría de algoritmos. Me infla el pecho todo lo relacionado a la programación, pero a la hora de buscar la solución más efectiva para un problema siento tanta adrenalina y felicidad 🤣🤣🤣💕 (sobre todo cuando descubro una solución aún mejor que la anterior♡)
Te reto entonces a encontrar un algoritmo GLR parser de orden inferior a N^3. Suerte con ello.
Uy!♡ Ya organizaré mis pocos díaa de vacaciones y googlearé eso 👀@@yuryeuceda8590 A ver qué pasa
@@leotuculito creo ya lo has de haber terminado. Pasa el repo :3
Ni puta idea! :D @Y no te doy otra nomas!!!! Jaja, espero haberte ayudado 😎
@@ynotedoyotranomas1687pues depende, pero en general los ingenieros gana más
Muy interesante contenido. Muchas gracias @BettaTech. Uno de los más interesantes son los de grafos y las búsquedas binarias en ellos.
Me encantó.
Sigue los lineamientos que te comenté en anteriores videos: hacer videos de alto nivel explicando conceptos de programación.
Te aplaudo de pie.
Hola! Primero te quiero dar las gracias por el gran contenido que aportas en este canal y el trabajo y tiempo que le dedicas, gracias!
Lo segundo es si podrias hacer un video por favor una guia de como/cual escoger el primer trabajo como informatico y como "prepararse" para ese puesto de trabajo y intentar no fracasar en el primer trabajo por falta de conocimientos no cursados. GRACIAS!
Literalmente este vídeo acaba de resumir toda una materia de la Uni jajaja
PD: Eso de las podas es conocido como Backtracking.
Solo le faltó hablar de listas y ya quedaba el programa completo jaja
@@diegoCB_u bueno, en la mía justo daban listas y árboles en la anterior jajaja
Lo comento por si alguien quiere investigar:
divide and conquer (y repasan los algoritmos de ordenamiento)
Después grafos y todos sus algoritmos más populares. (Árbol generador mínimo, Camino mínimo, etc)
Fuerza Bruta, backtracking
Algoritmos golosos
Heurística (aunque técnicamente creo que no es un algoritmo)
Bueno, vimos otras cosas... Pero, eso ya no sería parte del tema del vídeo.
Me gustó el vídeo. Lo compartiré con mis alumnos !! Muchas gracias.
Muchas veces estuve a punto de dejar la carrera :") desde que encontré este canal estado más motivado y aprendiendo :") ✨ gracias @bettaTech
Vaya, mucho ánimo!! Me alegra haberte podido ayudar. Espero que sigas adelante! :)
¿Qué estudias?
Deberías hacer un video con ejemplos en código para continuar la serie
Si sería excelente porque de verdad me sé la teoría pero de nada vale sino hay práctica
¡¡¡Con muchas ganas de que continúes la serie!!!
Excelente video, pero no es Libería ya que librería se refiere a bookstore o lugar donde se venden libros, lo correcto es decir biblioteca de library lugar donde se colsultan libros o donde hay información computacional. Buscar el término falso amigo en lingüística.
xd
Así es, library = biblioteca, y como bien mencionas, es un falso cognado.
Tal vez se refería a las funciones built-in de los lenguajes como vienen en JS y Dart.
@@nromancarcamo No, a lo que se refiere @Jimmy es que cuando estés hablando como programador o ingeniero se debería usar el término correcto en español: Biblioteca, es decir, esa es la traducción correcta de "Library". En algunos foros a mi también a veces no me toman en cuenta esa corrección porque muchos programadores usan el término "librería" (incluso aquellos que saben inglés) o no le dan importancia, pero en ese caso yo les pregunto: ¿si deciden algún día escribir un artículo o libro en español van a escribir mal?
Buen video, no conozco nada de algoritmia, estudio FP grado medio con proyeccion a DAW,DAM y en un futuro la uni, estaria bien mas videos de estos introductorios, gracias crack!
Me inspiras mucho! Quisiera algun dia saber tanto como tú!!
Buen video, podrias hacer uno sobre la automatizacion de redes?
excelente hoy estaba viendo el algoritmo burbuja y el ordenamiento shell en c y me ha fascinado. me quedo con ganas de aprender más y por eso he llegado a tu video!!!!
No olviden que el Algoritmo de Dijkstra no funciona con costos negativos :)
Cree un programa para diseño de mosaicos al estilo pixel art. Implemente BFS para la herramienta de llenado, el bote de pintura. Fue un dolor de cabeza al principio, pero en cuanto borre y re-implemnte de varias maneras empece a entenderlo y me encantó.
Creo que faltó el "método de la burbuja" que me enseñaron en el instituto terciario.
Excelente video! Me parece muy buena la iluminación del ambiente.
Saludos desde Argentina.
El tema es que el método burbuja no es muy eficiente. Su complejidad es cuadrática mientras otras son logarítmicas
Existe el burbuja bidimensional que es una forma más eficiente, pero aún menor a otros.
BubbleSort hoy en día tiene más valor académico e introductorio al mundo de la algoritmia que un uso práctico. Para vectores y listas de poco tamaño quizá podría pensarse alguna utilidad. No es nada eficiente comparado a otros.
Afortunadamente conozco y he implementado todos los algoritmos mencionados, saludos desde México!!
Ese libro de la intro es buenisimoooo ahahah.
estos son los videos que yo quiero ver . ya se que no son lo que más se ven. pero te lo agradezco .
Los algoritmos de optimización, no sólo puede resolver con fuerza bruta (7:53) , para eso existen las heurísticas y meta-heurísticas, de hecho los algoritmos clásicos no se ocupan para problemas de alta complejidad (i.e enumeración exhaustiva, branch and bound, etc). La gracia de estos algoritmos es que de ese gran volumen de posibles soluciones, no tengas que explorarlos todos para encontrar tu mejor solución, reduciendo los costes computacionales significativamente.
Mi idea no era decir que sólo se podian resolver con fuera bruta, sino que a pesar de que la fuerza bruta lo puede solucionar, es muy ineficiente. Por eso después menciono el método de poda (branch and bound) como ejemplo de algoritmo de optimización!
Disculpas si no lo conseguí transmitir del todo :/
@@BettaTech No pasa nada, se agradece el tiempo en responder. Saludos.
Los algoritmos son la base de la programación , con ellos puedes analizar y resolver cualquier problema que te dé la gana!! Es como las tablas de las integrales , de que te sirve tenerlas si no sabes cómo utilizarlas??
Entré a YB y vi este video entre las sugerencias. Me asalta la duda ¿Porqué se le sigue dando popularidad a QuickSort cuando desde el 2002 que tenemos TimSort, el cual es mejor? Reconozco que hace falta más literatura y es un algoritmo medio fresco todavía, pero si Python y Java ya lo traen por defecto es porque merece más que la pena estudiarlo ¿O no?. Si me lo permites, hay algunas cosas que se han dicho en el video que a mi parecer quedaron sueltas y sería mejor aclararlas y darles el nombre que se le merece. Lo que denominaste como poda se llama Poda Alfa-Beta, y se apoya justamente en el algoritmo MiniMax (lo mencionaste y sin decirle el nombre). Y también en que esto es aplicable mientras exista una heurística que te permita dar ese "puntaje". Y ya que tocamos heurística, y el pathfinding tenemos al algoritmo A* el cual es lectura obligada y lo obviaste. Me parece que por intentar ser breve y directo en el video, se han dejado algunas cosas que le aportarían más riqueza. O quizá el video va dirigido a personas que recién se están introduciendo en el ambiente... y no a un público que ya tiene cierta formación. Espero no quedar como un troll, es sólo una simple crítica que espero sea constructiva
Intentaré aprender los otros algoritmos, yo solo conozco la búsqueda binaria. Tus videos son buenísimos 👏
5:20: EN juegos suelen usar mas el A*. No exacto pero es mucho más rapido que Djisktra.
A* es una variación de dijkstra basado en heuristica
Me acabo de enterar que existen algoritmos de grafos y esto hubiera ayudado a un code challengue que reaolvi a fuerza bruta y no pasaron todos los test.. el test iba de encontrar la cantidad de pasos que se necesitan dar de una esquina del array hasta la otra (hay obstaculos)
2:35 QuickSQort no 'encuentra de forma medianamente inteligente', utiliza una estrategia tipo 'divide y vencerás'. La inteligencia está en el diseño, no en su operativa.
un vídeo del algoritmo de Amazon sería un interesante verlo. Buen canal, saludos
Excelente, son algoritmos muy importantes y los de grafos son espectaculares
Ahora entiendo como funciona el pathfinder de la librería de mineflayer!
Muy bueno el video, ayuda mucho a abrir el mundo de los algoritmos ya que es una parte de la programaci[on que se toma en cuenta ya una vez iniciado el viaje en este mundo. Gracias.
Contradigo ése sistema ,por ejemplo cómo cruzar un rio, rodearlo o dejarte llevar por la corriente y poco a poco nanar donde quieres ir
Muy interesante sobre todo la parte del algoritmo de dijkstra. En la universidad lo use una vez para simular el comportamiento de internet y calcular les mejores caminos entre paquetes y routers.
Hola @bettaTech, yo una vez hice un algoritmo de "fuerza bruta" el cual buscaba solucionar el camino que debía recorrer un caballo para pisar todas las casillas de un tablero de ajedrez sin repetir ninguna, lo resolví con un árbol n-ario de orden 8, siendo cada uno de estos un movimiento posible del caballo, sin embargo me gustaría conocer tu opinión de como lo abrirás hecho sin usar esa "fuerza bruta", gracias!
Hay un vídeo implementado en C# de ese algoritmo. Con programación dinámica.
Impresiónante forma de explicar, sigue así amigo
La campana sigue sin funcionar, pero siempre, gran video, sube mas seguido tu contenido es muy bueno! Saludos desde Honduras
Muchísimas gracias!!!
A mí sí que me ha funcionado esta vez! :)
Orgulloso de haber aprendido todos ellos (como sus complejidades y variaciones/mejoras/similares)
Excelente
solo decir que "library" en ingles significa biblioteca, lo cual no es una librería, parece una tonteria, pero si vamos a traducir hay que hacerlo bien, si no mejor el ingles.
Para optimizar, sin duda las metaheuristicas son una gran opción. El algoritmo de recocido simulado da muy buenos resultados (incluso en ocasiones mejores que los genéticos)
Muy buen tema. Me ha parecido interesante para continuar con mi investigación.
Gracias por tu video. Tengo una pregunta y me disculpas la ignorancia en este tema; que papel podría jugar la inteligencia artificial en el mundo de los algoritmos? estos dejarían de ser poco productivos o por el contrario se usarían mucho mas para ir mejorando el nivel de la IA y podria llegar el dia en que ya no se use mas algoritmos por que ya esta muy desarrollada la IA? gracias de antemano por tu aclaración. Saludos
Si existe un algoritmo que lo puede solucionar de forma eficiente, no tiene sentido poner una IA a resolverlo. La IA "en si" no deja de ser una solución para problemas que no se pueden solucionar de forma eficiente por un algoritmo, por ejemplo, el problema del viajante u otros problemas de características similares (NP-Hard).
Poner una IA a resolver cosas que se pueden solucionar con algoritmos polinómicos es básicamente matar moscas con un lanzallamas jaja
Tienes libros tuyos en venta?
Sería bueno un cursito de cada uno de los algoritmos con sus animaciones como las presentaste, gracias por tus videos, saludos.
No por ahora, pero mirare de preparar contenido de ese estilo!
genial, estaria bueno un algoritmos para recomendaciones de contenido y/o page rank
Una pequeña corrección, el matemático inventor del algoritmo de grafos de Camino Más Corto, se llama:
Dikjstra (con una J en medio)
Muchas gracias!
Muy chingón tu video. gracias
Gracias a ti!
¡Muy interesante!
Ese librazo que aparece al principio del video aun no se tradujo al español, ¿no? Lastima, me encantaria poder comprarlo en español. No manejo todavia bien el ingles, y eso dificulta todo; es un falta mia que debo solucionar, sobre todo si se quiero trabajar en una especialidad como la informatica.
Muy buen video.
Considero que saber como funcionan los algoritmos fundamentales te da un mayor panorama al momento de resolver un problema informático
Buen video.!
Algun enlace a estos algoritmos o libro?
Asi poder ir comprendiendo tu contenido.
Creo que el ultimo es una especie de backtracking con valoracion de los siguientes nodos para ir eliminando posibilidades??
Muy chulo tu canal,soy nuevo en el y voy para largo contigo! Animo y a seguir asi!
Si, es una especie de backtracking con algún cálculo sobre qué es lo mejor que puedes sacar por cada camino. De esta manera podas algunos caminos. En la uni yo lo he dado como ramificación y poda (en inglés branch and bound) y hay mucha información en internet acerca de estos algoritmos!
Saludos!
@@sandronuzzih Eso es! Ahora me ha venido el nombre! Tenía pendiente hacer un programa para resolver Sudokus así.
Exacto, hay tanta información en Internet, que es positivo cuando un profesional te referencia los links o libros de los que el aprende!
El libro que enseño al inicio, Introducion to Algorithms, es un muy buen libro para todos estos temas
@@BettaTech Genial, lo voy a mirar. Gracias por tomarte el tiempo en responder!
Genial!
Hola, me recomiendas algún libro de estructuras de datos por favor? he estudiado las listas enlazadas, colas, pilas, montículos y arboles binarios. Y quisiera profundizar más sobre estos temas en mis tiempos libres. (trabajo como backend java)
si trabajas de eso pide ayuda a tus compañeros de trabajo
Tal vez agregar ordenamientos no comparativos? En O(N) poder ordenar cosas y no recaer en O(N logN) esta bastante bien
Muy bueno.. ? Más importante sería saber cómo los americanos miden la eficiencia de cada algoritmo con big O o en español cuota superior asintótica .. con eso ya se sabe que algoritmo es eficiente o no en el tiempo. :)
El merge sort es fantantisco,en búsqueda binaria creo que hay mejores.
Gracias .
Cual seria el mejor algoritmo para indexar una archivo de texto grande de 1gb por ejemplo donde cada lineal es un registro separado por punto y coma?
Hola. Hay alguna casilla donde hacer un par de consultas sobre algoritmos de optimizacion en espacios N dimensionales?
La asignatura de diseño de algoritmos resumida en 8:30 min
Betta, quiero iniciarme en el mundillo teórico de algoritmo y estructuras, que libros me recomiendas leer?
El que sale en el video es todo lo que necesitas para iniciar. No te compliques, rífate Intro. to algorithms y listo ;)
Dynamic Programming, un video sobre esto, seria bueno
Ya tengo uno! De iniciacion a la programacion dinamica
Muchas gracias por tu video casi nadie sube este tipo de información .n.n
Gracias, buena información y buen video saludos✌️
genial como siempre martin eres grande
Tu si que eres grande 🚀
La tercera edición del libro con tapa dura es el mejor libro que ha hecho la humanidad
¿Cómo se llama el libro?
Disculpa, cual es el nombre del libro?
@@angelmorales8925 se llama CLRS por los autores pero el nombre es introduction to algorithms
@@TheBalaloca Gracias hermano, éxitos.
Hace tiempo quería que me expliquen cómo funcionan los algoritmos de compresión de datos, haber si haces un vídeo.
Donde conseguite el libro
4:00 Lo interesante es que está demostrado que es optimo. No hay un algoritmo mejor.
Eso depende de cómo lo midas, las tablas hash pueden llegar a ser más rápidas.
Hola, no tengo una base de informática, por lo que ando un poco perdido. Mi duda es si los algoritmos estadísticos son un tipo concreto de algoritmo de optimización (como MCO) o del de Dijkstra, como en K vecinos más cercanos (KNN).
Alguien sabría responderme a esto? Lo agradezco!
Yo no sabía que había librerías que hacian la ordenación solos. En mi materia de C++ los apliqué todos
Gracias maestro
Que buen canal! Suscriptor nuevo!
Mil gracias! ☺️☺️
Recursividad también muy usado
Como ves el método de burbuja de ordenación?
Faltaron los arboles, Arboles-B, Arboles-B+, me gustaría ver una implementación del B+ !!!
Solamente había escuchado el de la poda en mate discreta I
algun curso o video / videos para parender grafos. porfavor.
No hay carrera de ciencias de la computacion en españa? Solo de ingenieria informatica?
Cuando yo la hice solo había ingeniería, y ciencias de la computación como especialidad. Ahora hay también de ciencias de datos y de IA, y se están creando nuevas poco a poco
@@BettaTech Entiendo, gracias !
¿Y porque no usan el algoritmo de heap Sort en vez de quicksort sabiendo que tiene menos complejidad?
Muy buen video.
Algoritmos de estructuras de datos. Aún recuerdo cuando los vi en la Universidad
Cuando dices que hay librerías que solucionan.....alguien las escribe y ese trabajo requiere algoritmos, por eso pienso que nunca está de más aprenderlo
Excelente video
Gracias, aoenas estoy aprendiendo👌
El Shell sort es uno de los mas finos que hay
La definición de algoritmo es: Conjuntoo ordenado y finito de instrucciones que permiten hallar la solución a un problema. Cuando un analista o un programador tienen que realizar un programa encargado para un cliente se están enfrentando a un problema por tanto, lo primero que tienen que realizar es un algoritmo que resuelva el problema. Los algoritmos mostrados en el vídeo son los algoritmos básicos que todo el mundo que esté en programando debe conocer evidentemente hay muchos más pero todo el que esté estudiando programación tiene que saber que la algorítmica es la base de la programación si no se sabe algorítmica no se sabe programar. Es imprescindible estudiar y aprender mucha algoritmica para poder realizar programas correctamente. Evidentemente hay que conocer otras áreas del conocimiento informático como las estructuras de datos y la lógica. Codificar en un lenguaje u otro solo es cuestión de saber hablar diferentes lenguajes. Con esto quiero decir que saber Python o R o Java no es saber programar es saber codificar. Programar es mucho más que codificar. Si ves este vídeo y estás estudiando programación te animo a que busques toda la información que puedas sobre algorítmica y estudias la materia en profundidad porque es lo que te permitirá llegar a ser un buen programador.
Chapeau! Lo has dicho todo y muy bien. Primero el algoritmo. 👍👍
Tienes toda la razón y lo comparto. Sin estudiar algoritmos y estructuras de datos difícilmente se pueda ser un mejor programador. Lamentablemente hoy se ha llevado tanto al extremo la idea de "tu sólo tira de esta clase/función/framework/biblioteca/lo que sea y ya te lo hace solito" de que uno no piensa, ni lo estudia. Nos estamos haciendo más vagos y en simples "albañiles" que encajan las piezas que le indica otro en lugar de también sentarse a estudiarlo, y comprender porqué y como es que funciona X cosa. Y hasta debiéramos de ser capaz de poner en duda si en verdad X cosa realmente lo hace del mejor modo. Por ejemplo hasta el 2001 QuickSort era el "rey indiscutido", hoy sabemos que tenemos otra opción: TimSort ¿Pero cuántos lo sabemos?. Pero para ello, hay que estudiar, investigar y cuestionarse. Un programador no se hace solamente picando código, es más yo sigo sosteniendo que la mejor herramienta de un dev son el lápiz y el papel. Se hace también con "horas culo" leyendo. Y la base de todo son los algoritmos y las estructuras de datos. Sin esa pata la silla tambalea
Muy bueno el video! Yo agregaria el "Merge" para juntar dos arrays ordenados.
Genial, justo estoy sufriendo para ordenar todos los registros de un archivo binario
Que la enseñanza de los algoritmos "normalmente" se deja de lado (?!!). No se en qué escuela pasará eso, a mí me dieron todos los algoritmos, también lo pueden ver en cualquier libro del tema.