Giter Club home page Giter Club logo

dsa's Introduction

Data-Structures and Algorithms

Code implementation of various algorithms and DS concepts with explanations.

contributions welcome

We can learn DS by diving it in these three subdomains-

  • ANALYSIS
  • SORTING ALGORITHMS
  • DATA STRUCTURE

What is a Data Structure ?

Data Structure is a collection of data values, the relationships among them, and the functions or operations that can be applied to the data. In computer science, a data structure is a data organization, management, and storage format that enables efficient access and modification.

What is an Algorithm ?

An algorithm is a set of well-defined instructions in sequence to solve a problem. In an easy saying, an algorithm is nothing but a mention of steps to solve a problem. They are essentially a solution.

Qualities of a good algorithm

  • Input and output should be defined precisely.
  • Each step in the algorithm should be clear and unambiguous.
  • Algorithms should be most effective among many different ways to solve a problem.
  • An algorithm shouldn't include computer code. Instead, the algorithm should be written in such a way that it can be used in different programming languages.

Analysis

Space Complexity

Its the amount of memory space required by the algorithm, during the course of its execution. Space complexity must be taken seriously for multi-user systems and in situations where limited memory is available.

Time Complexity

Time Complexity is a way to represent the amount of time required by the program to run till its completion. It's generally a good practice to try to keep the time required minimum, so that our algorithm completes it's execution in the minimum time possible.

Note: Space and time complexity is well discussed as comments in the code(few are left, will be done soon)

Sorting Algorithms

Sorting refers to arranging data in a particular format, ascending or descending. There are various type of sorting techniques, few of them are:

  • Quick Sort
  • Bubble Sort
  • Merge Sort
  • Counting Sort
  • Insertion Sort
  • Selection Sort
  • Heap Sort
  • Radix Sort
  • Bucket Sort

dsa's People

Contributors

hitiksaini avatar prakhar2505 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.