Learning Lab Home/Software Engineering/Advanced Algorithms and Data Structures in Python

## Advanced Algorithms and Data Structures in Python

In partnership With
Udemy
4.6
(39)

Topic:

Fenwick trees, Caches, Splay Trees, Prefix Trees (Tries), Substring-Search Algorithms and Travelling Salesman Problem

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

Course
Intermediate
Careers

Certifications

## Certifications related to Algorithm or Python Algorithms

General Assembly’s Data Science part-time course is a practical introduction to the interdisciplinary field of data science and machine learning, which lies at the intersection of computer science, statistics, and business. You will learn to use the Python programming language to acquire, parse, and model data for informing business strategy.

This is a fast-paced course with some prerequisites. Students should be comfortable with programming fundamentals, core Python syntax, and basic statistics. There is an option to complete up to 25 hours of online preparatory lessons. Talk to the General Assembly Admissions team to discuss your background and confirm if this is the right fit for you..

What you'll accomplish

A significant portion of the course is a hands- on approach to fundamental modeling techniques and machine learning algorithms. You’ll also practice communicating your results and insights by compiling technical documentation and a stakeholder presentation. Throughout this expert-designed program, you’ll:

• Perform exploratory data analysis with Python.
• Build and refine machine learning models to predict patterns
• from data sets.
• Communicate data-driven insights to technical and non-technical audiences alike.
• Apply what you’ve learned to create a portfolio project: a predictive model that addresses a real-world data problem.

Why General Assembly

Since 2011, General Assembly has graduated more than 40,000 students worldwide from the full time & part time courses. During the 2020 hiring shutdown, GA's students, instructors, and career coaches never lost focus, and the KPMG-validated numbers in their Outcomes report reflect it. *For students who graduated in 2020 — the peak of the pandemic — 74.4% of those who participated in GA's full-time Career Services program landed jobs within six months of graduation. General Assembly is proud of their grads + teams' relentless dedication and to see those numbers rising. Download the report here.

Your next step? Submit an application to talk to the General Assembly Admissions team

Note: reviews are referenced from Career Karma - https://careerkarma.com/schools/general-assembly

Udacity
Intermediate
4 months
10 hours

General Assembly’s Software Engineering Immersive is a transformative course designed for you to get the necessary skills for a coding role in three months.

The Software Engineering bootcamp is led by instructors who are expert practitioners in their field, supported by career coaches that work with you since day one and enhanced by a career services team that is constantly in talks with employers about their tech hiring needs.

What you'll accomplish

As a graduate, you’ll have a portfolio of projects that show your knowledge of fundamental programming concepts, as well as experience with languages, frameworks, and libraries that employers demand. Throughout this expert-designed program, you’ll:

• Create a front-end web application with modern JavaScript frameworks such as Angular or React.

• Develop and deploy full-stack applications with in-demand technologies such as Ruby on Rails, Python with Django, and Express with Node.js.

• Build secure full-stack applications by leveraging common design and architectural patterns like model–view–controller (MVC) and Representational State Transfer (REST).

• Practice version control and collaborative software development with Git and GitHub.

• Safely model and store data in SQL and NoSQL databases.

• Consume and integrate third-party application programming interfaces (APIs) in an application.

Why General Assembly

Since 2011, General Assembly has graduated more than 40,000 students worldwide from the full time & part time courses. During the 2020 hiring shutdown, GA's students, instructors, and career coaches never lost focus, and the KPMG-validated numbers in their Outcomes report reflect it. *For students who graduated in 2020 — the peak of the pandemic — 74.4% of those who participated in GA's full-time Career Services program landed jobs within six months of graduation.  General Assembly is proud of their grads + teams' relentless dedication and to see those numbers rising. Download the report here.

Your next step? Submit an application to talk to the General Assembly Admissions team

Note: reviews are referenced from Career Karma - https://careerkarma.com/schools/general-assembly

Udacity
Intermediate
4 months
10 hours

In this course you will learn data structures and algorithms by solving 80+ practice problems. You will begin each course by learning to solve defined problems related to a particular data structure and algorithm. By the end of each course, you would be able to evaluate and assess different data structures and algorithms for any open-ended problem and implement a solution based on your design choices.

Udacity
Intermediate
4 months
10 hours
Courses

## Courses related to Algorithm or Python Algorithms

Flatiron School

Whether you dabble in data, have an existing degree, or are brand new to the discipline, this data science course is for you. No matter where you are in your career, our course takes you from foundational…

Flatiron School

Whether you dabble in data, have an existing degree, or are brand new to the discipline, this data science course is for you. No matter where you are in your career, our course takes you from foundational…

Udemy

Topic:

A guide to implement data structures, graph algorithms and sorting algorithms from scratch with interview questions!

What you'll learn:

• Understand arrays and…

4.4
(3623)
Udemy

Topic:

The Ultimate Python Coding Interview Bootcamp

What you'll learn:

• Mastery of Data Structures and Algorithms