HOME > Development > Algorithms and Data Structures in Python (INTERVIEW QA)

Algorithms and Data Structures in Python (INTERVIEW QA)

  • Development
  • Apr 25, 2025
SynopsisAlgorithms and Data Structures in Python (INTERVIEW Q&A ,...
Algorithms and Data Structures in Python (INTERVIEW QA)  No.1

Algorithms and Data Structures in Python (INTERVIEW Q&A), available at $99.99, has an average rating of 4.62, with 213 lectures, 44 quizzes, based on 4278 reviews, and has 28849 subscribers.

You will learn about Understand arrays and linked lists Understand stacks and queues Understand tree like data structures (binary search trees) Understand balances trees (AVL trees and red-black trees) Understand heap data structures Understand hashing, hash tables and dictionaries Understand the differences between data structures and abstract data types Understand graph traversing (BFS and DFS) Understand shortest path algorithms such as Dijkstras approach or Bellman-Ford method Understand minimum spanning trees (Primss algorithm) Understand sorting algorithms Be able to develop your own algorithms Have a good grasp of algorithmic thinking Be able to detect and correct inefficient code snippets This course is ideal for individuals who are Beginner Python developers curious about graphs, algorithms and data structures It is particularly useful for Beginner Python developers curious about graphs, algorithms and data structures.

Enroll now: Algorithms and Data Structures in Python (INTERVIEW Q&A)

Summary

Title: Algorithms and Data Structures in Python (INTERVIEW Q&A)

Price: $99.99

Average Rating: 4.62

Number of Lectures: 213

Number of Quizzes: 44

Number of Published Lectures: 209

Number of Published Quizzes: 44

Number of Curriculum Items: 257

Number of Published Curriculum Objects: 253

Original Price: $199.99

Quality Status: approved

Status: Live

What You Will Learn

  • Understand arrays and linked lists
  • Understand stacks and queues
  • Understand tree like data structures (binary search trees)
  • Understand balances trees (AVL trees and red-black trees)
  • Understand heap data structures
  • Understand hashing, hash tables and dictionaries
  • Understand the differences between data structures and abstract data types
  • Understand graph traversing (BFS and DFS)
  • Understand shortest path algorithms such as Dijkstras approach or Bellman-Ford method
  • Understand minimum spanning trees (Primss algorithm)
  • Understand sorting algorithms
  • Be able to develop your own algorithms
  • Have a good grasp of algorithmic thinking
  • Be able to detect and correct inefficient code snippets
  • Who Should Attend

  • Beginner Python developers curious about graphs, algorithms and data structures
  • Target Audiences

  • Beginner Python developers curious about graphs, algorithms and data structures
  • This course is about data structures, algorithms and graphs. We are going to implement the problems in Python programminglanguage. I highly recommend typing out these data structures and algorithms several times on your own in order to get a good grasp of it.

    So what are you going to learn in this course?

    Section 1:

  • setting up the environment

  • differences between data structures and abstract data types

  • Section 2 – Arrays:

  • what is an array data structure

  • arrays related interview questions

  • Section 3 – Linked Lists:

  • linked list data structure and its implementation

  • doubly linked lists

  • linked lists related interview questions

  • Section 4 – Stacks and Queues:

  • stacks and queues

  • stack memory and heap memory

  • how the stack memory works exactly?

  • stacks and queues related interview questions

  • Section 5 – Binary Search Trees:

  • what are binary search trees

  • practical applications of binary search trees

  • problems with binary trees

  • Section 6 – Balanced Binary Trees (AVL Trees and Red-Black Trees):

  • why to use balanced binary search trees

  • AVL trees

  • red-black trees

  • Section 7 – Priority Queues and Heaps:

  • what are priority queues

  • what are heaps

  • heapsort algorithm overview

  • Section 8 – Hashing and Dictionaries:

  • associative arrays and dictionaries

  • how to achieve O(1) constant running time with hashing

  • Section 9 – Graph Traversal:

  • basic graph algorithms

  • breadth-first

  • depth-first search

  • stack memory visualization for DFS

  • Section 10 – Shortest Path problems (Dijkstra’s and Bellman-Ford Algorithms):

  • shortest path algorithms

  • Dijkstra’s algorithm

  • Bellman-Ford algorithm

  • how to detect arbitrage opportunities on the FOREX?

  • Section 11 – Spanning Trees (Kruskal’s and Prim’s Approaches):

  • what are spanning trees

  • what is the union-find data structure and how to use it

  • Kruskal’s algorithm theory and implementation as well

  • Prim’s algorithm

  • Section 12 – Substring Search Algorithms

  • what are substring search algorithms and why are they important in real world softwares

  • brute-force substring search algorithm

  • hashing and Rabin-Karp method

  • Knuth-Morris-Pratt substring search algorithm

  • Z substring search algorithm (Z algorithm)

  • implementations in Python

  • Section 13 – Hamiltonian Cycles (Travelling Salesman Problem)

  • Hamiltonian cycles in graphs

  • what is the travelling salesman problem?

  • how to use backtracking to solve the problem

  • meta-heuristic approaches to boost algorithms

  • Section 14 – Sorting Algorithms

  • sorting algorithms

  • bubble sort, selection sort and insertion sort

  • quicksort and merge sort

  • non-comparison based sorting algorithms

  • counting sort and radix sort

  • Section 15 – Algorithms Analysis

  • how to measure the running time of algorithms

  • running time analysis with big O(ordo), big Ω (omega) and big θ(theta)notations

  • complexity classes

  • polynomial (P) and non-deterministic polynomial (NP) algorithms

  • O(1), O(logN), O(N) and several other running time complexities

  • In the first part of the course we are going to learn about basic data structures such as linked lists, stacks, queues, binary search trees, heaps and some advanced ones such as AVL trees and red-black trees.. The second part will be about graph algorithms such as spanning trees, shortest path algorithms and graph traversing. We will try to optimize each data structure as much as possible.

    In each chapter I am going to talk about the theoretical background of each algorithm or data structure, then we are going to write the code step by step in Python.

    Most of the advanced algorithms relies heavily on these topics so it is definitely worth understanding the basics. These principles can be used in several fields: in investment banking, artificial intelligence or electronic trading algorithms on the stock market. Research institutes use Python as a programming language in the main: there are a lot of library available for the public from machine learning to complex networks.

    Thanks for joining the course, let’s get started!

    Course Curriculum

    Chapter 1: Introduction

    Lecture 1: Introduction

    Lecture 2: Complexity theory basics

    Chapter 2: Installation and Environment Setup

    Lecture 1: Installing Python

    Lecture 2: Installing PyCharm

    Chapter 3: ###?DATA STRUCTURES ###

    Lecture 1: Why do we need data structures?

    Lecture 2: Data structures and abstract data types

    Chapter 4: Data Structures – Arrays

    Lecture 1: What are array data structures?

    Lecture 2: What are lists in Python?

    Lecture 3: Arrays introduction – operations

    Lecture 4: Lists in Python

    Lecture 5: Lists in Python – advanced operations

    Lecture 6: Lists in Python – list comprehension

    Chapter 5: Interview Questions – (Arrays)

    Lecture 1: Reversing an array in-place solution

    Lecture 2: Palindrome problem solution

    Lecture 3: Integer reversion problem solution

    Lecture 4: Anagram problem solution

    Chapter 6: Data Structures – Linked Lists

    Lecture 1: What are linked lists?

    Lecture 2: Linked list introduction – operations

    Lecture 3: Pros and cons of linked lists

    Lecture 4: Linked list implementation I

    Lecture 5: Linked list implementation II

    Lecture 6: Linked list implementation III

    Lecture 7: Revisiting remove operation

    Lecture 8: Comparing linked lists and arrays

    Lecture 9: Practical (real-world) applications of linked lists

    Chapter 7: Data Structures – Doubly Linked Lists

    Lecture 1: What are doubly linked lists?

    Lecture 2: Doubly linked list implementation

    Lecture 3: Running time comparison: linked lists and arrays

    Chapter 8: Interview Questions (Linked Lists)

    Lecture 1: Finding the middle node in a linked list solution

    Lecture 2: Reverse a linked list in-place solution

    Chapter 9: Data Structures – Stacks

    Lecture 1: What are stacks?

    Lecture 2: Stacks in memory management (stacks and heaps)

    Lecture 3: Stack memory visualization

    Lecture 4: Stack implementation

    Lecture 5: Practical (real-world) applications of stacks

    Chapter 10: Data Structures – Queues

    Lecture 1: What are queues?

    Lecture 2: Queue implementation

    Chapter 11: Interview Questions (Stacks and Queues)

    Lecture 1: Max in a stack problem overview

    Lecture 2: Max in a stack problem solution

    Lecture 3: Queue with stack problem

    Lecture 4: Queue with stack problem solution

    Lecture 5: Queue with stack problem solution – recursion

    Chapter 12: Data Structures – Binary Search Trees

    Lecture 1: What are binary search trees?

    Lecture 2: Binary search trees theory – search, insert

    Lecture 3: Binary search trees theory – delete

    Lecture 4: Binary search trees theory – in-order traversal

    Lecture 5: Pros and cons of binary search trees

    Lecture 6: Binary search tree implementation I

    Lecture 7: Binary search tree implementation II

    Lecture 8: Stack memory visualization – finding max (min) items

    Lecture 9: Stack memory visualization – tree traversal

    Lecture 10: Binary search tree implementation III – remove operation

    Lecture 11: Practical (real-world) applications of trees

    Chapter 13: Interview Questions (Binary Search Trees)

    Lecture 1: Compare binary trees solution

    Chapter 14: Data Structures – AVL Trees

    Lecture 1: Motivation behind balanced binary search trees

    Lecture 2: What are AVL trees?

    Lecture 3: AVL trees introduction – height

    Lecture 4: AVL trees introduction – rotations

    Lecture 5: AVL trees introduction – illustration

    Lecture 6: AVL tree implementation I

    Lecture 7: AVL tree implementation II

    Lecture 8: AVL tree implementation III

    Lecture 9: AVL tree implementation IV

    Lecture 10: AVL tree implementation V

    Lecture 11: Practical (real-world) applications of balanced binary search trees

    Chapter 15: Data Structures – Red-Black Trees

    Lecture 1: What are red-black trees?

    Lecture 2: The logic behind red-black trees

    Lecture 3: Red-black trees – recoloring and rotation cases

    Lecture 4: Red-black tree illustrations

    Lecture 5: Red-black tree implementation I

    Instructors

  • Algorithms and Data Structures in Python (INTERVIEW QA)  No.2
    Holczer Balazs
    Software Engineer
  • Rating Distribution

  • 1 stars: 92 votes
  • 2 stars: 150 votes
  • 3 stars: 577 votes
  • 4 stars: 1506 votes
  • 5 stars: 1952 votes
  • Frequently Asked Questions

    How long do I have access to the course materials?

    You can view and review the lecture materials indefinitely, like an on-demand channel.

    Can I take my courses with me wherever I go?

    Definitely! If you have an internet connection, courses on Udemy are available on any device at any time. If you don’t have an internet connection, some instructors also let their students download course lectures. That’s up to the instructor though, so make sure you get on their good side!