Course “Algorithms and Data Structures” - course 71,000 rub. from Yandex Workshop, training 4 months, Date: December 5, 2023.
Miscellaneous / / November 29, 2023
Who is the course suitable for?
For those who are confident in one of the programming languages: C++, Python, Java, Go, JavaScript or C#.
- Learn to write clean code faster
- Prepare for algorithmic interviews
- You will have a trial interview with a mentor.
- Master algorithms and data structures from scratch
- Solve 100+ practice problems
- You can learn faster than the program and at any convenient time
What will you master in 4 months?
- Understand the basic algorithms
- Learn how data structures work and when to use which ones
- Learn to test your code and prove its correctness
The course program includes preparation for algorithmic interviews and a trial interview with a mentor - useful practice for those who plan to change jobs
This course may be paid for by your employer. If the knowledge of the course will be useful to you at your current job, talk to your manager about partial or full payment for your studies
What else is important
Academic leave
If life circumstances become more complicated or the pace of your studies needs to be slowed down, you can go on academic leave
We will return your money at any time
You can get your money back for the remaining training time: you don’t need to prove anything for this
You can study at your own pace
The course is designed for 4 months with a load of approximately 10 hours per week, but you can complete it faster - new lessons will open immediately after completing the practice
We don't teach programming from scratch
To take the course, you must be confident in one of the programming languages: C++, Python, Java, Go, JavaScript or C#
Free part
(introductory module 7 hours)
The concept of an algorithm. Moving average. The two pointer method.
Introduction to Algorithms
The concept of algorithm complexity. O-notation. Estimation of program execution time.
Basic Data Structures
Array, linked list, stack, queue. Complexity of insertion, search and deletion operations. Representation of data in memory. Spatial complexity of the algorithm.
Recursion and sorting
Recursion
The concept of recursion. The principle of “divide and conquer”. Binary search.
Sorting
Quadratic sorts. Merge sort. Quick sort. Linear counting sort.
Hash functions and hash tables
Display abstraction. Concept and properties of a hash function, examples. The data structure is a hash table. Collisions and ways to resolve them.
Trees
Tree data structure. Balanced search trees. The data structure is heap. Pyramid sort.
Graphs
Definition of a graph, methods of representation in memory. Depth-first and breadth-first graph traversal. Connectivity components. Algorithms for finding the shortest path. Minimum spanning tree.
Greedy Algorithms and Dynamic Programming
Dynamic programming
Definition, one-dimensional and two-dimensional problems. Dynamic programming by subsegments. Dynamic programming by subsets.
Greedy Algorithms
The concept of a greedy algorithm, scope. Examples, proof of the correctness of the algorithm.
Trial algorithmic interview
Algorithmic one-on-one interview with a mentor, as close to the real thing as possible. At the end, the mentor will give feedback.
Algorithms on strings
Prefix function. Substrings, prefixes and suffixes. Search for a pattern in a string. Naive algorithm. Bor data structure.