Skip to main content

Algorithms and Data Structures

26h 32m 19s
English
Paid

Course description

Studying algorithms and data structures can be a particularly useful field, as it touches on the very essence of programming: solving complex problems.

In this course, you will learn many important data structures and algorithms that will undoubtedly be useful throughout your career. Equally important, you will improve your skills in understanding, breaking down, and solving new problems, whether it is creating your own methods or using those you master in this course.

The course consists of a series of tasks for each topic. You should strive to solve each task, using ready-made solutions and additional explanations if necessary.

The course also includes seminars recorded with the participation of CS Primer students, which you can also watch, stopping and asking yourself the same questions that we discuss together. These seminars were usually recorded after students solved 1-2 tasks in the module, and their goal is to strengthen fundamental concepts and prepare you for more complex tasks.

Watch Online

This is a demo lesson (10:00 remaining)

You can watch up to 10 minutes for free. Subscribe to unlock all 41 lessons in this course and access 10,000+ hours of premium content across all courses.

View Pricing
0:00
/
#1: 001 Staircase ascent

All Course Lessons (41)

#Lesson TitleDurationAccess
1
001 Staircase ascent Demo
31:07
2
002 Convert to Roman
18:20
3
003 Correct binary search
18:42
4
004 Splitting a chocolate bar
01:01:40
5
005 What a programmer can learn from Polya
14:06
6
006 Finding duplicates
34:24
7
007 Fizzbuzz sum
23:45
8
008 Just iterate
22:54
9
009 Analysis practice
01:25:55
10
010 The enormous difference between polynomial and exponential
07:50
11
011 Building an intuition for common running times
24:20
12
012 Best worst and average case
06:39
13
013 The benefits and pitfalls of asymptotic analysis
11:45
14
014 Big O big omega and big theta
07:13
15
015 Parenthesis match
39:51
16
016 Doubly linked list
49:35
17
017 Basic calculator
40:47
18
018 Practice using stacks
54:40
19
019 Hazards of using linkedlists
08:17
20
020 What is an abstract data type
06:16
21
021 Motivating stacks and queues and an intuition for when to use them
09:23
22
022 Motivating linked lists
04:15
23
023 Merge sort
01:15:56
24
024 Fast exponentiation
23:04
25
025 Quicksort
39:16
26
026 Divide and conquer intuition and convex hull problem
01:36:28
27
027 Process tree
01:08:54
28
028 Word ladder
01:27:36
29
029 Jug pouring
50:23
30
030 Knights tour
53:20
31
031 Maze solver
55:56
32
032 Trees graphs and flipping pancakes
01:25:31
33
033 Dijkstras algorithm and A search
37:18
34
034 Depth-first and breadth-first search
20:08
35
035 Helping Michael with Word Ladder analysis
25:18
36
036 House robber
47:19
37
037 Perfect squares
32:43
38
038 Minimal grid path
54:01
39
039 Edit distance
54:09
40
040 Introduction to dynamic programming
01:03:17
41
041 QA problem solving technique and wrapup
39:58

Unlock unlimited learning

Get instant access to all 40 lessons in this course, plus thousands of other premium courses. One subscription, unlimited knowledge.

Learn more about subscription

Comments

0 comments

Want to join the conversation?

Sign in to comment

Similar courses

Python for Financial Analysis and Algorithmic Trading

Python for Financial Analysis and Algorithmic Trading

Sources: udemy
Welcome to Python for Financial Analysis and Algorithmic Trading! Are you interested in how people use Python to conduct rigorous financial analysis and pursue algorithmic tradi...
16 hours 54 minutes 20 seconds
The Networking Bootcamp (CompTIA Network+ Certification)

The Networking Bootcamp (CompTIA Network+ Certification)

Sources: zerotomastery.io
Go from complete beginner to passing the CompTIA Network+ certification exam. You'll learn networking fundamentals, the latest best practices, and everything...
8 hours 39 minutes 57 seconds
Smart Interface Design Patterns

Smart Interface Design Patterns

Sources: Vitaly Friedman, smashingmagazine.com
Master essential design patterns for modern interfaces. Learn best practices through examples and live projects to tackle real-life challenges effectively.
13 hours 18 minutes 5 seconds
Building a Transpiler from scratch

Building a Transpiler from scratch

Sources: Dmitry Soshnikov
In modern implementations of compilers, it has become popular to transform one high-level language into another. Examples include transpiling new versions of...
2 hours 3 seconds
Great Thinkers, Great Theorems

Great Thinkers, Great Theorems

Sources: Wondrium by The Great Courses, Dr. William Dunham
Delve into the mechanics of some of math's greatest and most awe-inspiring achievements. Explore the most awe-inspiring theorems in the 3,000-year history of ma
12 hours 14 minutes 35 seconds