This repository was created by Amber Jolie Horn for DSA Prep June 30th 2022 @amberjolieh

Python


Data Structures

- Methods of storing and organizing data in a computer system so that operations can be performed upon them more efficiently. 
    - when data is unstructured it does not have a defined data model and or is not organized in a manner that is conductive to operations or analysis.

    - Data structures take the form of different layouts, each of which is efficient or inefficent in each operations scenario.The goal of the programmer is to determine which data structures are suitable for the data on hand so that data can be leveraged to solve problems.

Arrays

  • Concept
    • an ordered collection of elements
    • every value is the same data type
    • in python they can only hold a sequence of multiple items that are of the same type
    • are not a built in data structure in Python
      • must be imported using array module
    • ** if performing math calculations then NumPy should be imported to use NumPy arrays**
  • BIG-O
    • space complexity wise arrays take up less memory than lists making them more space efficient.
  • Application

Lists

  • Concept
    • store items of various types
  • BIG-O
  • Application

Linked Lists

  • Concept
  • BIG-O
  • Application

Stacks

  • Concept
  • BIG-O
  • Application

Queues

  • Concept
  • BIG-O
  • Application

Hash Tables

  • Concept
  • BIG-O
  • Application

Trees

  • Concept
  • BIG-O
  • Application

Heaps

  • Concept
  • BIG-O
  • Application

Graphs

  • Concept
  • BIG-O
  • Application

Algorithms


Sort Algorithms

Merge

Quick

Bucket

Heap

Counting


Search

Binary

Depth First

Breadth First


Hashing


Dynamic Programing


Exponentiation by Squaring


String

Matching

Parsing


Primality Testing Algorithms