Udemy
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
Development
Web Development Data Science Mobile Development Programming Languages Game Development Database Design & Development Software Testing Software Engineering Development Tools No-Code Development
Business
Entrepreneurship Communications Management Sales Business Strategy Operations Project Management Business Law Business Analytics & Intelligence Human Resources Industry E-Commerce Media Real Estate Other Business
Finance & Accounting
Accounting & Bookkeeping Compliance Cryptocurrency & Blockchain Economics Finance Finance Cert & Exam Prep Financial Modeling & Analysis Investing & Trading Money Management Tools Taxes Other Finance & Accounting
IT & Software
IT Certification Network & Security Hardware Operating Systems Other IT & Software
Office Productivity
Microsoft Apple Google SAP Oracle Other Office Productivity
Personal Development
Personal Transformation Personal Productivity Leadership Career Development Parenting & Relationships Happiness Esoteric Practices Religion & Spirituality Personal Brand Building Creativity Influence Self Esteem & Confidence Stress Management Memory & Study Skills Motivation Other Personal Development
Design
Web Design Graphic Design & Illustration Design Tools User Experience Design Game Design Design Thinking 3D & Animation Fashion Design Architectural Design Interior Design Other Design
Marketing
Digital Marketing Search Engine Optimization Social Media Marketing Branding Marketing Fundamentals Marketing Analytics & Automation Public Relations Advertising Video & Mobile Marketing Content Marketing Growth Hacking Affiliate Marketing Product Marketing Other Marketing
Lifestyle
Arts & Crafts Beauty & Makeup Esoteric Practices Food & Beverage Gaming Home Improvement Pet Care & Training Travel Other Lifestyle
Photography & Video
Digital Photography Photography Portrait Photography Photography Tools Commercial Photography Video Design Other Photography & Video
Health & Fitness
Fitness General Health Sports Nutrition Yoga Mental Health Dieting Self Defense Safety & First Aid Dance Meditation Other Health & Fitness
Music
Instruments Music Production Music Fundamentals Vocal Music Techniques Music Software Other Music
Teaching & Academics
Engineering Humanities Math Science Online Education Social Science Language Teacher Training Test Prep Other Teaching & Academics
AWS Certification Microsoft Certification AWS Certified Solutions Architect - Associate AWS Certified Cloud Practitioner CompTIA A+ Cisco CCNA Amazon AWS AWS Certified Developer - Associate CompTIA Security+
Photoshop Graphic Design Adobe Illustrator Drawing Digital Painting InDesign Character Design Canva Figure Drawing
Life Coach Training Neuro-Linguistic Programming Mindfulness Personal Development Personal Transformation Meditation Life Purpose Neuroscience Coaching
Web Development JavaScript React CSS Angular PHP Node.Js WordPress Python
Google Flutter Android Development iOS Development Swift React Native Dart Programming Language Mobile Development Kotlin SwiftUI
Digital Marketing Google Ads (Adwords) Social Media Marketing Google Ads (AdWords) Certification Marketing Strategy Internet Marketing YouTube Marketing Email Marketing Google Analytics
SQL Microsoft Power BI Tableau Business Analysis Business Intelligence MySQL Data Analysis Data Modeling Big Data
Business Fundamentals Entrepreneurship Fundamentals Business Strategy Online Business Business Plan Startup Freelancing Blogging Home Business
Unity Game Development Fundamentals Unreal Engine C# 3D Game Development C++ 2D Game Development Unreal Engine Blueprints Blender
30-Day Money-Back Guarantee

This course includes:

  • 17.5 hours on-demand video
  • 33 articles
  • 4 downloadable resources
  • Full lifetime access
  • Access on mobile and TV
IT & Software Other IT & Software Data Structures

Algorithms and Data Structures in Python

A guide to implement the most up to date algorithms from scratch: arrays, linked lists, graph algorithms and sorting
Bestseller
Rating: 4.4 out of 54.4 (2,958 ratings)
17,781 students
Created by Holczer Balazs
Last updated 1/2021
English
English [Auto], Polish [Auto]
30-Day Money-Back Guarantee

What you'll learn

  • Understand arrays and linked lists
  • Understand stacks and queues
  • Understand the differences between data structures and abstract data types
  • Understand tree like data structures (binary search trees)
  • Understand balances trees (AVL trees and red-black trees)
  • Understand graph traversing (BFS and DFS)
  • Understand shortest path algorithms such as Dijkstra's approach
  • Understand minimum spanning trees
  • Be able to develop your own algorithms
  • Have a good grasp of algorithmic thinking
  • Be able to detect and correct inefficient code snippets
Curated for the Udemy for Business collection

Requirements

  • Python basics
  • Some theoretical background ( big O notation )

Description

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 environment

  • differences between 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

  • 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 overview

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

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

  • Kruskal's algorithm theory and implementation as well

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!

Who this course is for:

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

Featured review

David Read
David Read
13 courses
2 reviews
Rating: 5.0 out of 5a year ago
Excellent course for those looking to understand important data structures and algorithms. The theoretical explanations are well done, along with concrete examples. Most of the data structures and algorithms described are then implemented, which solidifies the concepts and gives you a chance to apply them in a working system. The interview Q and A section is a nice bonus which allows for further review of the concepts.

Course content

29 sections • 186 lectures • 17h 32m total length

  • Preview02:38
  • Complexity theory basics
    00:11

  • Why to use data structures
    Preview04:49
  • Preview03:33
  • Data Structures and Abstract Data Types Quiz
    2 questions

  • Installing Python and PyCharm on Windows
    00:23
  • Installing Python and PyCharm on Mac
    00:20

  • Preview06:55
  • Preview06:56
  • Preview08:04
  • Preview03:55
  • Arrays Quiz
    5 questions

  • Reversing an array in-place overview
    00:11
  • Reversing an array in-place solution
    04:41
  • Palindrome problem overview
    00:08
  • Palindrome problem solution
    06:31
  • Integer reversion problem overview
    00:07
  • Integer reversion problem solution
    09:59
  • Anagram problem overview
    00:11
  • Anagram problem solution
    05:40
  • Duplicates in an array problem overview
    00:22
  • Duplicates in an array problem solution
    10:40

  • Preview04:53
  • Linked list introduction - operations
    11:03
  • Linked list implementation I
    07:45
  • Linked list implementation II
    04:20
  • Linked list implementation III
    08:27
  • Comparing linked lists and arrays
    06:26
  • Practical (real-world) applications of linked lists
    05:17
  • Linked Lists Quiz
    3 questions

  • What are doubly linked lists?
    06:59
  • Doubly linked list implementation
    08:11
  • Running time comparison: linked lists and arrays
    03:57
  • Doubly Linked Lists Quiz
    3 questions

  • Finding the middle node in a linked list overview
    00:05
  • Finding the middle node in a linked list solution
    05:28
  • Reverse a linked list in-place overview
    00:02
  • Reverse a linked list in-place solution
    06:52

  • What are stacks?
    04:35
  • Stacks in memory management (stacks and heaps )
    03:44
  • Stacks memory visualization
    06:19
  • Stack implementation
    08:41
  • Practical (real-world) applications of stacks
    03:20
  • Stack Quiz
    3 questions

  • What are queues?
    04:15
  • Queue implementation
    08:36
  • Queues Quiz
    2 questions

Instructor

Holczer Balazs
Software Engineer
Holczer Balazs
  • 4.5 Instructor Rating
  • 21,659 Reviews
  • 181,196 Students
  • 33 Courses

Hi! 

My name is Balazs Holczer. I am from Budapest, Hungary. I am qualified as a physicist. At the moment I am working as a simulation engineer at a multinational company. I have been interested in algorithms and data structures and its implementations especially in Java since university. Later on I got acquainted with machine learning techniques, artificial intelligence, numerical methods and recipes such as solving differential equations, linear algebra, interpolation and extrapolation. These things may prove to be very very important in several fields: software engineering, research and development or investment banking. I have a special addiction to quantitative models such as the Black-Scholes model, or the Merton-model.

Take a look at my website if you are interested in these topics!

  • Udemy for Business
  • Teach on Udemy
  • Get the app
  • About us
  • Contact us
  • Careers
  • Blog
  • Help and Support
  • Affiliate
  • Terms
  • Privacy policy
  • Cookie settings
  • Sitemap
  • Featured courses
Udemy
© 2021 Udemy, Inc.