|
@@ -493,7 +493,7 @@ Escriba código en un pizarrón o en papel no en la computadora. Pruebe con algu
|
|
|
- [ ] [UC Berkeley Big Omega (video)](https://youtu.be/ca3e7UVmeUc)
|
|
|
- [ ] [Amortized Analysis (video)](https://www.youtube.com/watch?v=B3SpQZaAZP4&index=10&list=PL1BaGV1cIH4UhkL8a9bJGG356covJ76qN)
|
|
|
- [ ] [Illustrating "Big O" (video)](https://class.coursera.org/algorithmicthink1-004/lecture/63)
|
|
|
-- [ ] TopCoder (includes recurrence relations and master theorem):
|
|
|
+- [ ] TopCoder (incluye relaciones de recurrencia y teorema maestro):
|
|
|
- [Computational Complexity: Section 1](https://www.topcoder.com/community/data-science/data-science-tutorials/computational-complexity-section-1/)
|
|
|
- [Computational Complexity: Section 2](https://www.topcoder.com/community/data-science/data-science-tutorials/computational-complexity-section-2/)
|
|
|
- [ ] [Cheat sheet](http://bigocheatsheet.com/)
|
|
@@ -615,7 +615,7 @@ Escriba código en un pizarrón o en papel no en la computadora. Pruebe con algu
|
|
|
- [ ] [Core Hash Tables (video)](https://www.coursera.org/learn/data-structures-optimizing-performance/lecture/m7UuP/core-hash-tables)
|
|
|
- [ ] [Data Structures (video)](https://www.coursera.org/learn/data-structures/home/week/3)
|
|
|
- [ ] [Phone Book Problem (video)](https://www.coursera.org/learn/data-structures/lecture/NYZZP/phone-book-problem)
|
|
|
- - [ ] distributed hash tables:
|
|
|
+ - [ ] Matriz asociativas distribuidas:
|
|
|
- [Instant Uploads And Storage Optimization In Dropbox (video)](https://www.coursera.org/learn/data-structures/lecture/DvaIb/instant-uploads-and-storage-optimization-in-dropbox)
|
|
|
- [Distributed Hash Tables (video)](https://www.coursera.org/learn/data-structures/lecture/tvH8H/distributed-hash-tables)
|
|
|
|
|
@@ -647,19 +647,19 @@ Escriba código en un pizarrón o en papel no en la computadora. Pruebe con algu
|
|
|
- [ ] [Bithacks](https://graphics.stanford.edu/~seander/bithacks.html)
|
|
|
- [ ] [The Bit Twiddler](http://bits.stephan-brumme.com/)
|
|
|
- [ ] [The Bit Twiddler Interactive](http://bits.stephan-brumme.com/interactive.html)
|
|
|
- - [ ] 2s and 1s complement
|
|
|
+ - [ ] Complemento a uno y dos
|
|
|
- [Binary: Plusses & Minuses (Why We Use Two's Complement) (video)](https://www.youtube.com/watch?v=lKTsv6iVxV4)
|
|
|
- [1s Complement](https://en.wikipedia.org/wiki/Ones%27_complement)
|
|
|
- [2s Complement](https://en.wikipedia.org/wiki/Two%27s_complement)
|
|
|
- - [ ] count set bits
|
|
|
+ - [ ] Contar bits puestos
|
|
|
- [4 ways to count bits in a byte (video)](https://youtu.be/Hzuzo9NJrlc)
|
|
|
- [Count Bits](https://graphics.stanford.edu/~seander/bithacks.html#CountBitsSetKernighan)
|
|
|
- [How To Count The Number Of Set Bits In a 32 Bit Integer](http://stackoverflow.com/questions/109023/how-to-count-the-number-of-set-bits-in-a-32-bit-integer)
|
|
|
- - [ ] round to next power of 2:
|
|
|
+ - [ ] Redondeo a la próxima potencia de 2:
|
|
|
- [Round Up To Next Power Of Two](http://bits.stephan-brumme.com/roundUpToNextPowerOfTwo.html)
|
|
|
- - [ ] swap values:
|
|
|
+ - [ ] Valor de intercambio:
|
|
|
- [Swap](http://bits.stephan-brumme.com/swap.html)
|
|
|
- - [ ] absolute value:
|
|
|
+ - [ ] Valores absolutos:
|
|
|
- [Absolute Integer](http://bits.stephan-brumme.com/absInteger.html)
|
|
|
|
|
|
## Árboles
|
|
@@ -877,13 +877,13 @@ Obtendrá más práctica de grafos en el libro de Skiena (vea Sección de libros
|
|
|
|
|
|
## Más información adicional
|
|
|
- ### Recursión
|
|
|
- - [ ] Stanford lectures on recursion & backtracking:
|
|
|
+ - [ ] Conferencias de Stanford sobre la recursividad y retroceso:
|
|
|
- [ ] [Lecture 8 | Programming Abstractions (video)](https://www.youtube.com/watch?v=gl3emqCuueQ&list=PLFE6E58F856038C69&index=8)
|
|
|
- [ ] [Lecture 9 | Programming Abstractions (video)](https://www.youtube.com/watch?v=uFJhEPrbycQ&list=PLFE6E58F856038C69&index=9)
|
|
|
- [ ] [Lecture 10 | Programming Abstractions (video)](https://www.youtube.com/watch?v=NdF1QDTRkck&index=10&list=PLFE6E58F856038C69)
|
|
|
- [ ] [Lecture 11 | Programming Abstractions (video)](https://www.youtube.com/watch?v=p-gpaIGRCQI&list=PLFE6E58F856038C69&index=11)
|
|
|
- - when it is appropriate to use it
|
|
|
- - how is tail recursion better than not?
|
|
|
+ - Cuando es apropiado usarlo
|
|
|
+ - ¿Cómo es la recursión de cola mejor que no?
|
|
|
- [ ] [What Is Tail Recursion Why Is It So Bad?](https://www.quora.com/What-is-tail-recursion-Why-is-it-so-bad)
|
|
|
- [ ] [Tail Recursion (video)](https://www.youtube.com/watch?v=L1jjXGfxozc)
|
|
|
|
|
@@ -901,7 +901,7 @@ Obtendrá más práctica de grafos en el libro de Skiena (vea Sección de libros
|
|
|
- [ ] [Simonson: Dynamic programming II - Lecture 12 (video)](https://www.youtube.com/watch?v=v1qiRwuJU7g&list=PLFDnELG9dpVxQCxuD-9BSy2E7BWY3t5Sm&index=12)
|
|
|
- [ ] Lista de problemas individuales de PD (cada uno es corto):
|
|
|
[Dynamic Programming (video)](https://www.youtube.com/playlist?list=PLrmLmBdmIlpsHaNTPP_jHHDx_os9ItYXr)
|
|
|
- - [ ] Yale Lecture notes:
|
|
|
+ - [ ] Notas de la clase de Yale:
|
|
|
- [ ] [Dynamic Programming](http://www.cs.yale.edu/homes/aspnes/classes/223/notes.html#dynamicProgramming)
|
|
|
- [ ] Coursera:
|
|
|
- [ ] [The RNA secondary structure problem (video)](https://www.coursera.org/learn/algorithmic-thinking-2/lecture/80RrW/the-rna-secondary-structure-problem)
|
|
@@ -917,7 +917,7 @@ Obtendrá más práctica de grafos en el libro de Skiena (vea Sección de libros
|
|
|
- [ ] Object-Oriented Software Engineering: Software Dev Using UML and Java (21 videos):
|
|
|
- Puede omitir esto si tiene una gran comprensión de OO y OO prácticas de diseño.
|
|
|
- [OOSE: Software Dev Using UML and Java](https://www.youtube.com/playlist?list=PLJ9pm_Rc9HesnkwKlal_buSIHA-jTZMpO)
|
|
|
- - [ ] SOLID OOP Principles:
|
|
|
+ - [ ] Principios SOLID OOP:
|
|
|
- [ ] [Bob Martin SOLID Principles of Object Oriented and Agile Design (video)](https://www.youtube.com/watch?v=TMuno5RZNeE)
|
|
|
- [ ] [SOLID Principles (video)](https://www.youtube.com/playlist?list=PL4CE9F710017EA77A)
|
|
|
- [ ] S - [Single Responsibility Principle](http://www.oodesign.com/single-responsibility-principle.html) | [Single responsibility to each Object](http://www.javacodegeeks.com/2011/11/solid-single-responsibility-principle.html)
|
|
@@ -926,10 +926,10 @@ Obtendrá más práctica de grafos en el libro de Skiena (vea Sección de libros
|
|
|
- [more flavor](http://docs.google.com/a/cleancoder.com/viewer?a=v&pid=explorer&chrome=true&srcid=0BwhCYaYDn8EgN2M5MTkwM2EtNWFkZC00ZTI3LWFjZTUtNTFhZGZiYmUzODc1&hl=en)
|
|
|
- [ ] L - [Liskov Substitution Principal](http://www.oodesign.com/liskov-s-substitution-principle.html) | [Base Class and Derived class follow ‘IS A’ principal](http://stackoverflow.com/questions/56860/what-is-the-liskov-substitution-principle)
|
|
|
- [more flavor](http://docs.google.com/a/cleancoder.com/viewer?a=v&pid=explorer&chrome=true&srcid=0BwhCYaYDn8EgNzAzZjA5ZmItNjU3NS00MzQ5LTkwYjMtMDJhNDU5ZTM0MTlh&hl=en)
|
|
|
- - [ ] I - [Interface segregation principle](http://www.oodesign.com/interface-segregation-principle.html) | clients should not be forced to implement interfaces they don't use
|
|
|
+ - [ ] I - [Interface segregation principle](http://www.oodesign.com/interface-segregation-principle.html) | Los clients no deberían ser forzados a implementar interfaces no usarán
|
|
|
- [Interface Segregation Principle in 5 minutes (video)](https://www.youtube.com/watch?v=3CtAfl7aXAQ)
|
|
|
- [more flavor](http://docs.google.com/a/cleancoder.com/viewer?a=v&pid=explorer&chrome=true&srcid=0BwhCYaYDn8EgOTViYjJhYzMtMzYxMC00MzFjLWJjMzYtOGJiMDc5N2JkYmJi&hl=en)
|
|
|
- - [ ] D -[Dependency Inversion principle](http://www.oodesign.com/dependency-inversion-principle.html) | Reduce the dependency In composition of objects.
|
|
|
+ - [ ] D -[Dependency Inversion principle](http://www.oodesign.com/dependency-inversion-principle.html) | Reducir la dependencia en la composición de los objetos.
|
|
|
- [Why Is The Dependency Inversion Principle And Why Is It Important](http://stackoverflow.com/questions/62539/what-is-the-dependency-inversion-principle-and-why-is-it-important)
|
|
|
- [more flavor](http://docs.google.com/a/cleancoder.com/viewer?a=v&pid=explorer&chrome=true&srcid=0BwhCYaYDn8EgMjdlMWIzNGUtZTQ0NC00ZjQ5LTkwYzQtZjRhMDRlNTQ3ZGMz&hl=en)
|
|
|
|
|
@@ -958,7 +958,7 @@ Obtendrá más práctica de grafos en el libro de Skiena (vea Sección de libros
|
|
|
- [ ] [Chapter 6 (Part 3) - Adapter, Facade, Immutable, Read-Only Interface, Proxy (video)](https://www.youtube.com/watch?v=7sduBHuex4c&index=13&list=PLJ9pm_Rc9HesnkwKlal_buSIHA-jTZMpO)
|
|
|
- [ ] [Series of videos (27 videos)](https://www.youtube.com/playlist?list=PLF206E906175C7E07)
|
|
|
- [ ] [Head First Design Patterns](https://www.amazon.com/Head-First-Design-Patterns-Freeman/dp/0596007124)
|
|
|
- - I know the canonical book is "Design Patterns: Elements of Reusable Object-Oriented Software", but Head First is great for beginners to OO.
|
|
|
+ - Sé que el libro canónico es "Design Patterns: Elements of Reusable Object-Oriented Software", pero Head First es ideal para principiantes a OO.
|
|
|
- [ ] [Handy reference: 101 Design Patterns & Tips for Developers](https://sourcemaking.com/design-patterns-and-tips)
|
|
|
- [ ] [Design patterns for humans](https://github.com/kamranahmedse/design-patterns-for-humans#structural-design-patterns)
|
|
|
|
|
@@ -968,9 +968,9 @@ Obtendrá más práctica de grafos en el libro de Skiena (vea Sección de libros
|
|
|
- [ ] [Make School: Probability (video)](https://www.youtube.com/watch?v=sZkAAk9Wwa4)
|
|
|
- [ ] [Make School: More Probability and Markov Chains (video)](https://www.youtube.com/watch?v=dNaJg-mLobQ)
|
|
|
- [ ] Khan Academy:
|
|
|
- - Course layout:
|
|
|
+ - Diseño del curso:
|
|
|
- [ ] [Basic Theoretical Probability](https://www.khanacademy.org/math/probability/probability-and-combinatorics-topic)
|
|
|
- - Just the videos - 41 (each are simple and each are short):
|
|
|
+ - Solo los videos - 41 (cada uno simple y corto):
|
|
|
- [ ] [Probability Explained (video)](https://www.youtube.com/watch?v=uzkc-qNVoOk&list=PLC58778F28211FA19)
|
|
|
|
|
|
- ### NP, NP-Completo y Algoritmos de aproximación
|
|
@@ -1057,7 +1057,7 @@ Obtendrá más práctica de grafos en el libro de Skiena (vea Sección de libros
|
|
|
- [ ] [2010: Dapper, a Large-Scale Distributed Systems Tracing Infrastructure](https://research.google.com/pubs/archive/36356.pdf)
|
|
|
- [ ] [2010: Dremel: Interactive Analysis of Web-Scale Datasets](https://static.googleusercontent.com/media/research.google.com/en//pubs/archive/36632.pdf)
|
|
|
- [ ] [2012: Google's Colossus](https://www.wired.com/2012/07/google-colossus/)
|
|
|
- - paper not available
|
|
|
+ - Documento no disponible
|
|
|
- [ ] 2012: AddressSanitizer: A Fast Address Sanity Checker:
|
|
|
- [paper](http://static.googleusercontent.com/media/research.google.com/en//pubs/archive/37752.pdf)
|
|
|
- [video](https://www.usenix.org/conference/atc12/technical-sessions/presentation/serebryany)
|
|
@@ -1187,15 +1187,15 @@ Obtendrá más práctica de grafos en el libro de Skiena (vea Sección de libros
|
|
|
- [ ] [How long does it take to make a context switch?](http://blog.tsunanet.net/2010/11/how-long-does-it-take-to-make-context.html)
|
|
|
- [ ] [Transactions Across Datacenters (video)](https://www.youtube.com/watch?v=srOgpXECblk)
|
|
|
- [ ] [A plain English introduction to CAP Theorem](http://ksat.me/a-plain-english-introduction-to-cap-theorem/)
|
|
|
-- [ ] Paxos Consensus algorithm:
|
|
|
+- [ ] Algoritmo de consenso de Paxos:
|
|
|
- [short video](https://www.youtube.com/watch?v=s8JqcZtvnsM)
|
|
|
- [extended video with use case and multi-paxos](https://www.youtube.com/watch?v=JEpsBg0AO6o)
|
|
|
- [paper](http://research.microsoft.com/en-us/um/people/lamport/pubs/paxos-simple.pdf)
|
|
|
- [ ] [Consistent Hashing](http://www.tom-e-white.com/2007/11/consistent-hashing.html)
|
|
|
- [ ] [NoSQL Patterns](http://horicky.blogspot.com/2009/11/nosql-patterns.html)
|
|
|
-- [ ] Scalability:
|
|
|
+- [ ] Escalabilidad:
|
|
|
- [ ] [Great overview (video)](https://www.youtube.com/watch?v=-W9F__D3oY4)
|
|
|
- - [ ] Short series:
|
|
|
+ - [ ] Series Cortas:
|
|
|
- [Clones](http://www.lecloud.net/post/7295452622/scalability-for-dummies-part-1-clones)
|
|
|
- [Database](http://www.lecloud.net/post/7994751381/scalability-for-dummies-part-2-database)
|
|
|
- [Cache](http://www.lecloud.net/post/9246290032/scalability-for-dummies-part-3-cache)
|
|
@@ -1446,8 +1446,7 @@ Nunca está de verdad realizado.
|
|
|
*****************************************************************************************************
|
|
|
Todo lo que está debajo de este punto es opcional.
|
|
|
Mediante el estudio de estos, obtendrá una mayor exposición a más conceptos de la Ciencia de
|
|
|
-
|
|
|
-la Computación, y estará mejor preparado para cualquier trabajo de Ingeniería de Software. Usted será un Ingeniero de Software mucho más completo.
|
|
|
+ la Computación, y estará mejor preparado para cualquier trabajo de Ingeniería de Software. Usted será un Ingeniero de Software mucho más completo.
|
|
|
*****************************************************************************************************
|
|
|
*****************************************************************************************************
|
|
|
|
|
@@ -1643,7 +1642,7 @@ Es probable que estos temas no aparezcan en una entrevista, pero los añadí par
|
|
|
- Quiero aprender más acerca de los Árboles-B ya que se utiliza tan ampliamente con conjuntos de datos muy grandes.
|
|
|
- [ ] [Self-balancing binary search tree](https://en.wikipedia.org/wiki/Self-balancing_binary_search_tree)
|
|
|
|
|
|
- - [ ] ** Árboles AVL **
|
|
|
+ - [ ] **Árboles AVL**
|
|
|
- En práctica:
|
|
|
Por lo que puedo decir, estos no se usan mucho en la práctica, pero pude ver dónde estarían:
|
|
|
El árbol AVL es otra estructura que soporta la búsqueda, inserción y eliminación de O (log n). Es más rígidamente equilibrado que los árboles rojo-negro, lo que lleva a una inserción y eliminación más lenta, pero más rápido la recuperación. Esto lo hace atractivo para las estructuras de datos que se pueden construir una vez y se cargan sin reconstrucción, como diccionarios de idiomas (o diccionarios de programas, como los opcodes de un ensamblador o intérprete).
|
|
@@ -1711,7 +1710,7 @@ Es probable que estos temas no aparezcan en una entrevista, pero los añadí par
|
|
|
- [ ] [kNN K-d tree algorithm (video)](https://www.youtube.com/watch?v=Y4ZgLlDfKDg)
|
|
|
|
|
|
- ### Lista por saltos
|
|
|
- - " Éstos son algo de una culta estructura de datos" - Skiena
|
|
|
+ - " Éste es algo de una culta estructura de datos" - Skiena
|
|
|
- [ ] [Randomization: Skip Lists (video)](https://www.youtube.com/watch?v=2g9OSRKJuzM&index=10&list=PLUl4u3cNGP6317WaSNfmCvGym2ucw3oGp)
|
|
|
- [ ] [For animations and a little more detail](https://en.wikipedia.org/wiki/Skip_list)
|
|
|
|
|
@@ -1767,8 +1766,8 @@ Es probable que estos temas no aparezcan en una entrevista, pero los añadí par
|
|
|
- [Google/Kaggle Machine Learning Engineer Nanodegree](https://www.udacity.com/course/machine-learning-engineer-nanodegree-by-google--nd009)
|
|
|
- [Self-Driving Car Engineer Nanodegree](https://www.udacity.com/drive)
|
|
|
- [Metis Online Course ($99 for 2 months)](http://www.thisismetis.com/explore-data-science)
|
|
|
- - Resources:
|
|
|
- - Books:
|
|
|
+ - Recursos:
|
|
|
+ - Libros:
|
|
|
- [Python Machine Learning](https://www.amazon.com/Python-Machine-Learning-Sebastian-Raschka/dp/1783555130/)
|
|
|
- [Data Science from Scratch: First Principles with Python](https://www.amazon.com/Data-Science-Scratch-Principles-Python/dp/149190142X)
|
|
|
- [Introduction to Machine Learning with Python](https://www.amazon.com/Introduction-Machine-Learning-Python-Scientists/dp/1449369413/)
|
|
@@ -1803,7 +1802,7 @@ Es probable que estos temas no aparezcan en una entrevista, pero los añadí par
|
|
|
- [ ] [Synchronous Distributed Algorithms: Symmetry-Breaking. Shortest-Paths Spanning Trees](https://www.youtube.com/watch?v=mUBmcbbJNf4&list=PLUl4u3cNGP6317WaSNfmCvGym2ucw3oGp&index=27)
|
|
|
- [ ] [Asynchronous Distributed Algorithms: Shortest-Paths Spanning Trees](https://www.youtube.com/watch?v=kQ-UQAzcnzA&list=PLUl4u3cNGP6317WaSNfmCvGym2ucw3oGp&index=28)
|
|
|
|
|
|
-- [ ] MIT **Probability** (mathy, and go slowly, which is good for mathy things) (videos):
|
|
|
+- [ ] MIT **Probability** (Matemático y va lento, que es bueno para las cosas matemáticas) (videos):
|
|
|
- [ ] [MIT 6.042J - Probability Introduction](https://www.youtube.com/watch?v=SmFwFdESMHI&index=18&list=PLB7540DEDD482705B)
|
|
|
- [ ] [MIT 6.042J - Conditional Probability](https://www.youtube.com/watch?v=E6FbvM-FGZ8&index=19&list=PLB7540DEDD482705B)
|
|
|
- [ ] [MIT 6.042J - Independence](https://www.youtube.com/watch?v=l1BCv3qqW4A&index=20&list=PLB7540DEDD482705B)
|
|
@@ -1828,9 +1827,9 @@ Es probable que estos temas no aparezcan en una entrevista, pero los añadí par
|
|
|
- [Boyer-Moore String Search Algorithm](https://en.wikipedia.org/wiki/Boyer%E2%80%93Moore_string_search_algorithm)
|
|
|
- [Advanced String Searching Boyer-Moore-Horspool Algorithms (video)](https://www.youtube.com/watch?v=QDZpzctPf10)
|
|
|
- [ ] [Coursera: Algorithms on Strings](https://www.coursera.org/learn/algorithms-on-strings/home/week/1)
|
|
|
- - starts off great, but by the time it gets past KMP it gets more complicated than it needs to be
|
|
|
- - nice explanation of tries
|
|
|
- - can be skipped
|
|
|
+ - Inicia bien, pero en el momento en que pasa KMP se vuelve más complicado de lo que necesita ser
|
|
|
+ - Buena explicación de los tries
|
|
|
+ - Puede saltarse
|
|
|
|
|
|
- [ ] **Sorting**
|
|
|
|