YoVDO

Data Structures and Algorithms in Python

Offered By: Skillshare

Tags

Algorithms and Data Structures Courses Python Courses Algorithms Courses Data Structures Courses Sorting Algorithms Courses Stacks Courses Queues Courses Time Complexity Courses Space Complexity Courses

Course Description

Overview

This course will help you in better understanding of the basics of Data Structures and how algorithms are implemented in the high level programming language. This course consists of lectures on data structures and algorithms which covers the computer science theory + implementation of data structures in python language. This course will also help students to face interviews at the top technology companies. This course is like having personal tutors to teach you about data structures and algorithms.

There’s tons of concepts and content in this course. To begin the course:

  • We have a discussion of why we need data structures.

  • Then we move on to discuss Analysis of Algorithms ie Time and Space complexity, though the Asymptotic Notation ie Big O, Omega and Theta are taken up at the end of this course so that you do not get confused and concentrate on understanding the concepts of data structures.

  • We have a programming environment set up to make sure you have all the software you need in order to get the hands-on experience in implementing Data structures and algorithms.

Then we get to the essence of the course; algorithms and data structures. Each of the specific algorithms and data structures is divided into two sections. Theory lectures and implementation of those concepts in Python. We then move on to learn:

  1. Recursion

  2. Stacks, Queues, Deques

  3. Linked List

  4. Trees & Binary Trees

  5. Binary Search Trees

  6. Priority Queues and Heaps

  7. Graphs & Graph Traversal Algorithms

  8. Searching and Sorting algorithms

Again, each of these sections includes theory lectures covering data structures & their Abstract Data Types and/or algorithms. Plus the implementation of these topics in Python.


Syllabus

  • Why Data Structures?
  • Python Installation
  • PyCharm Installation
  • Linear Search Algorithm
  • Implementing Linear Search Algorithm in Python
  • Recursion in Python
  • Binary Search Algorithm
  • Implementing Binary Search Algorithm in Python - Iteratively
  • Implementing Binary Search Algorithm in Python - Recursively
  • Algorithm Analysis - Time and Space Complexity
  • Abstract Data Type (ADT)
  • Stacks Introduction
  • Stacks Abstract Data Type (ADT)
  • Implementing Stacks using Arrays/Lists in Python
  • Queues Introduction
  • Queues Abstract Data Type (ADT)
  • Implementing Queues using Arrays/Lists in Python
  • Deques Introduction
  • Deque Abstract Data Type (ADT)
  • Implementing Deques using Arrays/Lists in Python
  • Linked List Introduction
  • Implementing Linked List in Python
  • Circular Linked List
  • Implementing Circular Linked List in Python
  • Doubly Linked List
  • Implementing Doubly Linked List in Python
  • Implementing Stacks using Linked List in Python
  • Implementing Queues using Linked List in Python
  • Implementing Deques using Linked List in Python
  • Trees - Definition and Properties
  • Binary Trees and it's Properties
  • Level Order Traversal of Binary Trees
  • Preorder Traversal of Binary Trees
  • Inorder Traversal of Binary Trees
  • Postorder Traversal of Binary Trees
  • Implementing Binary Tree using Linked Structure in Python
  • Binary Search Tree Property
  • Insertion and Deletion in Binary Search Trees
  • Implementing Binary Search Trees in Python
  • Priority Queues & Heaps Introduction
  • Heaps Abstract Data Type (ADT)
  • Implementing Heaps in Python
  • heapq Module in Python
  • Graphs Introduction
  • Graph Abstract Data Type (ADT)
  • Implementing Graphs in Python
  • Graph Traversal Algorithms
  • Implementing Breadth-First Search Algorithm in Python
  • Implementing Depth-First Search Algorithm in Python
  • Selection Sort Algorithm & Its Implementation in Python
  • Insertion Sort Algorithm & Its Implementation in Python
  • Bubble Sort Algorithm & Its Implementation in Python
  • Merge Sort Algorithm & Its Implementation in Python
  • Quick Sort Algorithm & Its Implementation in Python
  • Heap Sort Algorithm & Its Implementation in Python
  • Python's Built-in Sorting Functions
  • Asymptotic Notations Big-Oh, Omega & Theta

Taught by

Syed Mohiuddin

Related Courses

算法设计与分析 Design and Analysis of Algorithms
Peking University via Coursera
Learn Data Structures and Algorithms with Python
Codecademy
Data Structures & Algorithms I: ArrayLists, LinkedLists, Stacks and Queues
Georgia Institute of Technology via edX
数据结构与算法第二部分 | Data Structures and Algorithms Part 2
Peking University via edX
Get Ready for Your Coding Interview
LinkedIn Learning