/Advanced-Data-Structures-with-Python

Self written codes for Advanced Data Structures and Algorithms using Python. With each code, there is an associated markdown for explanation and applicaitions of that algorithm or data structure.

Primary LanguagePythonMIT LicenseMIT

Advanced Data Structures with Python

This repository contains Data structures, Algorithms and their common usecases implemented by me in python. This repository is really helpful for those, who prefer to do competitive programming in python.

Contents:

Click on "Code" to see code of that data structure or algorithm, and click on "Learn" to read markdown.

Algorithms-

  • Dijkstra's Shortest Path Algorithm (Java + Python) Code
  • Kahn's Algorithm for Topological Sort Code Learn
  • Depth First Search Code
  • Floyd Warshall Algorithm Code Learn
  • Longest Common Subsequence (Java) Code
  • Longest Common Substring (Java) Code

Data Structures-

  • Trie Data Structure Code Learn
  • Segment Tree (For sum) (Java + Python) Code
  • Union Find Data Structures (Disjoint Set Data Structure) Code Learn
  • Binary Search Tree Code

Learning Python ( the pythonic way)

Lambdas

lambda arguments : expression

List Comprehensions

number_list = [ x for x in range(20) if x % 2 == 0]

Class

class Person:
  def __init__(self, name, age):
    self.name = name
    self.age = age

p1 = Person("John", 36)

print(p1.name)
print(p1.age)

Map

map(function_object, iterable1, iterable2,...)

filter

filter(function_object, iterable)

Python Tricks

Input Space Separated Integers as List

numbers = list(map(int, input().split()))

Resources to Learn Python

Books, Videos and Lecture Notes available in are available here - Learning Resources

Some Other Resources

  • Real Python
  • Python Jumpstart by Building 10 Apps
  • Learn Python the Hard Way
  • Code Academy: Learn Python
  • Code School: Learn Python
  • Python for Entrepreneurs
  • Intro to Python for Data Science
  • Automate the Boring Stuff with Python
  • Learn Python, it's Cake
  • BONUS: Practical Python and OpenCV

Contributing

This repository is open to contribution. Contributors are mentioned here:

  1. Bhavin Jawade

Please read CONTRIBUTING.md for details on our code of conduct, and the process for submitting pull requests to us.

License

This project is licensed under the MIT License - see the LICENSE.md file for details