Practical Problem Solving with Algorithms

Practical Problem Solving with Algorithms

English | MP4 | AVC 1920×1080 | AAC 44KHz 2ch | 43 Lessons (9h 14m) | 1.60 GB

If you don’t already have a solid computer science background, most of the typical algorithms used in industry-wide job interviews can be intimidating. Moreover, even experienced engineers sometimes struggle to apply proper algorithmic thinking in their production code. This workshop starts at a basic problem/solution, and layers up to complex algorithms for a variety of challenging tasks. Whether attendees have computer science education or not, they will leave this workshop with practical algorithms knowledge, prepared to tackle problems by first thinking algorithmically and then translating that into efficient code.

By participating along with us in the workshop, you’ll learn:

Learn how “Big O” classification impacts both computation time and memory usage (and the tradeoffs)
Explore how data structures (classic and custom) shaped to the nature of the problem lay the groundwork for better algorithms
Learn basic techniques for benchmarking computation time and memory usage

Table of Contents

1 Introduction
2 Course Overview
3 Data Structures Overview
4 Algorithms & Techniques Overview
5 Golden Weighted Ball Problem
6 Packing Algorithms & Collision Detection
7 Tetris, Puzzles, & Size Comparison
8 Periodic Table Speller Setup
9 Lookup Function
10 Check Function: Recursion
11 Check Function: Base Case
12 Optimizing the Lookup Function
13 Finding Candidates
14 spellWord Function with Character Sets
15 spellWord Function Q&A
16 Performance Characteristics
17 Drawing the Chessboard
18 Traversing the Tiles
19 Highlighting Diagonal Tiles
20 Optimizing DOM Traversal
21 Using Two-Dimensional Arrays
22 Creating a Diagonal Data Structure
23 Refactoring the Highlight Function
24 Knights Dialer Exercise
25 Reachable Keys Function
26 Optimizing with a Data Structure
27 Recursive Traversal
28 Big O Complexity
29 Acyclic Paths
30 Optimize Recursion with Memoization
31 Dynamic Programming Overview
32 Visualizing Dynamic Programming
33 Coding with Dynamic Programming
34 Wordy Unscrambler Overview
35 Wordy Unscrambler Algorithm
36 Divide & Conquer Solution
37 Trie Tree Data Structure
38 Finding Words in a Trie Tree
39 Garbage Collection & Object Pool
40 Implement an Object Pool
41 Directed Acyclic Word Graph Overview
42 Implementing a DAWG Data Structure
43 Wrapping Up