algoritmos Podcast Summaries
algoritmos on Yedapo: 30 summarized podcast and YouTube episodes. Each includes key takeaways, core concepts and notable quotes with timestamps.

Quando linguagens funcionais são mais LENTAS
Augusto Galego
Jun 16, 2026
O autor confronta a teoria de que o modelo imperativo é inerentemente superior ao funcional, testando algoritmos de verificação de palíndromos. Os resultados revelam que otimizações nativas de linguagens, como o slicing do Python, podem superar implementações manuais, enquanto a escolha da linguagem (Go vs. Python) impacta a performance de CPU mas nem sempre reflete no escalonamento real de backends.
Key insight: Em Python, o método de 'slice' para verificar palíndromos foi cinco vezes mais rápido que a implementação manual de 'Two Pointers' e dez vezes mais rápida que a recursiva, provando que delegar operações para o C Python é frequentemente mais eficiente do que tentar otimizar manualmente o código no nível do interpretador.

O que é Lógica de Programação? Explicado com bananas
Programador primata
Dec 8, 2025
A programação não é sobre decorar sintaxe ou matemática complexa, mas sobre o domínio de uma arquitetura lógica. Ao entender conceitos como variáveis, condicionais e loops, você deixa de ser um usuário passivo para se tornar um arquiteto capaz de automatizar qualquer tarefa repetitiva.
Key insight: O computador não é um gênio, mas um 'gorila de silício' extremamente rápido porém sem cérebro: ele executa exatamente o que você manda, por isso a lógica detalhada no passo a passo é a única forma de evitar erros e travamentos.

Desbloqueando o "Algoritmo" do Twitter - Introdução a Grafos
Fabio Akita
Apr 11, 2023
Fabio Akita analisa o código aberto do Twitter, demonstrando que a recomendação é uma coleção de dezenas de algoritmos complexos, não uma única peça de lógica. Ele alerta que sem os arquivos de build e dados de treino, a análise estática é inconclusiva, desmascarando interpretações superficiais sobre supostos vieses políticos no código.
Key insight: O sistema de recomendação evoluiu em gerações, do 'Who To Follow' (SALSA) para o GraphJet, priorizando a eficiência de processamento em memória para lidar com o volume massivo de interações, provando que escalar sistemas exige matemática avançada, não apenas truques de código.

35. Programación en Python | Colecciones | Ejercicio 2 – Operaciones de conjuntos con listas
Programación ATS
Dec 13, 2018
Aprende a manipular listas eficientemente eliminando duplicados mediante el uso de conjuntos. Este ejercicio práctico demuestra cómo realizar uniones, diferencias e intersecciones entre colecciones de datos.
Key insight: Convertir listas a conjuntos (sets) no solo elimina duplicados automáticamente, sino que habilita operadores matemáticos potentes como | (unión) y - (diferencia) para el procesamiento de datos.

34. Programación en Python | Colecciones | Ejercicio 1 – Eliminar duplicados de una lista
Programación ATS
Dec 12, 2018
Este episodio resuelve el problema de limpiar elementos duplicados de una lista utilizando la propiedad única de los conjuntos en Python. Se demuestra cómo transformar colecciones de manera eficiente para mantener solo valores únicos.
Key insight: La conversión directa entre lista y conjunto (set) es la forma más idiomática y eficiente de eliminar duplicados en Python, aunque el orden original no se garantiza.

33. Programación en Python | Colecciones | Colas (con listas)
Programación ATS
Dec 12, 2018
Aprende a simular estructuras de datos tipo FIFO (First-In, First-Out) utilizando listas estándar en Python. Este enfoque directo permite gestionar colas sin necesidad de importar librerías externas complejas, facilitando el procesamiento secuencial de elementos.
Key insight: Aunque existe el módulo 'collections' y 'deque', puedes gestionar una cola perfectamente con una lista simple usando append() para insertar al final y pop(0) para extraer desde el inicio.

29. Programación en Python | Colecciones | Conjuntos (parte 2)
Programación ATS
Dec 9, 2018
Dominar la lógica de conjuntos en Python va más allá de la creación básica; implica entender sus operaciones algebraicas. Este tutorial detalla cómo realizar uniones, intersecciones, diferencias y el uso de conjuntos inmutables para optimizar la estructura de datos.
Key insight: Los conjuntos en Python son iguales si contienen los mismos elementos, independientemente del orden en que fueron declarados.

20. Programación en Python | Condicionales | Ejercicio 1 - Números pares e impares
Programación ATS
Dec 4, 2018
Este tutorial resuelve el primer ejercicio del capítulo de condicionales en Python. Aprenderás a utilizar operadores lógicos como 'and' para evaluar múltiples condiciones de paridad entre dos números enteros de manera eficiente.
Key insight: El uso del operador lógico 'and' permite simplificar la estructura del código, evitando el uso excesivo de condicionales anidados y mejorando la legibilidad.

16. Programación en Python | Ejercicio 4 – Área y longitud de un círculo
Programación ATS
Dec 2, 2018
Este tutorial demuestra cómo calcular el área y la circunferencia de un círculo mediante el uso del módulo math en Python. El instructor destaca la importancia de importar librerías estándar para obtener alta precisión y enseña técnicas de formateo de cadenas para controlar el número de decimales en los resultados.
Key insight: Para limitar los decimales en una salida de punto flotante en Python, puedes utilizar el especificador de formato :.nf dentro de una f-string, donde n es la cantidad de decimales deseados.

13. Programación en Python | Ejercicio 1 – Operación aritmética
Programación ATS
Nov 30, 2018
Este episodio guía a los estudiantes a traducir expresiones matemáticas complejas en algoritmos ejecutables. Al priorizar el uso de variables y la conversión de tipos de datos, los principiantes aprenden a estructurar operaciones aritméticas correctamente en Python.
Key insight: La importancia de estructurar expresiones matemáticas en bloques lógicos (numerador y denominador) para evitar errores de sintaxis y precedencia de operadores.

46. Programación desde Cero | Ciclos | Ejercicio 7 - Sumas iterativas y conteos
Programación ATS
Nov 18, 2018
Este episodio explora cómo implementar un algoritmo en seudocódigo que procesa una lista de N números. El enfoque principal es la lógica condicional para clasificar números pares e impares, calcular sus sumas, conteos y promedios, evitando errores comunes como la división por cero.
Key insight: El programa maneja escenarios donde no existen números pares o impares mediante condicionales preventivos para evitar errores de ejecución en el cálculo del promedio.

45. Programación desde Cero | Ciclos | Ejercicio 6 - Suma iterativa de cuadrados
Programación ATS
Nov 18, 2018
Este tutorial enseña a calcular una serie de potencias cuadradas utilizando el ciclo 'mientras' en PSeInt y diagramas Nassi-Shneiderman. Se demuestra cómo implementar un acumulador y un iterador para sumar elementos de forma eficiente hasta un límite definido por el usuario.
Key insight: El algoritmo logra calcular la suma de cuadrados (1²+2²+3²+...n²) de forma dinámica simplemente definiendo un iterador que incrementa su valor dentro de una estructura de control repetitiva.

44. Programación desde Cero | Ciclos | Ejercicio 5 - Factorial de un número
Programación ATS
Nov 18, 2018
Este tutorial enseña a implementar el cálculo de factoriales mediante ciclos en PSeInt. Se destaca la importancia de validar la entrada de datos con un ciclo 'repetir hasta que' para evitar números negativos y el uso correcto de inicialización de variables para operaciones multiplicativas.
Key insight: Al realizar una multiplicación iterativa, la variable acumuladora debe inicializarse en 1 en lugar de 0, ya que cualquier número multiplicado por 0 resultará en 0.

43. Programación desde Cero | Ciclos | Ejercicio 4 - Calificación promedio y mas baja
Programación ATS
Nov 17, 2018
Este tutorial práctico enseña a resolver un problema de acumulación y comparación de datos mediante el ciclo 'para' en pseudocódigo. Aprenderás a estructurar algoritmos para calcular promedios y encontrar valores mínimos de forma eficiente.
Key insight: Para encontrar el valor mínimo de un conjunto, inicializar una variable con un valor extremadamente alto y reemplazarla mediante una comparación condicional en cada iteración es la técnica más efectiva.

42. Programación desde Cero | Ciclos | Ejercicio 3 - Conteo de positivos, negativos y neutros
Programación ATS
Nov 16, 2018
Este tutorial resuelve el ejercicio de clasificar 10 números ingresados por el usuario utilizando el ciclo 'para' y contadores. La lógica central utiliza condicionales para categorizar cada entrada en tiempo real antes de mostrar los totales finales.
Key insight: La clave para resolver este problema es inicializar los contadores en cero antes de entrar al ciclo para evitar errores en la suma acumulativa.

41. Programación desde Cero | Ciclos | Ejercicio 2 - Suma de pares e impares dentro de un rango
Programación ATS
Nov 16, 2018
Este video demuestra cómo utilizar ciclos 'para' y condicionales lógicos para realizar dos sumas independientes: números pares e impares dentro de un rango específico. Aprenderás a estructurar un diagrama de flujo eficiente que evita el cálculo manual repetitivo.
Key insight: El algoritmo logra calcular la suma de pares (600) e impares (624) entre 1 y 50 de forma inmediata sin necesidad de solicitar datos al usuario.

40. Programación desde Cero | Ciclos | Ejercicio 1 - Suma de los N primeros números
Programación ATS
Nov 16, 2018
Aprende a implementar una suma iterativa paso a paso utilizando el ciclo para. Esta técnica es fundamental para resolver problemas de estructuras repetitivas en programación más allá de usar fórmulas matemáticas simples.
Key insight: Entender la suma iterativa como un proceso donde el valor de una variable se actualiza constantemente dentro de un bucle, sumando su valor anterior con el nuevo valor del iterador.

39. Programación desde Cero | Ciclos | Ciclos con un número indeterminado de iteraciones
Programación ATS
Nov 15, 2018
Este episodio explora los ciclos con número indeterminado de iteraciones, enfocándose en las estructuras 'Mientras hacer' y 'Repetir hasta que'. Aprenderás a utilizar condiciones lógicas para controlar el flujo de ejecución, comprendiendo las diferencias críticas en la evaluación de condiciones y la garantía de ejecución mínima.
Key insight: El bucle 'Repetir hasta que' garantiza al menos una ejecución de su bloque de código, independientemente de la condición, a diferencia del bucle 'Mientras hacer', que puede no ejecutarse nunca si la condición es falsa desde el inicio.

38. Programación desde Cero | Ciclos | Ciclos con un número determinado de iteraciones
Programación ATS
Nov 15, 2018
Las estructuras repetitivas son bloques de código esenciales para ejecutar tareas cíclicas de forma eficiente. Aprender a utilizarlas permite automatizar procesos repetitivos con un número determinado o indeterminado de iteraciones.
Key insight: El uso del ciclo 'para' permite automatizar tareas tediosas como imprimir un mensaje 100 veces, resumiendo 100 líneas de código en un solo bloque ejecutable.

37. Programación desde Cero | Condicionales | Ejercicio 9 - Menú de opciones
Programación ATS
Nov 14, 2018
Este tutorial enseña a gestionar estructuras de control mediante menús de opciones en diagramas Nassi-Shneiderman. Aprenderás a integrar múltiples condiciones para dirigir el flujo del programa según la elección del usuario.
Key insight: El uso de la estructura 'según' o condicional múltiple permite evitar anidamientos complejos de 'si-entonces', simplificando drásticamente la legibilidad del código.

36. Programación desde Cero | Condicionales | Ejercicio 8 - Significado de aniversario
Programación ATS
Nov 14, 2018
Este tutorial enseña a resolver problemas de lógica mediante condicionales múltiples en PSeInt. Aprenderás a estructurar un programa que categoriza aniversarios según décadas, optimizando el flujo de decisiones para evitar estructuras anidadas complejas.
Key insight: El uso del símbolo de 'según sea' en PSeInt simplifica radicalmente el código en comparación con múltiples condicionales 'si-entonces' anidados.

35. Programación desde Cero | Condicionales | Ejercicio 7 - Día de la semana según un número
Programación ATS
Nov 14, 2018
Aprende a simplificar tu código usando estructuras condicionales múltiples en lugar de simples cadenas. Este tutorial muestra cómo mapear números del 1 al 7 a los días de la semana de forma eficiente.
Key insight: El uso de la instrucción 'según' permite ejecutar múltiples caminos lógicos basándose en una sola variable, haciendo el código mucho más legible y rápido que con condicionales dobles encadenados.

34. Programación desde Cero | Condicionales | Ejercicio 6 - Descuento según kilos de manzanas
Programación ATS
Nov 13, 2018
La automatización del cálculo de precios en una frutería ilustra cómo utilizar estructuras condicionales para aplicar descuentos variables según el volumen de compra. Al procesar el precio total inicial y restar el porcentaje correspondiente a cada rango, el software garantiza una facturación precisa y eficiente.
Key insight: La implementación de operadores lógicos 'AND' dentro de condicionales anidados permite gestionar rangos de precios complejos, asegurando que cada nivel de descuento se aplique de forma precisa sin solapamientos.

33. Programación desde Cero | Condicionales | Ejercicio 5 - Determinar el mayor de 3 números
Programación ATS
Nov 13, 2018
Este episodio demuestra cómo resolver el problema de identificar el valor máximo entre tres números distintos utilizando estructuras condicionales y operadores lógicos. Se enfatiza la optimización del código mediante el uso de operadores 'AND' para reducir la complejidad de la ramificación lógica.
Key insight: El uso estratégico de operadores lógicos (AND) permite simplificar drásticamente la lógica de comparación, evitando anidaciones innecesarias y haciendo el código más legible y eficiente.

32. Programación desde Cero | Condicionales | Ejercicio 4 - Operaciones con 2 números
Programación ATS
Nov 13, 2018
Este ejercicio enseña a implementar lógica jerárquica mediante estructuras condicionales anidadas. La clave reside en evaluar múltiples condiciones mutuamente excluyentes para ejecutar operaciones específicas de multiplicación, resta o suma.
Key insight: El concepto de condicionales anidados permite manejar escenarios de ramificación lógica compleja al colocar un bloque de decisión completo dentro de otro.

30. Programación desde Cero | Condicionales | Ejercicio 2 - Alumno aprobado o desaprobado
Programación ATS
Nov 12, 2018
Este episodio guía paso a paso en la creación de un diagrama de flujo para determinar si un alumno aprueba un curso. La lógica se centra en el cálculo del promedio aritmético de tres calificaciones y su validación mediante una estructura condicional doble.
Key insight: La visualización mediante diagramas de flujo simplifica la comprensión de los condicionales al representar explícitamente las rutas verdadero/falso con un rombo.

17. Programación desde Cero | Entidades Primitivas | Ejercicio 2 - Operaciones
Programación ATS
Oct 27, 2017
Este episodio guía paso a paso cómo transformar expresiones matemáticas complejas en código algorítmico utilizando PSeInt. Aprenderás a integrar operadores aritméticos, relacionales y lógicos para obtener resultados booleanos precisos.
Key insight: La resolución de una expresión lógica sigue una jerarquía estricta: primero se resuelven las operaciones aritméticas internas, luego las relaciones, y finalmente los operadores lógicos (AND/OR).

16. Programación desde Cero | Entidades Primitivas | Ejercicio 1 - Operación aritmética
Programación ATS
Oct 24, 2017
Dominar la traducción de expresiones matemáticas a algoritmos es crucial para la programación. Este proceso enseña la estructuración lógica de problemas complejos, desde la definición de variables hasta la implementación de operaciones, utilizando herramientas como PSeInt para visualizar cada paso.
Key insight: La clave para convertir una expresión matemática en un algoritmo eficaz radica en dividirla en bloques lógicos, como numerador y denominador, permitiendo una traducción directa y estructurada al código.

15. Programación desde Cero | Entidades Primitivas | Funciones Internas
Programación ATS
Oct 22, 2017
El video detalla el uso de funciones internas en PSeInt, herramientas estándar para realizar cálculos matemáticos y trigonométricos complejos. Estas funciones permiten optimizar el desarrollo de algoritmos mediante operaciones predefinidas como valores absolutos, redondeos, raíces cuadradas y generación de números aleatorios.
Key insight: La función azar(n) devuelve un número aleatorio en el rango de 0 hasta n-1, facilitando la creación de elementos de azar en la programación de algoritmos.

14. Programación desde Cero | Entidades Primitivas | Operadores Lógicos
Programación ATS
Oct 20, 2017
Los operadores lógicos (AND, OR, NOT) permiten crear relaciones complejas entre variables booleanas. El tutorial desglosa sus tablas de verdad, su jerarquía de ejecución y cómo implementarlos correctamente en PSeInt para el control de flujo.
Key insight: El operador NOT es el de mayor prioridad en la jerarquía, seguido por el AND y finalmente el OR.