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 CompTIA Security+ Microsoft AZ-900
Graphic Design Photoshop Adobe Illustrator Drawing Digital Painting InDesign Character Design Canva Figure Drawing
Life Coach Training Neuro-Linguistic Programming Personal Development Personal Transformation Mindfulness Life Purpose Meditation CBT Emotional Intelligence
Web Development JavaScript React CSS Angular PHP Node.Js WordPress Vue JS
Google Flutter Android Development iOS Development React Native Swift 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 Retargeting
Microsoft Power BI SQL Tableau Business Analysis Data Modeling Business Intelligence MySQL Data Analysis Blockchain
Business Fundamentals Entrepreneurship Fundamentals Business Strategy Business Plan Startup Freelancing Online Business 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
Development Software Engineering Data Structures

Master Data Structures for Optimal Solutions in Python

Data Structures Made Easy - Master the Optimal Solution to Programming Challenges with Proven Data Structures
Rating: 4.9 out of 54.9 (10 ratings)
107 students
Created by Rune Thomsen
Last updated 4/2021
English
English [Auto]
30-Day Money-Back Guarantee

What you'll learn

  • Know how to use and implement the proven data structures in Python
  • Master how wrong data structure kills performance of your program
  • Master the optimal solutions to problems like the Balancing Bracket Problems with Data Structures
  • Practical experience on to measure performance of data structures
  • Know how and when to solve Programming Challenges using Linked Lists, Stacks and Queues.
  • The basis of Object Oriented Programming in Python - From drawings to code
  • How Linked Lists are used to implement Queues and Stacks
  • Learn how to implement Double Linked Lists in Python

Course content

11 sections • 38 lectures • 4h 37m total length

  • Preview02:56
  • Preview00:09
  • Preview07:20
  • Preview01:13

  • Preview01:02
  • Preview02:55
  • Creating a file in PyCharm - this is where you write your code
    04:54
  • How to Debug in PyCharm
    06:10

  • Why use Linked Lists at all? Why bother?
    09:39
  • Linked lists
    3 questions
  • Linked Lists - the straight forward implementation
    11:44
  • Create a Node class
    1 question
  • Create a linked list
    1 question
  • Linked List - improving our Node class to achieve more readable code
    10:22
  • Improving your Node class
    1 question
  • Adding the print function
    1 question
  • Adding a Linked List class to our code - and how it improves our code
    12:36
  • Adding a Linked List class
    1 question
  • Adding a Delete First method to the Linked List
    07:19
  • Adding a Delete First method
    1 question
  • Adding an Insert Last method to the Linked List
    11:22
  • Adding an Insert Last method
    1 question

  • What is a Stack
    02:43
  • Stack
    3 questions
  • The easy implementation of a Stack using our Linked List
    07:23
  • Implementing a Stack using a Linked List
    1 question
  • Adding isEmpty to our Linked List and Stack
    05:14
  • Adding isEmpty to our Linked List and Stack
    1 question
  • Implement a Stack using Python Lists
    08:31
  • Implementing a Stack using a Python List
    1 question

  • What is a Queue
    02:07
  • Queue
    3 questions
  • Implementing a Queue in Python using our Linked List
    07:26
  • Implementing a Queue using a Linked List
    1 question
  • Implementing a Queue using a Python List
    05:27
  • Implementing a Queue using a Python List
    1 question
  • Improve our Linked List to get more efficient Queue
    13:58
  • Implement the tail pointer in Linked List and make insert_last mere efficient
    1 question

  • Reversing a Linked List using a Queue
    05:37
  • Reversing a Linked List using a Queue
    1 question
  • Explaining reversing a Linked List and improving it
    07:05
  • Reversing a Linked List by adding them to a new Linked List
    1 question
  • Reversing a Linked List the efficient way
    07:34
  • Reverse a Linked List the efficient way
    1 question

  • Implementing a Double Linked List in Python from scratch
    13:22
  • Implement a Double Linked List
    1 question

  • Preview12:39
  • Implementing an efficient solution to the Bracket Balancing Problem
    16:26

  • Preview12:31
  • Preview10:33
  • Preview10:00

  • Preview10:28
  • Comparing Queue to a Python list
    05:49
  • Investigating the data on a graph
    03:31
  • Comparing our Stack to a naive usage of a Python list
    06:06
  • Investigating the data between the Stack and a naive usage of a Python list
    05:21
  • Comparing our Stack with the efficient usage of a Python list
    06:57

Requirements

  • Understanding of a simple Python program (if, while and function calls)
  • Basic understanding of a class (object) in Python
  • Simple understanding of Python lists

Description

Why master Data Structures?

  • The simple and naive solution to problems like the Balancing Bracket Problems, Nearest Smallest Element Problem and many more... are not efficient and are too slow for large input sizes. They kill your programs performance.

  • With the right Data Structure problems like that have fast and optimal run-time.

  • Also, it teaches you how performance is measured and what matters when solving your programming challenges.

We will cover all that and more.

Most courses on Data Structures focus too much on only mastering the structures itself. Standard courses move too fast forward to complex Data Structures. The normal courses do not explain use-cases and actually show how you benefit from mastering data structures.

This course will focus on mastering the most important and used Data Structures. It will also show you how these Data Structures can be used to solve some of the most advanced programming challenges. Further, it will show you how wrong use of Data Structures are killing the performance of your program.

This is not taught in standard Data Structure courses, which only focus on the understanding and implementing Data Structures.

This course will teach you in an easy way the most used Data Structures and master the power of them.


Python is the chosen language to learn programming for obvious reasons:

  • Python is easy to master

  • It is easy to solve complex problems in an elegant manner

  • ...and it is a used by many professionals in most professions

Python is the chosen language to master Data Structures

  • It is easy to turn drawings of Data Structures into Python code.

  • No overhead syntax is needed to express functionality.

  • You only need to master how to get from a drawing to Python code.

This course will give you that and more!

How will you benefit from this course?

  • You will master the simplest way to turn drawings of Data Structures into Python code.

  • Understand how and when to use Data Structures.

  • Implement proven efficient data structures like Linked Lists, Stacks and Queues in less than 5 minutes.

  • Know what Data Structures to use to solve Programming Challenges in the optimal way.

  • How to check the performance of your program and Data Structures like a professional.

  • Simply, you will take your Python skills to the next level.

If you want to become a effective programmer you need to have some basic understanding of the underlying programming concepts. The more programming concepts you understand, the more problems you can solve efficiently in Python.

In this course we will cover the essential proven Data Structures in an straight forward and easy to understand way. You will be learning along the way and implement the Data Structures to get an understanding of it.

This course covers the following

  • Understand why Linked Lists, Stacks, and Queues are essential to understand in programming

  • Make simple and easy to understand implementations of Linked Lists, Staks, Queues, and Double Linked Lists

  • Learn how to reverse a Linked List

  • How to solve programming challenges like the Balancing Bracket Problem and Nearest Smallest Element Problem

  • Understand performance of programs and Data Structures

  • Why do the chosen data structure matters in your solution.

The course is structures in an easy understandable way.

  • How to simplest turn the concept of a Linked List into beautiful and readable code.

  • Why you use a helper class to make the operations on Linked Lists.

  • Showing why the Linked List is an efficient Data Structures for implementing Stacks and Queues.

  • How to solve problems with the Data Structures

  • Also, how to test performance of your solutions

You code along - you only learn by trying yourself

  • At each small step you make the implementation along with me.

  • You implement it on all stages to increase your understanding of the data structures.

  • Basically, we learn along the way.

Who is this course for?

  • You have used Python on any level.

  • You may be a beginner that want to program as a professional.

  • ...or you have been programming for years, but need to understand the basics better

  • You do understand the concepts of Python functions, if, for and while-loops.

  • ...that's all you need - still uncertain of your skills - check out the prerequisite lecture that takes you through the requirements.

The course has a 30 day money back guarantee that ensures if you are not satisfied, you will get your money back. Also, feel free to contact me directly if you have any questions.


Who this course is for:

  • Beginner Python developer that wants to master how data structures gives optimal solutions to problems
  • Python developer that wants to increase knowledge about how to implement and solve general problems in Python

Instructor

Rune Thomsen
Computer Science, PhD/CS, MBA
Rune Thomsen
  • 4.6 Instructor Rating
  • 377 Reviews
  • 17,022 Students
  • 7 Courses

Hi, I'm Rune.

Thank you for checking my course.

With a PhD in Computer Science, an MBA to learn business administration and finance, 10+ years in professional software development, I still find my greatest passion in teaching.

I have helped students succeed with programming since I took my PhD in computer science and was teaching at Aarhus University, Denmark.

Since then, I was a software engineer (programmer), the head of branch of developers, build big software solutions, and software engineering manager in a software as a service (SaaS) company.

Along that journey, I took an MBA from Henley Business School in UK to learn about business administration and finance.


My journey on Udemy started in 2020 and the focus has been on Python programming, which is my greatest passion. I love to make concepts easy to understand and fun to learn.

Until now I have the Udemy Bestseller:

Master Modern Security and Cryptography by Coding in Python


I started to program as 12 years old before the internet was available for common people (read: for me).

It was Basic, yes the language Basic with line numbers.

My best friend started and we helped each other to get better. Before I reached college, I had helped many friends with programming.

It was natural for me to teach at college and I missed it when I left after teaching all the fundamental programming and computer theory courses at least once.

Later I have helped new employees to program, as well as other professionals to automate their work with Python.

I have helped a guy with no experience in programming to get his first job within 6 months of starting.


If anything, please feel free to reach out to me and I'll be there for you every step of the way.

Rune

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