Skip to content

26barnwal11/DS-ALGO

 
 

Repository files navigation

Data Structures and Algorithms Collection

Data Structures

Data structures are the method that software engineers store data in software. Different storing methods can produce different levels of efficiency when using and accessing the stored data. In order to maximize efficiency, it is ideal to use a fitting data structure to the problem at hand.

Contains:

  • Stack
  • Linked List
  • Arrays
  • Binary Tree
  • Graphs

Algorithms

An algorithm is simply a set of steps used to complete a specific task. Algorithm efficiency is the measure of the average execution time necessary for an algorithm to complete work on a set of data. In this context, algorithm efficiency has a direct relatiopnship with computational resources. For this reason, it is ideal to maximize algorithm efficicency in order to reduce execution time.

Contains:

  • 2 String Algorithms
  • SPOJ list Algorithm
  • Searching Algorithms
  • Sorting Algorithms

Big O Notation

Big O notation is the mathematical notation that describes the efficiency of algorithms. With big O describing the algorithms complexity, the functions of the notation can be graphed and compared.

Common Big O Complexities

  • Θ (1)
  • Θ(log n)
  • Θ(n)
  • Θ(n log n)
  • Θ(n^k)
  • Θ(k^n)
  • Θ(n!)

The further down the list we go, the quicker the functions grow as data set sizes increase. As a result, a smaller Big O notation is ideal to achieve.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C++ 98.3%
  • C 1.2%
  • Python 0.5%