Spanish 字幕

← 01-06 Algorithms Are Cool

01-06 Los Algoritmos Son Geniales

埋め込みコードを取得する
3言語

Subtitles translated from 英語(米国) Showing Revision 10 created 02/18/2013 by Néstor Noziglia.

  1. Lo que he mostrado hasta ahora no es realmente un algoritmo,
  2. pero tiene algunos elementos en común con ellos.
  3. Los algoritmos son realmente fantásticos. De esto trata esta clase.
  4. Una de las razones por la que son fantásticos es que realmente son útiles.
  5. Sin un cuidadoso diseńo de algoritmos no veríamos respuestas suficientemente rápidas de
  6. cosas como sitios web o interfaces de usuario - cosas que realmente dependen de
  7. ser capaz de tener computadoras que reaccionen rápidamente.
  8. Otra es que son realmente inteligentes. Son muy lindos, matemáticamente.
  9. Al igual que un truco de magia, a veces aprender cómo hace lo que hace
  10. puede ser tan emocionante como lo que en realidad lleva a cabo.
  11. La parte práctica del diseńo de algoritmos es tratar de averiguar cómo hacer para que los programas "vuelen" -
  12. es decir, que realmente funcionen muy rápido.
  13. Hay algunas maneras diferentes en que se puede hacer esto cuando se programa.
  14. Una de ellos, se debe poner gran cuidado en la organización de los programas
  15. para que no hagan un montón de cosas de derroche.
  16. Eso es evidente, pero de todos modos lo digo.
  17. Se gasta demasiado tiempo retocando bucles y otras cosas en el programa
  18. solo para librarse de pequeñas partes ineficientes, y eso es importante.
  19. Pero quizás lo más importante sea el buen diseño de algoritmos.
  20. Siempre que el programa hace algo que implica una gran cantidad de cálculo
  21. hay que pensar muy bien cómo organizar ese cálculo
  22. para que haga lo que se quiere hacer, pero que lo haga rápido.
  23. Ese es el enfoque de este curso.
  24. Podemos pensar en el problema de desarrollar algoritmos para problemas específicos
  25. como un tipo de algoritmo en sí.
  26. Aquí lo he escrito como una especie de imitación de Python. En realidad no se puede ejecutar esto.
  27. Yo no recomendaría ejecutar esto, pero debería darles una idea del flujo aquí.
  28. Tenemos que comenzar con algún tipo de
    especificación del problema.
  29. Nos referiremos a algunos ejemplos de ellas a lo largo del curso.
  30. Para la especificación de los problemas que actualmente nos ocupa,
  31. vamos a comenzar elaborando un algoritmo para el problema.
  32. Eso significa pensar en ello, empezar con algún tipo de estrategia o plan
  33. para hacer el cálculo. Llamaremos a eso nuestro algoritmo.
  34. Ellos no están terminados. Tenemos que asegurarnos de que este algoritmo sea correcto.
  35. Lo primero que queremos hacer cuando proponemos un algoritmo
  36. es analizar su exactitud con respecto a la especificación del problema
  37. para ver si realmente logra lo que el problema dice que se debe cumplir.
  38. A veces eso es bastante obvio y directo.
  39. A veces, implica una buena cantidad de análisis matemático.
  40. Vamos a ver diferentes ejemplos de ellos que a medida que avancemos.
  41. Una vez que hayamos analizado nuestro algoritmo para asegurarnos que es correcto,
  42. podemos analizar su eficiencia.
  43. Hace lo que se supone que debe hacer, pero ¿lo hace lo suficientemente rápido?
  44. Eventualmente determinamos el tiempo de ejecución del algoritmo.
  45. Si no es correcto, o si no es lo suficientemente rápido
  46. tenemos que continuar con este proceso, reelaborar el algoritmo, reanalizarlo,
  47. y seguir haciendo esto hasta que tengamos algo que resuelva el problema
  48. y lo haga suficientemente rápido.
  49. Ese es el algoritmo declaramos ser nuestra solución.