Algorithms and Data Structures in Python (INTERVIEW Q&A)
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 Dijkstra's approach or Bellman-Ford method Understand minimum spanning trees (Prims's 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 Dijkstra's approach or Bellman-Ford method
- Understand minimum spanning trees (Prims's 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
-
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!
You may also like
- Top 10 Video Editing Courses to Learn in November 2024
- Top 10 Music Production Courses to Learn in November 2024
- Top 10 Animation Courses to Learn in November 2024
- Top 10 Digital Illustration Courses to Learn in November 2024
- Top 10 Renewable Energy Courses to Learn in November 2024
- Top 10 Sustainable Living Courses to Learn in November 2024
- Top 10 Ethical AI Courses to Learn in November 2024
- Top 10 Cybersecurity Fundamentals Courses to Learn in November 2024
- Top 10 Smart Home Technology Courses to Learn in November 2024
- Top 10 Holistic Health Courses to Learn in November 2024
- Top 10 Nutrition And Diet Planning Courses to Learn in November 2024
- Top 10 Yoga Instruction Courses to Learn in November 2024
- Top 10 Stress Management Courses to Learn in November 2024
- Top 10 Mindfulness Meditation Courses to Learn in November 2024
- Top 10 Life Coaching Courses to Learn in November 2024
- Top 10 Career Development Courses to Learn in November 2024
- Top 10 Relationship Building Courses to Learn in November 2024
- Top 10 Parenting Skills Courses to Learn in November 2024
- Top 10 Home Improvement Courses to Learn in November 2024
- Top 10 Gardening Courses to Learn in November 2024