We may earn an affiliate commission when you visit our partners.
Course image
Udemy logo

Data Structures and Algorithms

In-Depth using Python

Syed Mohiuddin

This course will help you in better understanding of the basics of Data Structures and how algorithms are implemented in 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.

Read more

This course will help you in better understanding of the basics of Data Structures and how algorithms are implemented in 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 setup 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.

Enroll now

What's inside

Learning objectives

  • Learn data structures, abstract data types and their implementation in python
  • Implementation of searching algorithms in python
  • Implementation of stacks, queues, linked list, binary trees, heaps and graphs in python
  • Implementation of binary tree traversal techniques in python
  • Graph traversals techniques ie depth first search and breadth-first search in python
  • Implementation of sorting algorithms in python
  • Enhance analytical skill and efficiently use searching and sorting algorithms in real applications

Syllabus

Course Overview
Course Introduction
Get the most out of this course
Why we need Data Structure ?
Read more
Why Learn Algorithms ?
Abstract Data Type (ADT)
Python Installation on Windows
PyCharm (IDE) Installation on Windows
Bonus: Python Crash Course (Basics and Fundamentals)
First Python Program, Data Types and Variables
Integers & Float Data Types
Strings Data Types
Boolean & None Data Types
Arithmetic Operators & Integer Division
Relational or Comparison Operators
Logical Operators
input() Function
print() Function
if, if-else and elif Statements
range() Function
while() & for() Loops
break & continue Statements
What are Lists?
Using Lists and List Indexing
What are Tuples ?
Tuple Indexing
Membership & Identity Operators
What are Dictionaries?
Using Dictionaries
What are Functions?
Writing Functions in Python?
Importing Modules in Python
Creating Your Own Modules
Fundamentals of Object Oriented Programming
Defining Classes & Creating Objects
More on __init__ Method (Constructor)
Understanding self Parameter
Static and Local Variables
Analysis of Algorithms

Time and Space Complexity

Order of Growth
Asymptotic Analysis
Big-Oh Notation
Big Omega Notation
Big Theta Notation
Performance Summary
Space Complexity
Quiz
Recursion and Analysis of Recursive Functions
How Recursion Works ?
Iteration vs recursion lets Implement
Time Complexity of Recursion - Recurrence Relation
Recurrence Relation - Another example
Types of Recursion - Tail and Head Recursion
Types of Recursion - Tree Recursion
Types of Recursion - Indirect Recursion
Sum of N Natural Numbers
Lets Implement Sum of N Numbers
Factorial
Lets Implement Factorial
Searching Algorithms
Linear Search Algorithm
Lets Implement Linear Search
Binary Search Iterative Algorithm
Lets Implement Binary Search using Iterations
Binary Search Recursive Algorithm
Lets Implement Binary Search using Recursion
Sorting Algorithms
Sorting Introduction
Stable and Unstable Sorting
Selection Sort - Explanation, Algorithm and Analysis
Selection Sort - Implementation
Insertion Sort - Explanation, Algorithm and Analysis
Insertion Sort - Implementation
Bubble Sort - Explanation, Algorithm and Analysis
Bubble Sort - Implementation
Shell Sort - Explanation, Algorithm and Analysis
Shell Sort - Implementation
Merge Sort
Merge Sort - Algorithm
Merging - Algorithm
Merge Sort - Complexity Analysis
Merge Sort - Implementation
Quick Sort
Quick Sort - Algorithm
Quick Sort - Complexity Analysis
Quick Sort - Implementation
Count Sort - Explanation, Algorithm and Analysis
Count Sort - Implementation
Radix Sort - Explanation, Algorithm and Analysis
Radix Sort - Implementation
Python's Built-in Sorting Functions
Sorting Algorithms - Summary of Complexities
Linked List
Why do we use Linked List
Creating Node of Linked List
Playing with the links of Linked List
How to Create Linked List
Displaying or Traversing Linked List
Lets Implement Creating and Displaying Linked List

Good to know

Know what's good
, what to watch for
, and possible dealbreakers
Develops an understanding of algorithms and data structures, which is standard in computer science
Taught by Syed Mohiuddin, who is recognized for their work in algorithms and data structures
Examines data structures and algorithms, which are highly relevant to computer science careers
Includes hands-on labs which allow learners to apply their learning
Offers a comprehensive study of algorithms and data structures
Teaches computer science theory which is essential for a strong foundation in the field

Save this course

Save Data Structures and Algorithms: In-Depth using Python to your list so you can find it easily later:
Save

Activities

Be better prepared before your course. Deepen your understanding during and after it. Supplement your coursework and achieve mastery of the topics covered in Data Structures and Algorithms: In-Depth using Python with these activities:
Review Python basics
Strengthen foundational Python skills before starting the course.
Browse courses on Python
Show steps
  • Review variables, data types, and operators
  • Practice writing simple Python programs
Compile course materials
Organize and review course materials to enhance understanding.
Show steps
  • Gather lecture notes, assignments, and quizzes
  • Organize and review materials regularly
Join a study group
Collaborate with peers to discuss concepts, work on problems, and share knowledge.
Browse courses on Data Structures
Show steps
  • Find a study group or create one
  • Meet regularly to discuss course content
  • Work together on assignments and projects
Five other activities
Expand to see all activities and additional details
Show all eight activities
Review 'Data Structures and Algorithms in Python'
Reinforce understanding of basic data structures and algorithms by reading a reference text.
Show steps
  • Read chapters 1-3
  • Complete end of chapter exercises
Complete Python coding exercises on LeetCode
Develop problem-solving skills and solidify understanding by practicing coding algorithm questions.
Browse courses on Python
Show steps
  • Review basic syntax and data structures
  • Attempt easy and medium difficulty questions
  • Review solutions and explanations
Start a personal project using data structures and algorithms
Apply knowledge and skills to a personal project.
Browse courses on Data Structures
Show steps
  • Identify a project idea
  • Research and learn necessary technologies
  • Plan and design the project
  • Implement and test the project
Follow tutorials on recursion and tree traversal
Gain a deeper understanding of these concepts by following guided tutorials.
Browse courses on Recursion
Show steps
  • Watch videos or read articles on recursion
  • Implement recursive functions in Python
  • Practice tree traversal using DFS and BFS
Build a Python project using data structures and algorithms
Apply knowledge and skills by building a project that utilizes data structures and algorithms.
Browse courses on Python
Show steps
  • Identify a project idea
  • Design the data structures and algorithms
  • Implement the project in Python
  • Test and debug the project

Career center

Learners who complete Data Structures and Algorithms: In-Depth using Python will develop knowledge and skills that may be useful to these careers:

Reading list

We haven't picked any books for this reading list yet.

Share

Help others find this course page by sharing it with your friends and followers:

Similar courses

Here are nine courses similar to Data Structures and Algorithms: In-Depth using Python.
Introduction to Data Structures and Algorithms in C++
Most relevant
Data Structures and Algorithms: Deep Dive Using Java
Most relevant
Data Structures: An Active Learning Approach
Most relevant
Algorithms and Data Structures in Python (INTERVIEW Q&A)
Most relevant
Algorithms Data Structures in Java #2 (+INTERVIEW...
Most relevant
Data Structures Fundamentals
Most relevant
Data Structures and Algorithms In Java ( DSA )
Most relevant
Modern C++ Concurrency in Depth ( C++17/20)
Most relevant
Python Data Structures & Algorithms: Ace Coding Interviews
Our mission

OpenCourser helps millions of learners each year. People visit us to learn workspace skills, ace their exams, and nurture their curiosity.

Our extensive catalog contains over 50,000 courses and twice as many books. Browse by search, by topic, or even by career interests. We'll match you to the right resources quickly.

Find this site helpful? Tell a friend about us.

Affiliate disclosure

We're supported by our community of learners. When you purchase or subscribe to courses and programs or purchase books, we may earn a commission from our partners.

Your purchases help us maintain our catalog and keep our servers humming without ads.

Thank you for supporting OpenCourser.

© 2016 - 2024 OpenCourser