All Projects → soumyadip007 → Data Structure And Algorithm Using Python

soumyadip007 / Data Structure And Algorithm Using Python

Licence: apache-2.0
In computer science, a data structure is a data organization, management, and storage format that enables efficient access and modification. More precisely, a data structure is a collection of data values, the relationships among them, and the functions or operations that can be applied to the data. (Using Python 3)

Projects that are alternatives of or similar to Data Structure And Algorithm Using Python

Nbconvert Examples
Examples that illustrate how nbconvert can be used
Stars: ✭ 139 (-1.42%)
Mutual labels:  jupyter-notebook
Recotour
A tour through recommendation algorithms in python [IN PROGRESS]
Stars: ✭ 140 (-0.71%)
Mutual labels:  jupyter-notebook
Nlpaug
Data augmentation for NLP
Stars: ✭ 2,761 (+1858.16%)
Mutual labels:  jupyter-notebook
Voc2coco
How to create custom COCO data set for object detection
Stars: ✭ 140 (-0.71%)
Mutual labels:  jupyter-notebook
Rootfinder
Arabic root finder with neural nets!
Stars: ✭ 140 (-0.71%)
Mutual labels:  jupyter-notebook
Imageprocessing
MicaSense RedEdge and Altum image processing tutorials
Stars: ✭ 139 (-1.42%)
Mutual labels:  jupyter-notebook
Ipytest
Pytest in IPython notebooks.
Stars: ✭ 139 (-1.42%)
Mutual labels:  jupyter-notebook
Lmkor
Pretrained Language Models for Korean
Stars: ✭ 140 (-0.71%)
Mutual labels:  jupyter-notebook
Popmusicmaker
Pop Music Maker built on HMM and Random Forest-like structure. Inspired by the desire to build my own model can serve as alternative to LSTMs / deep learning in generating pop music. Website is currently down due to costs incurred.
Stars: ✭ 140 (-0.71%)
Mutual labels:  jupyter-notebook
Python For Algorithms Data Structures And Interviews
Files for Udemy Course on Algorithms and Data Structures
Stars: ✭ 1,917 (+1259.57%)
Mutual labels:  jupyter-notebook
Categoricalencodingbenchmark
Benchmarking different approaches for categorical encoding for tabular data
Stars: ✭ 140 (-0.71%)
Mutual labels:  jupyter-notebook
Interactive Corporate Report
ICR - Automated and Intelligent Company Report Built in Python (by @firmai)
Stars: ✭ 139 (-1.42%)
Mutual labels:  jupyter-notebook
Benchmarks
Comparison tools
Stars: ✭ 139 (-1.42%)
Mutual labels:  jupyter-notebook
Dash eth
This project is trying to fetch real time balance & orderbook of ETH and visualise using dash
Stars: ✭ 140 (-0.71%)
Mutual labels:  jupyter-notebook
Pysankey
create sankey diagrams with matplotlib
Stars: ✭ 140 (-0.71%)
Mutual labels:  jupyter-notebook
Intro To Tensorflow
This is an introduction to tensorflow
Stars: ✭ 139 (-1.42%)
Mutual labels:  jupyter-notebook
Interactive machine learning
IPython widgets, interactive plots, interactive machine learning
Stars: ✭ 140 (-0.71%)
Mutual labels:  jupyter-notebook
Python Youtube Code
Stars: ✭ 139 (-1.42%)
Mutual labels:  jupyter-notebook
Scipy Tutorial 2015
Geospatial data tutorial
Stars: ✭ 140 (-0.71%)
Mutual labels:  jupyter-notebook
Practical Machine Learning With Python
Master the essential skills needed to recognize and solve complex real-world problems with Machine Learning and Deep Learning by leveraging the highly popular Python Machine Learning Eco-system.
Stars: ✭ 1,868 (+1224.82%)
Mutual labels:  jupyter-notebook

Data-Strcture-Algorithm-using-Python

Topics:

  • Queues
  • Stacks
  • Doubly Linked Lists
  • Singly Linked Lists
  • Binary Search Trees
  • Tree Traversal
  • Sortings
  • Searchings
  • Dynamic Programming
  • Heap
  • Graph

Queues

  • Should have the methods: enqueue, dequeue, and len.
    • enqueue should add an item to the back of the queue.
    • dequeue should remove and return an item from the front of the queue.
    • len returns the number of items in the queue.

Image of Queue

Doubly Linked Lists

  • The ListNode class, which represents a single node in the doubly-linked list, has already been implemented for you. Inspect this code and try to understand what it is doing to the best of your ability.
  • The DoublyLinkedList class itself should have the methods: add_to_head, add_to_tail, remove_from_head, remove_from_tail, move_to_front, move_to_end, delete, and get_max.
    • add_to_head replaces the head of the list with a new value that is passed in.
    • add_to_tail replaces the tail of the list with a new value that is passed in.
    • remove_from_head removes the head node and returns the value stored in it.
    • remove_from_tail removes the tail node and returns the value stored in it.
    • move_to_front takes a reference to a node in the list and moves it to the front of the list, shifting all other list nodes down.
    • move_to_end takes a reference to a node in the list and moves it to the end of the list, shifting all other list nodes up.
    • delete takes a reference to a node in the list and removes it from the list. The deleted node's previous and next pointers should point to each afterwards.
    • get_max returns the maximum value in the list.
  • The head property is a reference to the first node and the tail property is a reference to the last node.

Image of Doubly Linked List

Binary Search Trees

  • Should have the methods insert, contains, get_max.
    • insert adds the input value to the binary search tree, adhering to the rules of the ordering of elements in a binary search tree.
    • contains searches the binary search tree for the input value, returning a boolean indicating whether the value exists in the tree or not.
    • get_max returns the maximum value in the binary search tree.
    • for_each performs a traversal of every node in the tree, executing the passed-in callback function on each tree node value. There is a myriad of ways to perform tree traversal; in this case any of them should work.

Image of Binary Search Tree

Heaps

  • Should have the methods insert, delete, get_max, _bubble_up, and _sift_down.
    • insert adds the input value into the heap; this method should ensure that the inserted value is in the correct spot in the heap
    • delete removes and returns the 'topmost' value from the heap; this method needs to ensure that the heap property is maintained after the topmost element has been removed.
    • get_max returns the maximum value in the heap in constant time.
    • get_size returns the number of elements stored in the heap.
    • _bubble_up moves the element at the specified index "up" the heap by swapping it with its parent if the parent's value is less than the value at the specified index.
    • _sift_down grabs the indices of this element's children and determines which child has a larger value. If the larger child's value is larger than the parent's value, the child element is swapped with the parent.

Image of a Heap in Tree form

Image of a Heap in Array form

Sorting

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].