**Algorithmic Problems in Java**

English | MP4 | AVC 1280×720 | AAC 48KHz 2ch | 7 Hours | 948 MB

Backtracking, dynamic programming, Sudoku, knapsack problem, binpacking, closest pair of points, recursion, monte carlo

This course is about the fundamental concepts of algorithmic problems, focusing on backtracking and dynamic programming. As far as I am concerned these techniques are very important nowadays, algorithms can be used (and have several applications) in several fields from software engineering to investment banking or research & development.

The first chapter is about backtracking: we will talk about problems such as N-queens problem or hamiltonian cycles, coloring problem and Sudoku problem. In the second chapter we will talk about dynamic programming, theory then the concrete examples one by one: fibonacci sequence problem and knapsack problem.

In each section we will talk about the theoretical background for all of these algorithms then we are going to implement these problems together from scratch in Java.

What Will I Learn?

- Understand backtracking
- Understand dynamic programming
- Understand recursive approaches
- Solve problems from scratch

**Table of Contents**

**Introduction**

1 Introduction

2 Course Materials

**Recursion**

3 Recursion introduction

4 Adding numbers iteration vs recursion

5 House building problem

6 Factorial function

7 Euclidean algorithm – greatest common divisor

8 Linear and binary search introduction

9 Linear and binary search implementation

10 Towers of Hanoi problem introduction

11 Tower of Hanoi problem implementation

**Selection Algorithms**

12 Selection algorithms introduction

13 Quickselect introduction – Hoare algorithm

14 Quickselect simulation

15 Quickselect implementation

16 Advanced selection – median of medians introselect

17 Online selection – the secretary problem

**Backtracking**

18 Backtracking introduction

19 N-queens problem introduction

20 N-queens problem implementation I

21 N-queens problem implementation II

22 Hamiltonian cycle introduction

23 Hamiltonian cycle illustration

24 Hamiltonian cycle implementation I

25 Hamiltonian cycle implementation II

26 Coloring problem introduction

27 Coloring problem implementation I

28 Coloring problem implementation II

29 Knights tour introduction

30 Knights tour implementation I

31 Knights tour implementation II

32 Maze problem introduction

33 Maze problem implementation I

34 Maze problem implementation II

35 Sudoku introduction

36 Sudoku implementation I

37 Sudoku implementation II

38 NP-complete problems

**Dynamic Programming**

39 Dynamic programming introduction

40 Fibonacci numbers introduction

41 Fibonacci numbers implementation

42 Knapsack problem introduction

43 Knapsack problem example

44 Knapsack problem implementation I

45 Knapsack problem implementation II

46 Coin change problem introduction

47 Coin change problem example

48 Coin change problem implementation

49 Rod cutting problem introduction

50 Rod cutting problem example

51 Rod cutting problem implementation

52 Subset sum problem introduction

53 Subset sum problem example

54 Subset sum problem implementation

**Other Algorithmic Problems**

55 Bin packing problem introduction

56 Bin packing problem implementation

57 Closest pair of points problem introduction

58 Closest pair of points problem implementation

59 Palindrome problem

60 Integer reversion

**BONUS**

61 DISCOUNT FOR OTHER COURSES

Resolve the captcha to access the links!