
Introduction to Algorithms & Data Structures
Learn Linear Data Structures with Videos & Interview QuestionsBy Bolakale Aremu, Charles Johnson Jr.Length3h 30m
About this audiobook
This playbook is the third volume of the series Introduction to Algorithms & Data Structures. It is a very comprehensive data structures and algorithms book. It is packed withtext tutorials with a lot of illustrations5 hours of HD video tutorials (updated regularly),popular interview questions asked by Google, Microsoft, Amazon and other big companies,hands-on lessons, practice exercises and solutions,codes written during the course andscreenshots used in this book.Most data structure books and courses are too academic and boring. They have too much math and their codes look ugly, old and disgusting!
This book is bundled with tutorial videos that are fun and easy to follow along, and show you how to write beautiful code like a software engineer, not a mathematician. Mastering data structures and algorithms is essential to getting your dream job. So, don't waste your time browsing disconnected tutorials or super long, boring courses.If you failed a job interview because you couldn't answer basic data structure and algorithm questions, just study this book and its accompanying videos. Understanding data structures and algorithms is crucial to excel as a software engineer. That’s why companies like Google, Microsoft and Amazon, always include interview questions on data structures and algorithms.I will teach you everything you need to know about data structures and algorithms so you can ace your coding interview with confidence. This course is a perfect mix of theory and practice, packed with popular interview questions.Another benefit is that data structures and algorithms will make you think more logically. They can help you design better systems for storing and processing data. They also serve as a tool for optimization and problem-solving.As a result, the concepts of algorithms and data structures are very valuable in any field. For example, you can use them when building a web app or writing software for other devices. You can apply them to machine learning and data analytics, which are two hot areas right now. If you are a hacker, algorithms and data structures are also important for you everywhere.Whatever your preferred learning style, I've got you covered. If you're a visual learner, you'll love my HD videos, and illustrations throughout this book. If you're a practical learner, you'll love my hands-on lessons and practice exercises so that you can get practical with algorithms and data structures and learn in a hands-on way.
Audiobook details
GenreTechnology, Science and Nature
Length3 hrs 30 mins
Narrated byListen with 1,000+ voices
FormateBook with Audio
Publish dateSep 2, 2023
LanguageEnglish
Table of contents
10. What You Get
555.6. Exercise 6: Balanced Expressions – 11:22 min.
20.1. Requirements
565.7. Solution 1: A Basic Implementation – 14:17 min.
30.2. Benefits of Learning Algorithms and Data Structures
575.8. Solution 2: Supporting Multiple Brackets – 19:35 min.
40.3. How This Course is Structured
585.9. Solution 3: First Refactoring – 23:11 min.
51. Introduction to Linear Data Structures
595.10. Solution 4: Second Refactoring – 27:20 min.
Show all chaptersShow less
61.1. What is an Algorithm?
605.11. Exercise 7: Implementing a Stack from Scratch – 33:12 min.
71.2. What is Data Structure?
615.12. Solution: Implementing a Stack from Scratch – 33:59 min.
82. The Big O Notation
625.13. Wrap up – 42:17 min.: 5.13.1. Key Points About Stacks
92.1. What is Big O? – 00:00 min.
636. Queues
102.2. O(1) – 01:59 min.
646.1. Introduction – 00:27 min.
112.3. O(n) – 03:28 min.
656.1.1. Applications of Queues
122.4. O(n2) – 07:13 min.
666.1.2. Common Methods for Implementing Queues:
132.5. O(log n) – 09:37 min.
676.1.3. Operations and Runtime Complexities of Queues
142.6. O(2n) – 12:16 min.
686.2. Working with Queues – 02:31 min.
152.7. Space Complexity – 13:07 min.
696.3. Exercise 8: Reversing a Queue – 07:44 min.
163. Arrays
706.4. Solution: Reversing a Queue – 08:50 min.
173.1. Introduction – 00:00 min.
716.5. Exercise 9: Building a Queue Using Arrays – 11:07 min.
183.2. Arrays – 00:45 min.
726.6. Solution 1: A Basic Implementation – 13:11 min.
193.2.1. How an Array Stores Items
736.7. Solution 2: Using Circular Arrays – 19:43 min.: 6.7.1. Circular Queue Operations
203.2.2. Limitations/Weaknesses of Arrays
746.8. Exercise: Building a Queue Using Stacks – 25:37 min.
213.3. Working with Arrays – 03:53 min.
756.9. Solution: Building a Queue Using Stacks – 26:32 min.
223.4. Exercise 1: Building an Array – 07:23 min.
766.10. Priority Queues – 34:15 min.
233.5. Solution 1: Building the Array – 10:15 min.
776.10.1. Key Features of a Priority Queue
243.5.1. Public Class
786.10.2. Applications of Priority Queues
253.5.2. Private Class
796.11. Exercise: Building a Priority Queue – 36:09 min.
263.6. Solution 2: Insert Method – 13:34 min.
806.12. Solution 1: Building a Priority Queue – 40:06 min.
273.7. Solution 3: Remove Method – 17:54 min.: 3.7.1. Validation of Index
816.13. Solution 2: Refactoring Our Code – 48:57 min.
283.8. Solution 4: Search (IndexOf) Method – 22:45 min.
826.14. Wrap up – 51:59 min.
293.9. Dynamic Arrays – 25:13 min.: 3.9.1. Overview of the Vector Class
837. Hash Tables
303.10. Wrap up – 29:02 min.: 3.10.1. Runtime Complexities of Various Operations
847.1. Introduction – 00:00 min.
314. Linked Lists
857.2. What are Hash Tables – 00:27 min.
324.1. Introduction – 00:00 min.
867.2.1. Benefits & Applications of Hash Tables
334.2. What Are Linked Lists? – 00:37 min.
877.2.2. How Hash Tables Work
344.3. Working with Linked Lists – 05:10 min.
887.2.3. Operations Supported by Hash Tables
354.4. Exercise 2: Building a Linked List – 08:34 min.
897.3. Working with Hash Tables – 03:11 min.
364.5. Solution: Building a Linked List – 09:59 min.
907.4. Exercise: First Non-repeated Character – 09:18 min.
374.6. Implementing Size – 30:27 min.
917.5. Solution: First Non-repeated Character – 10:13 min.
384.7. Converting Linked Lists to Arrays – 34:42 min.
927.6. Sets – 17:52 min.
394.8. Cheat Sheets – 36:53 min.
937.7. Exercise: First Repeated Character – 20:16 min.
404.9. Arrays vs Linked Lists – 38:05 min.
947.8. Exercise: First Repeated Character – 20:48 min.
414.10. Types of Linked Lists – 41:26 min.
957.9. Hash Functions – 23:24 min.: 7.9.1. How HashCode Works
424.11. Exercise 3: Reversing a Linked List – 44:41 min.
967.10. Collisions – 29:19 min.: 7.10.1. How to Handle Collisions
434.12. Solution: Reversing a Linked List – 46:14 min.
977.11. Chaining – 30:26 min.
444.13. Exercise 4: Kth Node from the End – 55:15 min.
987.12. Linear Probing – 32:06 min.: 7.12.1. Linear Probing
454.14. Solution: Kth Node from the End – 58:35 min.
997.13. Quadratic Probing – 34:48 min.
464.15. Wrap up – 1:03:57 min.
1007.14. Double Hashing – 36:17 min.: 7.14.1. Review of All the Probing Algorithms Theory
475. Stacks
1017.15. Exercise: Building a Hash Table – 39:37 min.
485.1. Introduction – 00:00 min.
1027.16. Solution: put( ) – 42:14 min.
495.2. What are Stacks? – 00:32 min.
1037.17. Solution: get( ) – 48:21 min.
505.2.1. Structure of Stacks
1047.18. Solution: remove( ) – 52:51 min.
515.2.2. Operations that Stacks Support
1057.19. Solution: Refactoring & Automated Testing– 55:22 min.
525.3. Working with Stacks – 03:19 min.
1067.20. Wrap up – 1:06:26 min.
535.4. Exercise 5: Reversing a String with Stack – 05:40 min.
1077.21. Coming up Next
545.5. Solution: Reversing a String with Stack – 06:21 min.
1087.22. How to Download Tutorial Videos & Other Resources
