# Algorithms and Data Structures in Python

4.2 (2566)
MOOC
Learning paid
English
14.5 hours course
Course by Udemy
\$ 129.99
\$ 129.99
What will you learn?
Have a good grasp of algorithmic thinking
Be able to develop your own algorithms
Be able to detect and correct inefficient code snippets

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

Section 1:

• setting up the environment
• data structures and abstract data types

Section 2:

• what is an array data structure
• arrays related interview questions
• linked list data structure and its implementation

Section 3:

• stacks and queues
• related interview questions

Section 4:

• what are binary search trees
• practical applications of binary search trees

Section 5:

• problems with binary trees
• balanced trees: AVL trees and red-black trees

Section 6:

• what are heaps
• heapsort algorithm

Section 7:

• associative arrays and dictionaries
• how to achieve O(1) constant running time with hashing
• ternary search trees as associative arrays

Section 8:

• basic graph algorithms
• breadth-first and depth-first search

Section 9:

• shortest path algorithms
• Dijkstra's algroithm
• Bellman-Ford algorithm

Section 10:

• what are spanning trees
• Kruskal algorithm

Section 11:

• sorting algorithms
• bubble sort, selection sort and insertion sort
• quicksort and merge sort
• non-comparison based sorting algorithms
• counting sort and radix sort

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!

Program
Introduction
Introduction
Why to use data structures
Data structures and abstract data types
Data structures and abstract data types quiz
Setup
Installing python
Data Structures - Arrays
Arrays introduction - basics
Arrays introduction - operations
Arrays in Python
Data Structures - Linked LIsts
Requirements
• Python basics
• Some theoretical background ( big O notation )
Lecturers
Holczer Balazs
Software Engineer
Platform
Udemy courses are suited to professional development. The platform is organized in such a way that it is experts themselves that decide the topic and when the course will start. All supporting documents are made available to you for lifetime access. On this platform, you can find a course on about any subject, and that is no exaggeration – from a tutorial on how to ride a motorcycle, to managing the financial markets. The language and the course format are established by the teacher. This is why it is important to read the information about the course carefully before parting with any money.
Rating
4.2
(1093)
(921)
(405)
(115)
(71)