Udemy
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
Development
Web Development Data Science Mobile Development Programming Languages Game Development Database Design & Development Software Testing Software Engineering Software Development Tools No-Code Development
Business
Entrepreneurship Communication 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 Certifications Network & Security Hardware Operating Systems & Servers 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 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 Paid 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 & Gardening 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 & Diet Yoga Mental Health Martial Arts & 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 Learning Teacher Training Test Prep Other Teaching & Academics
Web Development JavaScript React Angular CSS Node.Js PHP HTML5 Vue JS
AWS Certification Microsoft Certification AWS Certified Solutions Architect - Associate AWS Certified Cloud Practitioner CompTIA A+ Amazon AWS Cisco CCNA Microsoft AZ-900 CompTIA Security+
Microsoft Power BI SQL Tableau Data Modeling Business Analysis Business Intelligence MySQL Qlik Sense Data Analysis
Unity Unreal Engine Game Development Fundamentals C# 3D Game Development C++ Unreal Engine Blueprints 2D Game Development Blender
Google Flutter iOS Development Android Development Swift React Native Dart (programming language) Kotlin Mobile App Development SwiftUI
Graphic Design Photoshop Adobe Illustrator Drawing Digital Painting Canva InDesign Character Design Procreate Digital Illustration App
Life Coach Training Neuro-Linguistic Programming Personal Development Personal Transformation Life Purpose Mindfulness Sound Therapy Meditation Emotional Intelligence
Business Fundamentals Entrepreneurship Fundamentals Freelancing Business Strategy Startup Business Plan Online Business Blogging Leadership
Digital Marketing Social Media Marketing Marketing Strategy Google Analytics Internet Marketing Email Marketing Copywriting YouTube Marketing Startup

IT & SoftwareOther IT & SoftwareAlgorithms

Advanced Algorithms and Data Structures in Python

Fenwick trees, Caches, Splay Trees, Prefix Trees (Tries), Substring-Search Algorithms and Travelling Salesman Problem
Rating: 4.2 out of 54.2 (42 ratings)
2,398 students
Created by Holczer Balazs
Last updated 1/2022
English
English [Auto]

What you'll learn

  • Have a good grasp of algorithmic thinking
  • Be able to develop your own algorithms
  • Be able to detect and correct inefficient code snippets
  • Understand Fenwick trees
  • Understand caches (LRU caches and Splay Trees)
  • Understand tries and ternary search trees
  • Understand substring search algorithms (Rabin-Karp method, KMP algorithm and Z algorithm)
  • Understand the Hamiltonian cycle problem (and travelling salesman problem)
  • Understand Eulerian cycle problem

Requirements

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

Description

This course is for those who are interested in computer science and want to implement the algorithms and given data structures in Python. In every chapter you will learn about the theory of a given data structure or algorithm and then you will implement them from scratch.

Chapter 1: Binary Indexed Trees (Fenwick Trees)

  • theory behind the binary indexed tree or Fenwick tree data structure

  • how to use this data structure in computer vision and artificial intelligence

  • implementation in Python

Chapter 2: LRU Caches

  • what are caches and why are they so important

  • how to use doubly linked lists to implement caches

  • theory behind LRU caches

  • implementation in Python

Chapter 3: Splay Trees

  • what are splay trees

  • how to achieve caches with splay trees

Chapter 4: B-Trees

  • external memory and internal memory (RAM)

  • data structures for the external memory

  • trees with multiple children and multiple keys

  • what are B-tree data structures?

Chapter 5: Prefix Trees (Tries)

  • what are tries or prefix trees

  • real world applications of tries

  • autocomplete feature of tries

  • sorting with tries

  • IP routing

Chapter 6: Ternary Search Trees

  • what are ternary search trees

  • boggle game with tries

Chapter 7: Substring Search Algorithms

  • what are substring search algorithms and why are they important in real world softwares

  • brute-force substring search algorithm

  • hashing and Rabin-Karp method

  • Knuth-Morris-Pratt substring search algorithm

  • Z substring search algorithm (Z algorithm)

  • implementations in Python

Chapter 8: Topological Ordering

  • what is topological ordering (topological sort)?

  • topological ordering implementation with depth-first search

Chapter 9: Cycle Detection

  • how to detect cycles in graphs?

Chapter 10: Strongly Connected Components (Tarjan's Algorithm)

  • what are strongly connected components?

  • Tarjan's algorithm with depth-first search

Chapter 11: Hamiltonian cycles (Travelling Salesman Problem)

  • Hamiltonian cycles in graphs

  • what is the travelling salesman problem?

  • how to use backtracking to solve the problem

  • meta-heuristic approaches to boost algorithms

Chapter 12: Eulerian Cycles (Chinese Postman Problem)

  • Eulerian cycles in graphs

  • what is the chinese postman problem?

Thanks for joining my course, let's get started!


Who this course is for:

  • This course is suited for anyone who has some basic knowledge in Python and interested in algorithms and data structures

Instructor

Holczer Balazs
Software Engineer
Holczer Balazs
  • 4.5 Instructor Rating
  • 30,197 Reviews
  • 236,470 Students
  • 33 Courses

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!

Top companies choose Udemy Business to build in-demand career skills.
NasdaqVolkswagenBoxNetAppEventbrite
  • Udemy Business
  • Teach on Udemy
  • Get the app
  • About us
  • Contact us
  • Careers
  • Blog
  • Help and Support
  • Affiliate
  • Investors
  • Impressum Kontakt
  • Terms
  • Privacy policy
  • Cookie settings
  • Sitemap
  • Accessibility statement
Udemy
© 2022 Udemy, Inc.