Code Monkey home page Code Monkey logo

algorithms-and-leetcode's Introduction

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. One of the unique characteristics of this book series is that it uses LeetCode problems as examples and exercises. This series is composed of two parts in total. The first part builds up the knowledge base that the audience needs for tackling coding interviews by teaching fundamental data structures and algorithm design and analysis. Leetcode problems are used as examples throughout this part. The second part builds upon the knowledge in book 1 by applying it to more advanced topics such as dynamic programming and string matching. It features categorized problems to enable the reader to identify types of questions so they can quickly find the proper algorithms in order to solve them in an interview. The subtitle of each book is:

  • Learning Data Structures and Algorithms with LeetCode
  • Mastering the LeetCode Problem Catalog

Open Sourced Content

  1. Part one

Sample code used in each chapter of this part (only a small part right now).

  1. Part Two

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.

Possible Cooperation

If you are excellent with algorithms, or top leaders on the LeetCode Weekly contest, or made in the ACM ICPC contest, and are interested into helping and potentially coauthor on some parts of the book, please do not hesitate to contact me.

algorithms-and-leetcode's People

Contributors

deepakps22 avatar

Stargazers

Tommy Phongs avatar Adam Fowler avatar

Forkers

phuongdinh1411

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.