Skip to content

Python implementations of Advanced Data Structures and Algorithms. With each code, there is an associated markdown for explanation and applications of that algorithm or data structure.

License

Notifications You must be signed in to change notification settings

ASHMITA-DE/Advanced-Data-Structures-with-Python

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

96 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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

About

Python implementations of Advanced Data Structures and Algorithms. With each code, there is an associated markdown for explanation and applications of that algorithm or data structure.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Python 75.3%
  • Java 19.5%
  • C++ 5.2%