Code Monkey home page Code Monkey logo

python-dsa-toolkit's Introduction

Python Data Structures and Algorithms (DSA) Toolkit

This repo is a toolkit and personal reference for data structure and algorithms in Python3. Ideally the content covers >90% of data structure and algorithm questions. This repo includes:

  • Python3 critical libraries summarized into useful subsets.
  • Python3 Data structure implementations.
  • Patterns and useful templates for common categories of DSA questions. ๐Ÿ›‘ [In Progress]
  • List of resource links updated periodically.

๐Ÿ”น Python Critical Libraries

๐Ÿ”ธ'collections': specialized containers

  • deque
  • Counter
  • defaultdict
  • OrderedDict
  • namedTuple

๐Ÿ”ธ'functools': higher-order functions and decorators

  • lru_cache

๐Ÿ”ธ'heapq': min and max priority queue implementation

  • heappush
  • heappop
  • heapify
  • heapsort
  • merge
  • nlargest
  • nsmallest

๐Ÿ”ธ'itertools': iterator and combinatorics tools

Iterator

  • accumulate
  • chain
  • chain.from_iterable
  • pairwise
  • starmap

Combinatorics:

  • product
  • permutations
  • combinations
  • combinations_with_replacement

๐Ÿ”ธ'math': frequently used math helper methods

  • ceil
  • comb
  • floor
  • perm
  • inf

๐Ÿ”ธ'regex': Python regular expression matching

  • compile
  • search
  • match
  • fullmatch
  • split
  • findall
  • sub
  • escape

๐Ÿ”ธ'string': string helper methods

  • ascii_letters
  • ascii_lowercase
  • ascii_uppercase
  • digits

๐Ÿ”น Python Data Structures:

  • deque
  • doubly linked-list
  • linked-list
  • queue
  • stack
  • tree

๐Ÿ”น DSA Patterns:

  • backtracking
  • bitwise manipulation
  • cyclic sort
  • dynamic programming
  • fast and slow pointers
  • greedy algorithms
  • hash maps
  • in-place reversal of a linked list
  • k-way merge
  • lru-cache
  • merge intervals
  • modified binary search
  • sliding window
  • stacks
  • subsets
  • top-k-elements
  • topological sort
  • tree breath first search
  • tree depth first search
  • tries
  • two heaps
  • two pointers
  • union find

๐Ÿ”น Resources:

https://github.com/tmcarmichael/Python-DSA-Toolkit/blob/main/py-dsa-resources/resources.md

python-dsa-toolkit's People

Contributors

tmcarmichael avatar

Watchers

 avatar

python-dsa-toolkit's Issues

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.