Introducción a los Algoritmos y las Estructuras de Datos, 3: Aprender Estructuras de Datos Lineales con Videos y Preguntas de Entrevistas
()
Información de este libro electrónico
Este libro de instrucciones es el tercer volumen de la serie Introducción a los Algoritmos y las Estructuras de Datos. Está escrito en como un curso. Es un libro muy comprensivo para las estructuras de datos y los algoritmos, que incluye:
- Tutoriales de texto con muchas ilustraciones
- 5 horas de video tutoriales de a
Bolakale Aremu
My educational background is in software development. I work with a few colleagues who are software developers and system engineers. I spent over 17 years as a software developer, and I've done a bunch of other things too. I've been involved in SDLC/process, data science, operating system security and architecture, and many more. My most recent project is serverless computing where I simplify the building and running of distributed systems. I always use a practical approach in my projects and courses. Cheers, Bolakale Aremu (Self-publisher and CEO ); Charles H. Johnson (Co-publisher and Publishing Assistant ).
Lee más de Bolakale Aremu
Tablas dinámicas y Gráficas para Excel: Una guía visual paso a paso Calificación: 0 de 5 estrellas0 calificacionesBiología Molecular y Celular: Una guía introductoria para aprender Biología Celular y Molecular Calificación: 0 de 5 estrellas0 calificacionesComo generar dinero Creando videos de YouTube Sin mostrar tu cara: 4 poderosos secretos para generar riqueza desde canales de YouTube sin mostrar ni la cara ni la voz Calificación: 0 de 5 estrellas0 calificacionesCRIPTOMONEDAS DESDE PRINCIPIANTE A PROFESIONAL REMUNERADO: La ruta del experto a la independencia Financiera Calificación: 0 de 5 estrellas0 calificaciones
Relacionado con Introducción a los Algoritmos y las Estructuras de Datos, 3
Títulos en esta serie (3)
Introducción a los Algoritmos y las Estructuras de Datos, 1: Una base sólida para el mundo real del aprendizaje de máquinas y la estructura de datos Calificación: 0 de 5 estrellas0 calificacionesIntroducción a los Algoritmos y las Estructuras de Datos, 2: Una base sólida para el mundo real del aprendizaje de máquinas y análisis de datos Calificación: 0 de 5 estrellas0 calificacionesIntroducción a los Algoritmos y las Estructuras de Datos, 3: Aprender Estructuras de Datos Lineales con Videos y Preguntas de Entrevistas Calificación: 0 de 5 estrellas0 calificaciones
Libros electrónicos relacionados
Introducción a los Algoritmos y las Estructuras de Datos 3: Introducción a los Algoritmos y las Estructuras de Datos, #3 Calificación: 0 de 5 estrellas0 calificacionesIntroducción a los Algoritmos y las Estructuras de Datos 1: Introducción a los Algoritmos y las Estructuras de Datos, #1 Calificación: 0 de 5 estrellas0 calificacionesIntroducción a los Algoritmos y las Estructuras de Datos, 2: Una base sólida para el mundo real del aprendizaje de máquinas y análisis de datos Calificación: 0 de 5 estrellas0 calificacionesIntroducción a los Algoritmos y las Estructuras de Datos, 1: Una base sólida para el mundo real del aprendizaje de máquinas y la estructura de datos Calificación: 0 de 5 estrellas0 calificacionesIntroducción a los Algoritmos y las Estructuras de Datos 2: Introducción a los Algoritmos y las Estructuras de Datos, #2 Calificación: 0 de 5 estrellas0 calificacionesPython Deep Learning: Introducción práctica con Keras y TensorFlow 2 Calificación: 4 de 5 estrellas4/5SketchUp Pro 2013 paso a paso en español Calificación: 5 de 5 estrellas5/5Aprender Internet Explorer 8 con 100 ejercicios prácticos Calificación: 0 de 5 estrellas0 calificacionesAlgoritmos Genéticos con Python: Un enfoque práctico para resolver problemas de ingeniería Calificación: 5 de 5 estrellas5/5Programación y desarrollo de algoritmos con C++ Calificación: 0 de 5 estrellas0 calificacionesMetodología de la programación Calificación: 0 de 5 estrellas0 calificacionesFundamentos de Programación y Bases de Datos Calificación: 0 de 5 estrellas0 calificacionesLabVIEW: Entorno gráfico de programación Calificación: 4 de 5 estrellas4/5Aprende a programar en Python: de cero al infinito Calificación: 0 de 5 estrellas0 calificacionesMatlab: una introducción con ejemplos prácticos Calificación: 0 de 5 estrellas0 calificacionesModelamiento y simulación de sistemas con Simulink: Aplicaciones en ingeniería estructural Calificación: 4 de 5 estrellas4/5Automatización de Tests de Software Con Selenium Calificación: 0 de 5 estrellas0 calificacionesAgile & Scrum Calificación: 0 de 5 estrellas0 calificacionesUF0852 - Instalación y actualización de sistemas operativos Calificación: 5 de 5 estrellas5/5Aprende programación de computadoras Calificación: 5 de 5 estrellas5/5Google SketchUp Pro 8 paso a paso en español Calificación: 0 de 5 estrellas0 calificacionesTaller De Macros En Hoja De Cálculo Calificación: 0 de 5 estrellas0 calificacionesColecciones de datos y algoritmos en Python: de cero al infinito Calificación: 0 de 5 estrellas0 calificacionesAprender Postproducción Avanzada con After Effects con 100 ejercicios prácticos Calificación: 0 de 5 estrellas0 calificacionesEstructuras de Datos Básicas: Programación orientada a objetos con Java Calificación: 5 de 5 estrellas5/5MATLAB Aplicado a telecomunicaciones Calificación: 0 de 5 estrellas0 calificacionesManual de Autocad 2011 Calificación: 0 de 5 estrellas0 calificacionesFundamentos de Programación y Bases de Datos: 2ª Edición Calificación: 0 de 5 estrellas0 calificacionesMatlab aplicado a telecomunicaciones Calificación: 5 de 5 estrellas5/5Robótica aplicada con LabVIEW y Lego Calificación: 0 de 5 estrellas0 calificaciones
Programación para usted
HTML para novatos Calificación: 5 de 5 estrellas5/5Python Paso a paso: PROGRAMACIÓN INFORMÁTICA/DESARROLLO DE SOFTWARE Calificación: 4 de 5 estrellas4/5Aprende a programar: Crea tu propio sitio web Calificación: 4 de 5 estrellas4/5GuíaBurros Microsoft Excel: Todo lo que necesitas saber sobre esta potente hoja de cálculo Calificación: 4 de 5 estrellas4/5Aprende a programar en C# Calificación: 5 de 5 estrellas5/5Python para principiantes Calificación: 5 de 5 estrellas5/5Lógica de programación: Solucionario en pseudocódigo – Ejercicios resueltos Calificación: 4 de 5 estrellas4/5VBA Excel Guía Esencial Calificación: 5 de 5 estrellas5/5Python Aplicaciones prácticas Calificación: 4 de 5 estrellas4/5El gran libro de Python Calificación: 5 de 5 estrellas5/5Arduino. Edición 2018 Curso práctico Calificación: 4 de 5 estrellas4/5Python a fondo Calificación: 5 de 5 estrellas5/5Aplicaciones web con Php Calificación: 5 de 5 estrellas5/5Ortografía para todos: La tabla periódica de la ortografía Calificación: 5 de 5 estrellas5/5Aprender a programar con Excel VBA con 100 ejercicios práctico Calificación: 5 de 5 estrellas5/5Arduino. Trucos y secretos.: 120 ideas para resolver cualquier problema Calificación: 5 de 5 estrellas5/5Curso básico de Python: La guía para principiantes para una introducción en la programación con Python Calificación: 0 de 5 estrellas0 calificacionesArduino para Principiantes Calificación: 4 de 5 estrellas4/5Aprende a Programar en C++ Calificación: 5 de 5 estrellas5/5Python 3. Curso Práctico: Ventas y marketing Calificación: 4 de 5 estrellas4/5Fundamentos De Programación Calificación: 5 de 5 estrellas5/5Curso de Programación y Análisis de Software Calificación: 4 de 5 estrellas4/5Programación en Visual Basic (VB): DEL ANÁLISIS del Problema al Programa Calificación: 4 de 5 estrellas4/5Aprende a Programar con Java Calificación: 4 de 5 estrellas4/5Fundamentos de programación: un enfoque práctico Calificación: 5 de 5 estrellas5/5Programación Orientada a Objetos Calificación: 3 de 5 estrellas3/5Linux Essentials: una guía para principiantes del sistema operativo Linux Calificación: 5 de 5 estrellas5/5Microsoft C#. Curso de Programación. 2ª Edición Calificación: 4 de 5 estrellas4/5
Comentarios para Introducción a los Algoritmos y las Estructuras de Datos, 3
0 clasificaciones0 comentarios
Vista previa del libro
Introducción a los Algoritmos y las Estructuras de Datos, 3 - Bolakale Aremu
Introducción a los
Algoritmos y
las Estructuras de Datos 3
Aprender Estructuras de Datos Lineales con
Videos y Preguntas de Entrevistas
Bolakale Aremu
Charles Johnson Jr.
Ojula Technology Innovations
___________________
___________________
Esta es una versión electrónica del libro de texto impreso. Debido a las restricciones de derecho, algún contenido de terceras partes puede haberse suprimido. La revisión de la Editorial ha considerado que cualquier supresión al contenido no afecta la experiencia global de aprendizaje. La editorial se reserva el derecho a remover el contenido de este título en cualquier momento si las restricciones subsecuentes de derechos lo requieren. Para la información valuable de precio, ediciones previas, cambios a las ediciones actuales, y formatos alternos, por favor contacta a OjulaTech@gmail.com y pregunta el número ISBN, el autor, o título para materiales en áreas de tu interés.
Introducción a Algoritmos y Estructuras de Datos 3
Primera Edición
© 2023 Ojula Technology Innovations®
ISBN: 979-8-8689-3368-4
Reservados todos los derechos. Queda prohibida la reproducción total o parcial de este libro, su almacenamiento en un sistema de recuperación de datos o su transmisión de cualquier forma o por cualquier medio, sin la autorización previa por escrito del editor, salvo en el caso de citas breves incluidas en artículos críticos o reseñas. En la preparación de este libro se ha hecho todo lo posible para garantizar la exactitud de la información presentada.
Ojula Technology Innovations es un proveedor líder de soluciones de aprendizaje personalizadas con empleados residentes en casi 45 países diferentes y ventas en más de 130 países de todo el mundo. Para más información, póngase en contacto con OjulaTech@gmail.com.
Impreso en los Estados Unidos de América
Número de impresión: 01
Fecha de Impresión: Septiembre 2023
Estoy en deuda con todos los que contribuyeron con este gran trabajo, por su arduo trabajo y su soporte a través del tiempo en que se produjo este libro y los videos que lo acompañan.
Bolakale Aremu
ÍNDICE
0. Lo que obtendrás
0.1. Requerimientos
0.2. Beneficios de aprender algoritmos y estructuras de datos
0.3. Estructura del curso
1. Introducción a las Estructuras de Datos Lineales
1.1. ¿Qué es un Algoritmo?
1.2. ¿Qué es una Estructura de Datos?
2. La notación de Gran O
2.1. ¿Qué es el Gran O? – 00:00 min.
2.2. O(1) – 01:59 min.
2.3. O(n) – 03:28 min.
2.4. O(n²) – 07:13 min.
2.5. O(log n) – 09:37 min.
2.6. O(2n) – 12:16 min.
2.7. Complejidad del Espacio – 13:07 min.
3. Matrices
3.1. Introducción – 00:00 min.
3.2. Matrices – 00:45 min.
3.2.1. Como almacenan una matriz los elementos
3.2.2. Limitaciones/Debilidades de las Matrices
3.3. Trabajando con Matrices – 03:53 min.
3.4. Ejercicio1: Construir una Matriz – 07:23 min.
3.5. Solución 1: Construir la Matriz – 10:15 min.
3.5.1. Clase Pública
3.5.2. Clase privada
3.6. Solución 2: Método de Insertar – 13:34 min.
3.7. Solución 3: Método de Remover – 17:54 min.
3.7.1. Validación del índice
3.8. Solución 4: Método de búsqeda (Índice de) – 22:45 min.
3.9. Matrices dinámicas – 25:13 min.
3.9.1. Panorama de la Clase Vector
3.10. Resumen – 29:02 min.
3.10.1. Complejidades del tiempo de ejecución de operaciones varias
4. Listas Ligadas
4.1. Introducción – 00:00 min.
4.2. ¿Qué son las listas ligadas? – 00:37 min.
4.3. Trabajando con listas ligadas – 05:10 min.
4.4. Ejercicio 2: Construir una lista ligada – 08:34 min.
4.5. Solución: Construir una lista ligada – 09:59 min.
4.6. Tamaño de la implementación – 30:27 min.
4.7. Convertir Listas Ligadas a Matrices – 34:42 min.
4.8. Hojas de Pistas – 36:53 min.
4.9. Matrices vs Listas Ligadas – 38:05 min.
4.10. Tipos de Listas Ligadas – 41:26 min.
4.11. Ejercicio 3: Invertir una Lista Ligada – 44:41 min.
4.12. Solución: Invertir una Lista Ligada – 46:14 min.
4.13. Ejercicio 4: K-ésimo Nodo desde el final – 55:15 min.
4.14. Solución: K-ésimo Nodo desde el final – 58:35 min.
4.15. Resumen – 1:03:57 min.
5. Pilas
5.1. Introducción – 00:00 min.
5.2. ¿Qué son las pilas? – 00:32 min.
5.2.1. Estructura de las pilas
5.2.2. Operaciones que soportan las Pilas
5.3. Trabajar con Pilas – 03:19 min.
5.4. Ejercicio 5: Invertir una cadena con una pila – 05:40 min.
5.5. Solución: Invertir una cadena con una pila – 06:21 min.
5.6. Ejercicio 6: Expresiones balanceadas – 11:22 min.
5.7. Solución 1: Una implementación básica – 14:17 min.
5.8. Solución 2: Soportar sujetadores múltiples – 19:35 min.
5.9. Solución 3: Primera reformulación – 23:11 min.
5.10. Solution 4: Segunda reformulación – 27:20 min.
5.11. Ejercicio 7: Implementar una pila desde cero – 33:12 min.
5.12. Solución: Implementar una pila desde cero – 33:59 min.
5.13. Resumen – 42:17 min.
5.13.1. Puntos clave acerca de las pilas
6. Colas
6.1. Introducción – 00:27 min.
6.1.1. Aplicaciones de colas
6.1.2. Métodos comunes para implementar colas:
6.1.3. Operaciones ycomplejidades del tiempo de ejecución de las colas
6.2. Trabajar con colas – 02:31 min.
6.3. Ejercicio 8: Invertir una cola – 07:44 min.
6.4. Solución: Invertir una cola – 08:50 min.
6.5. Ejercicio 9: Construir una cola utilizando matrices – 11:07 min.
6.6. Solución 1: Una implementación básica – 13:11 min.
6.7. Solución 2: Utilizar matrices circulares – 19:43 min.
6.7.1. Operaciones de colas circulares
6.8. Ejercicio: Construir una cola uitlizando pilas – 25:37 min.
6.9. Solución: Construir una cola uitlizando pilas – 26:32 min.
6.10. Colas prioritarias – 34:15 min.
6.10.1. Características clave de una cola prioritaria
6.10.2. Aplicaciones de una cola prioritaria
6.11. Ejercicio: Construir una cola prioritaria – 36:09 min.
6.12. Solución 1: Construir una cola prioritaria – 40:06 min.
6.13. Solución 2: Refactorizar nuestro código – 48:57 min.
6.14. Resumen – 51:59 min.
7. Tablas de dispersión (hash)
7.1. Introducción – 00:00 min.
7.2. ¿Qué son las tablas de dispersión? – 00:27 min.
7.2.1. Beneficios y aplicaciones de tablas de dispersión
7.2.2. Como trabajan las tablas de dispersión
7.2.3. Operationes soportadas por las tablas de dispersión
7.3. Trabajar con tablas de dispersión – 03:11 min.
7.4. Ejercicio: Primer caracter no-repetido – 09:18 min.
7.5. Solución: Primer caracter no-repetido – 10:13 min.
7.6. Conjuntos – 17:52 min.
7.7. Exercicio: Primer caracter repetido – 20:16 min.
7.8. Exercicio: Primer caracter repetido – 20:48 min.
7.9. Funciones de dispersión (hash) – 23:24 min.
7.9.1. Como trabaja el código de dispersión (HashCode)
7.10. Colisiones – 29:19 min.
7.10.1. Como manejar colisiones
7.11. Encadenar – 30:26 min.
7.12. Exploración lineal – 32:06 min.
7.12.1. Exploración lineal
7.13. Exploración cuadrática – 34:48 min.
7.14. Doble dispersión (double hashing) – 36:17 min.
7.14.1. Revisión de todas las teorías de los algoritmos de exploración
7.15. Exercicio: Construir una tabla de dispersión – 39:37 min.
7.16. Solución: colocar( ) – 42:14 min.
7.17. Solución: obtener( ) – 48:21 min.
7.18. Solución: remover ) – 52:51 min.
7.19. Solución: Refactorización y pruebas automatizadas– 55:22 min.
7.20. Resumen – 1:06:26 min.
7.21. Próximamente
7.22. Como bajar los videos tutoriales yotros recursos
Acerca de los autores y colaboradores
Somos desarrolladores de software. Hemos pasado 17 años como desarrolladores de software, y hemos hecho muchas otras cosas también. Hemos estado involucrados en procesos SDLC, aprendizaje de máquinas, ciencia de datos, seguridad y arquitectura de sistema operativo. Nuestro proyecto más reciente es computación sin servidores donde simplificamos la construcción y ejecución de sistemas distribuidos. Siempre utilizamos un enfoque práctico en nuestros proyectos y cursos.
Bolakale Aremu & Charles Johnson Jr.
Ojula Technology Innovations
Desarrolladores Web e Ingenieros de Software
Ojulaweb.com
0. Lo que obtienes
Este libro de instrucciones es el tercer volumen de la serie Introducción a los Algoritmos y las Estructuras de Datos. Está escrito en como un curso. Es un libro muy comprensivo para las estructuras de datos y los algoritmos, que incluye:
Tutoriales de texto con muchas ilustraciones
5 horas de video tutoriales de alta definición
Preguntas comunes en las entrevistas con Google, Microsoft, Amazon y otras grandes compañías.
Ejercicios de práctica.
Códigos escritos durante el curso y
Pantallas utilizadas en este libro.
La mayoría de libros de estructuras de datos y cursos académicos son muy aburridos. Tienen demasiada matemática y sus códigos se ven horribles y, ¡viejos y repugnantes! Este libro es un paquete que incluye videos y tutoriales que son fáciles de seguir, y te mostrarán como escribir un código hermoso como ingeniero de software, no un matemático.
Dominar las estructuras de datos y los algoritmos es esencial para conseguir el trabajo soñado. Por lo que no desperdicies tu tiempo revisando tutoriales sin contexto o super largos de cursos aburridos.
0.1. Requerimientos
En este volumen, utilizamos Java para enseñar los conceptos, pero puedes aplicar los conceptos en cualquier lenguaje de programación. Nuestro enfoque es en la solución de problemas, no en los lenguajes de programación y herramientas.
Todo lo que necesitas para entender los códigos son algunas habilidades básicas de programación, que fueron ensañadas en el primero y segundo volúmenes de la serie. De manera alterna, si ya conoces variables, ciclos y postulados condicionales, estás listo para continuar.
0.2. Beneficios de aprender de los Algoritmos y las Estructuras de Datos
Primero, te puede ayudar a que obtengas el trabajo de ingeniero de software que sueñas. Si estudiaste ciencia de la computación, pero nunca entendiste realmente el tópico complejo de estructuras de datos y algoritmos, este libro te ayudará. Si eres un programador de auto enseñanza, con poco o ningún conocimiento de este tópico importante, también encontrarás este curso muy útil.
Si fallaste en una entrevista de trabajo porque no pudiste responder preguntas básicas de estructura de datos y algoritmos, solo estudia este libro y los videos que lo acompañan. Entender estructuras de datos y algoritmos es crucial para sobresalir como ingeniero de software. Eso es por lo que empresas como Google, Amazon y Microsoft, siempre incluyen preguntas en las entrevistas sobre estructuras de datos y algoritmos.
Te enseñaré todo lo que requieres conocer acerca de estructura de datos y algoritmos, de manera que puedas superar tu entrevista de codificación con confianza. Este curso es una mezcla perfecta de teoría y práctica, que contiene de más de 100 preguntas comunes para entrevistas.
Otro beneficio es que las estructuras de datos y los algoritmos harán que pienses de manera más lógica. Te pueden ayudar a diseñar mejores sistemas para almacenar y procesar datos. También sirven como una herramienta para optimización y solución de problemas.
Como resultado, los conceptos de algoritmos y estructuras de datos son muy valuables en cualquier campo. Por ejemplo, puedes utilizarlos cuando construyes aplicaciones web, o escribes software para otros dispositivos. Pueden aplicarlos en el aprendizaje de máquinas y analíticas de datos, las cuales son dos áreas candentes actualmente. Si eres un hacker, los algoritmos y las estructuras de datos son importantes para ti en todas las actividades.
Ahora, cualquiera que sea tu estilo preferido de aprendizaje, te tendré cubierto. Si eres un aprendiz visual, te encantarán mis videos de alta definición e ilustraciones a través de este libro. Si eres un aprendiz práctico, te encantarán mis lecciones prácticas y ejercicios de práctica, de manera que puedas