Advanced Algorithms and Programming Techniques

Advanced Algorithms and Programming Techniques

English | MP4 | AVC 1280×720 | AAC 44KHz 2ch | 28 lectures (4h 29m) | 1.77 GB

A guided tour for Algorithms and Programming Techniques, Theory and Solved Problems

This course presents a group of elementary and advanced Algorithms and Programming Techniques. It is the result of my own experience as a trainer in the field of Competitive Programming, teacher, author and (many times) competitor. It is based on the most important theoretical issues and knowledge a student should master. The topics that are discussed stretch from Recursion and its different peculiar applications (Backtracking, Divide and Conquer) to the Branch and Bound method. The course has two different lessons dedicated to the Dynamic Programming Technique, due to the importance this method has.

The course contains many well known problems, presents their solutions in a comprehensible way and offers C++ solutions. A clear purpose and objective that the author had in mind was to have neat statements, proper examples, efficient solutions, easy to understand C++ programs. I suppose that the students already have some elementary background in the C++ language, some experience with STL data structures and implemented methods, CodeBlocks Integrated Development Environment, Online Judges .

Table of Contents

Recursion
1 Recursion
2 The Greatest Common Divisor
3 Josephus’ problem

Greedy algorithms
4 Greedy algorithms

Backtracking
5 Backtracking
6 Chess and Backtracking

Divide and Conquer
7 Divide and Conquer
8 Normalised Squares

Sorting algorithms
9 Sorting algorithms

Dynamic Programming
10 Basic examples
11 Memoization
12 Chess and Dynamic Programming
13 Words, Dynamic Programming and Backtracking
14 Catalan numbers
15 Dynamic Programming and Probabilities
16 Dynamic Programming, Games, Paths and other Applications
17 Application The Bridge and Torch Problem

Binary Search
18 Binary Search
19 The Longest Increasing Subsequence and Related Problems
20 Ternary Search
21 Application Square Fencing

Matrix Exponentiation
22 Matrix Exponentiation

Sliding Window Technique
23 Sliding Window Technique

Advanced Dynamic Programming
24 Advanced Dynamic Programming
25 Dynamic Programming and Computational Geometry
26 The Travelling Salesman Problem

Branch and Bound
27 Branch and Bound

Meet in the middle technique
28 Meet in the middle technique

Homepage