All Projects → liyin2015 → Hands On Algorithmic Problem Solving

liyin2015 / Hands On Algorithmic Problem Solving

A middle-to-high level algorithm book designed with coding interview at heart!

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to Hands On Algorithmic Problem Solving

Algorithmic Pseudocode
This repository contains the pseudocode(pdf) of various algorithms and data structures necessary for Interview Preparation and Competitive Coding
Stars: ✭ 519 (-57.7%)
Mutual labels:  algorithms, leetcode, coding-interviews
Competitiveprogrammingquestionbank
This repository contains all the popular competitive programming and DSA questions with solutions.
Stars: ✭ 122 (-90.06%)
Mutual labels:  algorithms, leetcode, coding-interviews
Lc Java
Clean Leetcode solutions in Java
Stars: ✭ 54 (-95.6%)
Mutual labels:  algorithms, leetcode, coding-interviews
Algorithms Leetcode Javascript
Algorithms resolution in Javascript. Leetcode - Geeksforgeeks - Careercup
Stars: ✭ 157 (-87.2%)
Mutual labels:  algorithms, leetcode, coding-interviews
Leetcode
Leetcode solutions
Stars: ✭ 2,894 (+135.86%)
Mutual labels:  algorithms, leetcode, coding-interviews
Interviews
Everything you need to know to get the job.
Stars: ✭ 54,875 (+4372.29%)
Mutual labels:  algorithms, leetcode, coding-interviews
Leetcode Sol Res
Clean, Understandable Solutions and Resources for LeetCode Online Judge Algorithm Problems.
Stars: ✭ 1,647 (+34.23%)
Mutual labels:  algorithms, leetcode, coding-interviews
Fuck Coding Interviews
How on earth can I ever think of a solution like that in an interview?!
Stars: ✭ 464 (-62.18%)
Mutual labels:  algorithms, leetcode, coding-interviews
Dsa.js Data Structures Algorithms Javascript
🥞Data Structures and Algorithms explained and implemented in JavaScript + eBook
Stars: ✭ 6,251 (+409.45%)
Mutual labels:  algorithms, tree, coding-interviews
Leetcode
🕵️‍♂️ leetcode practice
Stars: ✭ 52 (-95.76%)
Mutual labels:  algorithms, leetcode
Reinforcement Learning
Implementation of Reinforcement Learning algorithms in Python, based on Sutton's & Barto's Book (Ed. 2)
Stars: ✭ 55 (-95.52%)
Mutual labels:  algorithms, jupyter-notebook
Leetcode Python
Leetcode Python Solution and Explanation. Also a Guide to Prepare for Software Engineer Interview.
Stars: ✭ 1,088 (-11.33%)
Mutual labels:  algorithms, leetcode
Awesome Ebooks
收录开源的经典技术书籍 PDF 文件及相关网站,持续更新中...
Stars: ✭ 51 (-95.84%)
Mutual labels:  algorithms, leetcode
Numerical Linear Algebra
Free online textbook of Jupyter notebooks for fast.ai Computational Linear Algebra course
Stars: ✭ 8,263 (+573.43%)
Mutual labels:  algorithms, jupyter-notebook
Algorithms And Oj
Some OJs' answers writren by Python/JS/C++/Java
Stars: ✭ 47 (-96.17%)
Mutual labels:  algorithms, leetcode
Fromscratch
Stars: ✭ 61 (-95.03%)
Mutual labels:  algorithms, jupyter-notebook
Coding Interview
😀 代码面试题集,包括剑指 Offer、编程之美等
Stars: ✭ 1,111 (-9.45%)
Mutual labels:  algorithms, coding-interviews
Algorithmmap
建立你的算法地图:如何高效学习算法;算法工程师:从小白到专家
Stars: ✭ 47 (-96.17%)
Mutual labels:  jupyter-notebook, leetcode
Awesome Java Leetcode
👑 LeetCode of algorithms with java solution(updating).
Stars: ✭ 8,297 (+576.2%)
Mutual labels:  algorithms, leetcode
Leetcode
👏🏻 leetcode solutions for Humans™
Stars: ✭ 1,129 (-7.99%)
Mutual labels:  algorithms, leetcode

Hands-on Algorithmic Problem Solving

An one-stop coding interview prep book!

alt text alt text alt text Medium Blog

About this book

In short, this is a middle-to-high level algorithm book designed with cracking coding interviews at hearts. It offers an one-stop coding interview prep experience. The structure of the book: (1) math and CS theories as coding is not just code after all, (2) Python data structures, (3) algorithm design principles, (4) Classical algorithms explained with core principles. (5) Problem patterns.

Besides trying to make the content easy to follow, here summarizes the uniqueness about this book: (1) it offers Python source code that is tailored to be simple so that it would be natural for you to use in interviews (2) all the exercises and examples are from Leetcode problems so that you get to practise online (3) Classical algorithms are explained with design principles. No algorithm is magic. (Check out advanced graph algorithms as an example) (4) problem patterns to help you tackle coding interview questions topic by topic.

How did I come up with this book?

Preparing for the coding interview is not easy! Cracking the coding interivew? Nearly impossible for most of us! Luck does play a role in the outcome. So, let's just treat it as a learning process and have some fun!

Computer Science is really not just computer science. It is a combination of all fields; our normal interview problems fall into the eumerative combinatorics and our computer vision mostly consists of Linear Algebra. What really matters is our passion to learn and ability to apply this knowledge to solve real-life problems.

There are plenty of books out there focusing on either teaching algorithmic knowledge (Introduction to Algorithms, Algorithmic Problem Solving, etc) or introducing the interview process and solving interview problems(Cracking the Coding Interview, Coding Interview Questions, etc), but none of these books truly combine the two. This is a book designed to make up this role in the categorization. Principle, Pattern, and Leetcode Problems make up the core of this book.

This is NOT a book that provides hiring statistic of each company or gives the reader quick tricks in order to pass a few coding interviews. Its purpose is to show you the beauty of the algorithimc problem solving in the hope that you will be more passionate and condifent about software engineering; the interview questions just set up a play ground where we strengthen what we learn.

Table of Contents

Warm Up: Abstract Data Structures and Tools

Get Started: Programming and Python Data Structures

Core Principles: Algorithm Design and Analysis

Advanced Algorithms

Problem Patterns

  • Dynamic Programming Questions (15%)
  • Array Questions (15%)
  • Linked List, Stack, Queue, and Heap Questions (12%)
  • String Questions (15%)
  • Tree Questions (10%)
  • Graph Questions (15%)

Note: everything is still in progress, so use it with caution.

Referring Books and Materials

  • Skiena, Steven S. The algorithm design manual: Text. Vol. 1. Springer Science & Business Media, 1998.

  • T. H. Cormen, Introduction to algorithms, MIT press, 2009.

  • Manber, Udi. Introduction to algorithms: a creative approach. Addison-Wesley Longman Publishing Co., Inc., 1989.

  • Kleinberg, Jon, and Eva Tardos. Algorithm design. Pearson Education India, 2006.

  • Russell, Stuart J., and Peter Norvig. Artificial intelligence: a modern approach. Malaysia; Pearson Education Limited,, 2016. (Best book ever in explaining searching problem-solving, differentiate tree-search and graph-search)

  • D. M. Beazley, Python essential reference, Addison-Wesley Professional,2009.

  • S. Halim and F. Halim, Competitive Programming 3, Lulu Independent Publish, 2013.

  • B. Slatkin, Effective Python: 59 Specific Ways to Write Better Python,Pearson Education, 2015.

  • H. hua jiang, “Leetcode blogs,” https://zxi.mytechroad.com/blog/category, 2018, [Online; accessed 19-July-2018].

  • B. Baka, “Python data structures and algorithms: Improve application performance with graphs, stacks, and queues,” 2017.

  • “Competitive Programming,”https://cp-algorithms.com/, 2019, [Online; accessed 19-July-2018].

  • “cs princeton,”https://aofa.cs.princeton.edu/60trees/, 2019, [Online; accessed 19-July-2018]

  • https://stanford-cs161.github.io/winter2021/schedule/

Tools

Mocking Interviews

Practice is important. Schedule some mocking interviews with interviewing.io. If you cant manage to register, you can join us in discord server and ask peers for practice interview.

Community

Join me on discord server: https://discord.gg/ZXnSag7fMP, for early access of the book and a supportive community

Call for collaboration

If you have a continous passion with teaching and writing, come and join us to shape the book together. Afterwards, you can build on top of this book to teach.

Feedback

If you have ideas to improve the book, about formatting, more contents, or correct the errors, do not hesitate to let me know.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].