Buying for a Team? Gift This Course
Wishlisted Wishlist

Please confirm that you want to add Algorithmic Problems & Numerical Methods in Java to your Wishlist.

Add to Wishlist

Algorithmic Problems & Numerical Methods in Java

Backtracking, dynamic programming, Sudoku, knapsack problem, binpacking, closest pair of points, recursion, monte carlo
4.6 (49 ratings)
Instead of using a simple lifetime average, Udemy calculates a course's star rating by considering a number of different factors such as the number of ratings, the age of ratings, and the likelihood of fraudulent ratings.
1,087 students enrolled
Created by Holczer Balazs
Last updated 11/2016
English English
$10 $50 80% off
3 days left at this price!
30-Day Money-Back Guarantee
Includes:
  • 6 hours on-demand video
  • 4 Articles
  • 4 Supplemental Resources
  • Full lifetime access
  • Access on mobile and TV
  • Certificate of Completion
Have a coupon?
Description

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.


Who is the target audience?
  • This course is meant for newbies who are not familiar with algorithmic problems in the main or students looking for some refresher
Students Who Viewed This Course Also Viewed
What Will I Learn?
Understand backtracking
Understand dynamic programming
Understand recursive approaches
Solve problems from scratch
Understand the basic numerical methods and recipes
View Curriculum
Requirements
  • Basic Java
Curriculum For This Course
Expand All 57 Lectures Collapse All 57 Lectures 06:12:30
+
Introduction
2 Lectures 01:59

Complexity theory
00:05
+
Recursion
8 Lectures 32:13

Note: we can usually solve a problem either with recursion or with iteration. Several algorithms - especially the divide and conquer ones - rely heavily on recursive method calls.

Preview 03:13

House building problem
02:56

Factorial function
03:21

Euclidean algorithm - greatest common divisor
02:42

Linear and binary search
06:59

Towers of Hanoi problem introduction
03:46

Tower of Hanoi problem implementation
02:16
+
Selection Algorithms
6 Lectures 40:08
Selection algorithms introduction
05:21

Quickselect introduction - Hoare algorithm
08:18

Quickselect simulation
08:25

Quickselect implementation
05:45

Advanced selection - median of medians, introselect
07:21

Online selection - the secretary problem
04:58
+
Backtracking
14 Lectures 01:51:56
Backtracking introduction
03:11

N-queens problem introduction
07:38

N-queens problem implementation
12:09

Hamiltonian cycle introduction
11:29

Hamiltonian problem - NP-hard problems
04:17

Hamiltonian cycle implementation
13:02

Coloring problem introduction
09:54

Coloring problem implementation
18:03

Knight tour introduction
02:55

Knight tour implementation
05:49

Maze problem introduction
02:52

Maze problem implementation
05:44

Sudoku introduction
04:47

Sudoku implementation
10:06
+
Dynamic Programming
12 Lectures 01:52:30
Dynamic programming introduction
02:25

Fibonacci numbers introduction
04:15

Fibonacci numbers implementation
09:24

Knapsack problem introduction
06:40

Knapsack problem example
14:42

Knapsack problem implementation
16:02

Coin change problem introduction
14:54

Coin change problem implementation
08:58

Rod cutting problem introduction
12:41

Rod cutting problem implementation
04:09

Subset sum problem introduction
12:51

Subset sum problem implementation
05:29
+
Other Algorithmic Problems
4 Lectures 33:32
Bin packing problem introduction
05:31

Bin packing problem implementation
07:29

Closest pair of points problem introduction
09:40

Closest pair of points problem implementation
10:52
+
Numerical Methods
8 Lectures 40:05
Root of functions introduction
04:42

Finding roots of functions: Newton-Raphson method
03:33

Integration - trapezoidal method introduction
07:07

Integration - trapezoidal method implementation
04:25

Integration - Simpson method introduction
02:50

Integration - Simpson method implementation
05:32

Integeration - Monte Carlo method introduction
05:24

Integration - Monte Carlo method implementation
06:32
+
Source Code
3 Lectures 00:05
Source code
00:01

Slides
00:01

Coupon codes - get any of my other courses for a discounted price
00:02
About the Instructor
4.5 Average rating
1,913 Reviews
20,791 Students
19 Courses
Software Engineer

Hi!

My name is Balazs Holczer. I am from Budapest, Hungary. I am qualified as a physicist and later on I decided to get a master degree in applied mathematics. At the moment I am working as a simulation engineer at a multinational company. I have been interested in algorithms and data structures and its implementations especially in Java since university. Later on I got acquainted with machine learning techniques, artificial intelligence, numerical methods and recipes such as solving differential equations, linear algebra, interpolation and extrapolation. These things may prove to be very very important in several fields: software engineering, research and development or investment banking. I have a special addiction to quantitative models such as the Black-Scholes model, or the Merton-model. Quantitative analysts use these algorithms and numerical techniques on daily basis so in my opinion these topics are definitely worth learning.

Take a look at my website and join my email list if you are interested in these topics!

Report Abuse