# ndb796/python-for-coding-test

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/ndb796-python-for-coding-test).**

2,415 stars · 836 forks · Python

## Links

- GitHub: https://github.com/ndb796/python-for-coding-test
- awesome-repositories: https://awesome-repositories.com/repository/ndb796-python-for-coding-test.md

## Topics

`algorithms` `coding-interviews` `data-structures`

## Description

This repository serves as a comprehensive library for algorithmic problem solving, providing reference implementations for fundamental computer science challenges. It is designed as a resource for technical interview preparation and competitive programming training, focusing on the mastery of common patterns and data structures required for coding assessments.

The project distinguishes itself by offering solutions that emphasize idiomatic Python usage and performance optimization. It covers a wide range of algorithmic techniques, including greedy selection, dynamic programming, graph theory, and binary search, while providing guidance on analyzing execution complexity to identify the most efficient logic for specific tasks.

Beyond core algorithms, the collection includes implementations for standard data structures such as stacks, queues, and adjacency-list graph representations. It also provides examples of integrating external web services and managing structured data, ensuring a broad coverage of the technical skills necessary for both competitive environments and practical software development.

## Tags

### Education & Learning Resources

- [Technical Interview Preparation](https://awesome-repositories.com/f/education-learning-resources/technical-interview-preparation.md) — Acts as a comprehensive resource for studying and practicing algorithmic patterns required for technical coding interviews.
- [Competitive Programming Training](https://awesome-repositories.com/f/education-learning-resources/competitive-programming-training.md) — Serves as a training resource for competitive programming by providing optimized solutions to complex algorithmic challenges.
- [Dynamic Programming Implementations](https://awesome-repositories.com/f/education-learning-resources/dynamic-programming-implementations.md) — Implements dynamic programming techniques using memory arrays to optimize recursive calculations. ([source](https://github.com/ndb796/python-for-coding-test/blob/master/8/2.java))
- [Algorithm Implementations](https://awesome-repositories.com/f/education-learning-resources/educational-resources/algorithms-theory-academics/cs-theory-foundations/algorithms/general-collections-and-study/algorithm-implementations.md) — Provides multi-language algorithmic implementations to compare syntax and performance for technical interviews. ([source](https://github.com/ndb796/python-for-coding-test/tree/master/9))
- [Algorithmic Interview Resources](https://awesome-repositories.com/f/education-learning-resources/interview-preparation/algorithmic-interview-resources.md) — Provides a collection of Python-based algorithmic solutions and data structures tailored for technical interview preparation.
- [Recursive Problem Solving](https://awesome-repositories.com/f/education-learning-resources/technical-domain-education/computer-science-education/algorithmic-problem-solving/recursive-problem-solving.md) — Offers categorized practice problems and solutions to help users master common algorithmic patterns and techniques. ([source](https://github.com/ndb796/python-for-coding-test#readme))
- [Technical Interview Guides](https://awesome-repositories.com/f/education-learning-resources/technical-interview-guides.md) — Offers a structured guide of practice problems and code patterns for mastering competitive programming and technical assessments.

### Programming Languages & Runtimes

- [Algorithm Implementations](https://awesome-repositories.com/f/programming-languages-runtimes/algorithm-implementations.md) — Provides comprehensive reference implementations for fundamental algorithms including greedy, dynamic programming, and graph theory. ([source](https://github.com/ndb796/python-for-coding-test/blob/master/README.md))
- [Python Language Features](https://awesome-repositories.com/f/programming-languages-runtimes/python-language-features.md) — Demonstrates idiomatic Python features and patterns optimized for competitive programming. ([source](https://github.com/ndb796/python-for-coding-test/blob/master/README.md))

### Part of an Awesome List

- [Interview Pattern Solutions](https://awesome-repositories.com/f/awesome-lists/learning/algorithm-solutions/textbook-exercise-solutions/interview-pattern-solutions.md) — Masters industry-standard algorithmic patterns through curated solutions for technical interviews. ([source](https://github.com/ndb796/python-for-coding-test/tree/master/5))

### Software Engineering & Architecture

- [Algorithmic Problem Solving](https://awesome-repositories.com/f/software-engineering-architecture/algorithmic-problem-solving.md) — Offers a curated collection of coding challenges and solutions to assist in technical interview preparation. ([source](https://github.com/ndb796/python-for-coding-test/tree/master/1))
- [Greedy Algorithm Solutions](https://awesome-repositories.com/f/software-engineering-architecture/algorithmic-problem-solving/greedy-algorithm-solutions.md) — Applies greedy logic to solve common interview challenges involving resource selection and optimization. ([source](https://github.com/ndb796/python-for-coding-test/blob/master/3/1.py))
- [Knapsack Problem Solving](https://awesome-repositories.com/f/software-engineering-architecture/algorithmic-problem-solving/knapsack-problem-solving.md) — Solves sequence-based optimization problems using dynamic programming tables. ([source](https://github.com/ndb796/python-for-coding-test/blob/master/8/6.java))
- [Complexity Analysis](https://awesome-repositories.com/f/software-engineering-architecture/complexity-analysis.md) — Provides guidance on analyzing execution complexity to identify the most efficient logic for algorithmic tasks.

### Data & Databases

- [Priority Queues](https://awesome-repositories.com/f/data-databases/data-structure-implementations/optimized-data-structures/priority-queues.md) — Utilizes heap-based priority queues to optimize shortest path selection in graph algorithms.
- [Memoization](https://awesome-repositories.com/f/data-databases/expensive-result-caches/memoization.md) — Caches results of expensive recursive function calls to avoid redundant calculations.
- [Adjacency Lists](https://awesome-repositories.com/f/data-databases/list-data-structures/adjacency-lists.md) — Provides efficient graph traversal and pathfinding using adjacency-list representations.

### Scientific & Mathematical Computing

- [Binary Search Algorithms](https://awesome-repositories.com/f/scientific-mathematical-computing/binary-search-algorithms.md) — Implements fundamental binary search algorithms to efficiently locate target values within sorted datasets. ([source](https://github.com/ndb796/python-for-coding-test/blob/master/7/8.cpp))
- [Algorithms and Complexity](https://awesome-repositories.com/f/scientific-mathematical-computing/numerical-mathematical-foundations/algorithms-and-complexity.md) — Provides guidance on analyzing execution complexity to identify efficient algorithmic logic. ([source](https://github.com/ndb796/python-for-coding-test/blob/master/README.md))
- [Shortest Path Algorithms](https://awesome-repositories.com/f/scientific-mathematical-computing/numerical-mathematical-foundations/algorithms-and-complexity/algorithms/graph-processing/shortest-path-algorithms.md) — Computes minimum distances in weighted graphs using efficient shortest path algorithms. ([source](https://github.com/ndb796/python-for-coding-test/blob/master/9/2.java))
- [Greedy](https://awesome-repositories.com/f/scientific-mathematical-computing/numerical-mathematical-foundations/algorithms-and-complexity/algorithms/greedy.md) — Uses greedy strategies to make locally optimal choices for resource allocation and optimization problems.
- [Logarithmic Search Optimizations](https://awesome-repositories.com/f/scientific-mathematical-computing/numerical-mathematical-foundations/algorithms-and-complexity/algorithms/sorting/logarithmic-search-optimizations.md) — Implements logarithmic search optimizations to efficiently locate target values in sorted datasets.
