Learning Data Structures and Algorithms

Implementation and Analysis for Increased Software Performance
4.3 (33 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.
659 students enrolled
$50
Take This Course
  • Lectures 102
  • Contents Video: 8 hours
    Other: 0 mins
  • Skill Level Beginner Level
  • Languages English
  • Includes Lifetime access
    30 day money back guarantee!
    Available on iOS and Android
    Certificate of Completion
Wishlisted Wishlist

How taking a course works

Discover

Find online courses made by experts from around the world.

Learn

Take your courses with you and learn anywhere, anytime.

Master

Learn and practice real-world skills and achieve your goals.

About This Course

Published 3/2015 English

Course Description

In this Learning Data Structures and Algorithms training course, expert author Rod Stephens will teach you how to analyze and implement common algorithms used. This course is designed for the absolute beginner, meaning no previous programming experience is required.

You will start by learning about the complexity theory, then jump into learning about numerical algorithms, including randomizing arrays, prime factorization, and numerical integration. From there, Rod will teach you about linked lists, such as singly linked lists, sorted, and doubly linked lists. This video tutorial also covers arrays, stacks and queues, and sorting. You will also learn about searching, hash tables, recursion, and backtracking algorithms. Finally, you will cover trees, balanced trees, decision trees, and network algorithms.

Once you have completed this computer based training course, you will be fully capable of analyzing and implementing algorithms, as well as be able to select the best algorithm for various situations. Working files are included, allowing you to follow along with the author throughout the lessons.

What are the requirements?

  • This course is designed for the absolute beginner, meaning no previous programming experience is required.

What am I going to get from this course?

  • Learn to analyze and implement common algorithms
  • Learn about different types of Data Structures
  • Complexity Theory

What is the target audience?

  • Anyone interested in learning about Data structures and Algorithms

What you get with this course?

Not for you? No problem.
30 day money back guarantee.

Forever yours.
Lifetime access.

Learn on the go.
Desktop, iOS and Android.

Get rewarded.
Certificate of completion.

Curriculum

Section 1: Introduction
Important - Download These First - Working Files
Preview
Article
Introduction And Course Overview
Preview
04:00
How To Access Your Working Files
Preview
03:22
Section 2: Complexity Theory
Complexity Theory
Preview
03:56
Big O Notation
07:02
Typical Runtime Functions
04:37
Comparing Runtime Functions
05:27
P And NP
04:04
Section 3: Numerical Algorithms
Random Numbers
02:19
Linear Congruential Generators
05:04
Randomizing Arrays - Part 1 - Randomization Algorithm
03:47
Randomizing Arrays - Part 2 - Randomize Two-Dimensional Array
04:31
GCD
04:09
LCM
03:28
Prime Factorization - Part 1 - Factor
04:59
Prime Factorization - Part 2 - Factoring Algorithm
02:43
Finding Primes
03:24
Testing Primality
03:45
Numerical Integration
05:11
Section 4: Linked Lists
Singly Linked Lists - Part 1 - Explanation
06:48
Singly Linked Lists - Part 2 - Sentinels
02:22
Sorted Linked Lists
03:22
Sorting With Linked Lists
04:07
Doubly Linked Lists
03:51
Section 5: Arrays
One-Dimensional Arrays
05:10
Triangular Arrays - Part 1 - How to Build This Array
04:13
Triangular Arrays - Part 2
03:17
Sparse Arrays - Part 1 - A linked List of Linked Lists
05:27
Sparse Arrays - Part 2
03:19
Section 6: Stacks And Queues
Stacks
02:32
Stack Algorithms
03:26
Double Stacks
02:08
Queues
05:49
Section 7: Sorting
Sorting Algorithms
03:03
Insertionsort
06:27
Selectionsort
04:46
Quicksort - Part 1 - Fast Sorting Alogorithm
05:40
Quicksort - Part 2 - Algorithm Runtime Behaviour
07:55
Heapsort - Part 1
06:17
Heapsort - Part 2
05:21
Heapsort - Part 3
05:39
Mergesort - Part 1
03:55
Mergesort - Part 2
03:41
Bubblesort - Part 1
04:51
Bubblesort - Part 2
04:18
Countingsort - Part 1
04:45
Countingsort - Part 2
03:35
Sorting Summary
02:51
Section 8: Searching
Linear Search
02:11
Binary Search
05:15
Interpolation Search
05:27
Section 9: Hash Tables
Hash Tables
04:32
Chaining
05:23
Open Addressing - Basics
07:25
Open Addressing - Linear Probing
04:48
Open Addressing - Quadratic Probing
04:22
Open Addressing - Double Hashing
05:55
Section 10: Recursion
Recursion Basics
05:37
Fibonacci Numbers
06:08
Tower Of Hanoi
06:08
Koch Curves
04:32
Hilbert Curves
04:32
Gaskets
04:52
Removing Tail Recursion
03:58
Removing Recursion With Stacks
03:56
Fixing Fibonacci
07:25
Selections
04:15
Permutations
04:12
Section 11: Backtracking Algorithms
Backtracking
06:03
The Eight Queens Problem - Part 1 - Test Your Skills
06:00
The Eight Queens Problem - Part 2 - Eight Queens Algorithm Modification
04:03
The Eight Queens Problem - Part 3 - Algorithm Modfication
03:48
The Knights Tour
04:20
Section 12: Trees
Tree Terms
05:06
Binary Tree Properties
06:25
Traversals - Preorder
03:54
Traversals - Postorder
02:57
Traversals - Inorder
02:47
Traversals - Breadth-First
02:57
Building Sorted Trees
03:56
Editing Sorted Trees
04:36
Section 13: Balanced Trees
Why Do You Need Balanced Trees?
04:04
B-Trees - B-Tree Basics
07:18
B-Trees - Adding Items
05:16
B-Trees - Removing Items
04:16
AVL Tress - Part 1
04:40
AVL Tress - Part 2
03:51

Students Who Viewed This Course Also Viewed

  • Loading
  • Loading
  • Loading

Instructor Biography

Infinite Skills, High Quality Training

Infinite Skills is a Canadian based company who offer a huge and ever growing range of high quality eLearning solutions that teach using studio quality narrated videos backed-up with practical hands-on examples and comprehensive working files. All courses are created by trained educators and experts in video based education.

The emphasis is on teaching real life skills that are essential for progressing in today's commercial environment.

Ready to start learning?
Take This Course