Getting Digital

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

Develop essential programming & development skills with expert instruction and practical examples.

Online Course
Self-paced learning
Flexible Schedule
Learn at your pace
Expert Instructor
Industry professional
Certificate
Upon completion
What You'll Learn
Master the fundamentals of programming & development
Apply best practices and industry standards
Build practical projects to demonstrate your skills
Understand advanced concepts and techniques

Skills you'll gain:

Professional SkillsBest PracticesIndustry StandardsPython
Prerequisites & Target Audience

Skill Level

IntermediateSome prior knowledge recommended

Requirements

Basic understanding of programming & development
Enthusiasm to learn
Access to necessary software/tools
Commitment to practice

Who This Course Is For

Professionals working in programming & development
Students and career changers
Freelancers and consultants
Anyone looking to improve their skills
Course Information

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.

Provider
Udemy
Estimated Duration
10-20 hours
Language
English
Category
Technology & Programming

Topics Covered

Programming & DevelopmentPython

Course Details

Format
Online, Self-Paced
Access
Lifetime
Certificate
Upon Completion
Support
Q&A Forum
Course Details
Ready to get started?

View pricing and check out the reviews. See what other learners had to say about the course.

Get started and enroll now
Money-back guarantee might be available
Join thousands of students

This course includes:

Lifetime access to course content
Access on mobile and desktop
Certificate of completion
Downloadable resources

Not sure if this is right for you?

Browse More Programming & Development Courses

Continue Your Learning Journey

Explore more Programming & Development courses to deepen your skills and advance your expertise.

Welcome to Data Structures and Algorithms - Coding Interview Bootcamp, One single course to start your DSA journey as a ...
Welcome to my Basic course on Java Programming with NetBeans!My name is Matthew Dewey. I am an experienced programmer, h...
Learn programming development through practical, hands-on projects and real-world examples.
This Course is for Everyone who wants to start using computer , know more about computers. The things that you would lea...