Git Product home page Git Product logo

data-structures-and-algorithms's Introduction

Data-Structures-and-Algorithms

A detailed description of Data Structures and Algorithms using Python


There are number of topics that will be covered like -

  • Time Complexity and Space Complexity:

       1. We start of by introducing with the concept of Time and Space Complexity, as this is one of the most important topic in order to get the best idea of how 
          much time will your code take to execute and how much space does it take in the memory.
       2. In order to understand any Alogrithm in detail, it becomes important that we understand the time and space complexity of any algorithm, and when we are able
          to do so, then we can easily choose that algorithm which fits best for our project.
    
  • Recursion:

          Before diving into Data Structures and Algorithm, it is best to understand the concept of Recursion. In this we will see various types of Recursion and how a
          recursion works.
    

Searching:

  • Linear Search:

          This will be the first algorithm with which we will start of. 
          Linear Search is a simple searching technique. It takes a time complexity of O(n). 
    
  • Binary Search:

          This is again a searching technique, but it is better than the Linear Search.
          Binary search can be implimented both by iterative techinque as well as by recursive technique.
          It takes a time complexity of O(log(n))
    

Sorting:

Sorting is a technique through which we can sort/arrange a list/array in either assending or desending order. Sorting can be of two types:

  1. Stable: In which the relative position of the similar-elements are not changed.
  2. Unstable: In which the relative position of the simlar-elements are changed.
  • Selection:

          A sorting techinque which checks each element in an array/list and compares it with every element, and hence divides the given list in two parts i.e. one with
          sorted part(left side of the list), while other with unsorted part(right side of the list).
          Selection sort is an unstable sort, with the time complexity of O(n^2).
          One point to remember is that O(n^2) is the time taken for searching the element, while time taken for comparison is order of O(n).   
    

data-structures-and-algorithms's People

Contributors

uc-creat avatar om863 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.