Algorithms and Data Structures in Python (INTERVIEW Q & A)
Develop essential programming & development skills with expert instruction and practical examples.
Skills you'll gain:
Skill Level
Requirements
Who This Course Is For
About This Course
This course is about data structures, algorithms and graphs. We are going to implement the problems in Python programming language. 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 environmentdifferences between data structures and abstract data typesSection 2 - Arrays:what is an array data structurearrays related interview questionsSection 3 - Linked Lists:linked list data structure and its implementationdoubly linked listslinked lists related interview questionsSection 4 - Stacks and Queues:stacks and queuesstack memory and heap memoryhow the stack memory works exactly. stacks and queues related interview questionsSection 5 - Binary Search Trees:what are binary search treespractical applications of binary search treesproblems with binary treesSection 6 - Balanced Binary Trees (AVL Trees and Red-Black Trees):why to use balanced binary search treesAVL treesred-black treesSection 7 - Priority Queues and Heaps:what are priority queueswhat are heapsheapsort algorithm overviewSection 8 - Hashing and Dictionaries:associative arrays and dictionarieshow to achieve O(1) constant running time with hashingSection 9 - Graph Traversal:basic graph algorithmsbreadth-firstdepth-first searchstack memory visualization for DFSSection 10 - Shortest Path problems (Dijkstra's and Bellman-Ford Algorithms):shortest path algorithmsDijkstra's algorithmBellman-Ford algorithmhow to detect arbitrage opportunities on the FOREX.
Section 11 - Spanning Trees (Kruskal's and Prim's Approaches):what are spanning treeswhat is the union-find data structure and how to use itKruskal's algorithm theory and implementation as wellPrim's algorithmSection 12 - Substring Search Algorithmswhat are substring search algorithms and why are they important in real world softwaresbrute-force substring search algorithmhashing and Rabin-Karp methodKnuth-Morris-Pratt substring search algorithmZ substring search algorithm (Z algorithm)implementations in PythonSection 13 - Hamiltonian Cycles (Travelling Salesman Problem)Hamiltonian cycles in graphswhat is the travelling salesman problem. how to use backtracking to solve the problemmeta-heuristic approaches to boost algorithmsSection 14 - Sorting Algorithmssorting algorithmsbubble sort, selection sort and insertion sortquicksort and merge sortnon-comparison based sorting algorithmscounting sort and radix sortSection 15 - Algorithms Analysishow to measure the running time of algorithmsrunning time analysis with big O (ordo), big Ω (omega) and big θ (theta) notationscomplexity classespolynomial (P) and non-deterministic polynomial (NP) algorithmsO(1), O(logN), O(N) and several other running time complexitiesIn 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.
Topics Covered
Course Details
View pricing and check out the reviews. See what other learners had to say about the course.
This course includes:
Not sure if this is right for you?
Browse More Programming & Development CoursesContinue Your Learning Journey
Explore more Programming & Development courses to deepen your skills and advance your expertise.