Skip to content

atushluk/Algorithms-and-Coding-Interviews

Repository files navigation

The Comprehensive Manual to Algorithms in Python

And a Coding Interview Guidebook that Uses LeetCode Questions

Partially open sourced content from my book series, with the working title The Comprehensive Manual to Algorithms in Python. This book series uses Python 3 as its programming language due to its popularity and easiness to implement in real coding inteview. The purpose of the book is to guide the audience to prepare for real-world software engineering, include but not limited by preparing and cracking the coding interviews. We guide our audience to master data structures, algorithm design and analysis, problem-patterns through playing around with toy examples coded in Python throughly. Analyzing the behavior and computation complexity of more restricted, clear-defined problems in the book helps lay the foundation of solving real-world prblems which are more open and challenging. This is NOT a book that gives you quick tricks to pass a few coding interviews, it is a book designed to learn and be passion about the algorithms. Use the expecation of cracking the coding interview as a joy boost and motivation to learn and benefit the whole-career.

## Open Sourced Content 1. [Part one](https://github.com/liyin2015/Algorithms-and-LeetCode/blob/master/Easy_Book(7).pdf) * [Two Pointer Techniques](https://github.com/liyin2015/Algorithms-and-LeetCode/blob/master/two_pointer.pdf) * [Heap and Proprity Queue](https://github.com/liyin2015/Algorithms-and-LeetCode/blob/master/heap_priority_queue.pdf) * [Binary Search](https://github.com/liyin2015/Algorithms-and-LeetCode/blob/master/binary_search.pdf) * [Bit Manipulation](https://github.com/liyin2015/Algorithms-and-LeetCode/blob/master/bit%20manipulation.pdf) [Sample code](https://github.com/liyin2015/Algorithms-and-LeetCode/tree/master/Colab%20Codes/Colab%20Notebooks) used in each chapter of this part (only a small part right now). 2. Part Two * [Tree Questions](https://github.com/liyin2015/Algorithms-and-LeetCode/blob/master/tree_questions.pdf) *Note: everything is still in progress, so use it with caution.* ## The Purpose of *The Comprehensive Coding Interview Guide* My purpose here is to offer any person who is interested with getting hands dirty with algorithms and coding a practical and strict manual to guide them through this process. The content is supposed to not only be correct (i.e. , the code and algorithms work) and catchy but also discreet (i.e , to know why it works, when it works, and how it works but not as theoretical as the *Introduction to Algorithms*). ## Part 1: Learning: Data Structures and Algorithms Explained with LeetCode Problems As the first part of the series, this part includes: 1. Introduction, 2. Fundamental Algorithm Design and Analysis (divide and conquer, complexity analysis), 3. Data Structures (connect the doubts of data structures and Python built-in data types/Modules), 4. Complete Search (searching on linear data structres, graph, tree), 5. Advanced Algorithm Design (Dynamic programming, greedy algorithm), 6. Math and Bit Manipulation LeetCode problems as used as exercise, only id and the title of the questions are given. ## Part 2: Cracking: The LeetCode Problem Catalog The Second part of the series focusing on catagorize problems and solve them type by type. 1. Dynamic Programming Questions (15%) 2. Array Questions (15%) 3. Linked List, Stack, Queue, and Heap Questions (12%) 4. String Questions (15%) 5. Tree Questions (10%) 6. Graph Questions (15%) ## Feedback If you like the example chapters that I put here, please leave your comment here. This book comes with a lot of hard work --personally, I paused my PhD program for a semester to focus on. Therefore, your comment is important to lead to the publication of the work. If you have ideas to improve the book, about formatting, more contents, or correct the errors are also very welcome too.

About

Open source content from a book in progress, Preparing for the Real-world Software Engineering

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Jupyter Notebook 100.0%