Programming Foundations: Algorithms

Programming Foundations: Algorithms

English | MP4 | AVC 1280×720 | AAC 48KHz 2ch | 1h 45m | 240 MB

Algorithms are the universal building blocks of programming. They power the software you use every day, whether it’s a spreadsheet, a social network, or a driving assistant. Algorithms offer a way to think about programming challenges in plain English, before they are translated into a specific language like C# or JavaScript. In this course, author and developer Joe Marini explains some of the most popular and useful algorithms for searching and sorting information, working with techniques like recursion, and understanding common data structures. He also discusses the performance implications of different algorithms and how to evaluate the performance of a given algorithm. Each algorithm is shown in practice in Python, but the lessons can be applied to any programming language.

Topics include:

  • Measuring algorithm performance
  • Working with data structures such as arrays, stacks, and queues
  • Looping and recursion
  • Sorting data
  • Searching data
  • Filtering and value counting with hash tables
Table of Contents

1 Algorithms power the world
2 What you should know
3 What are algorithms
4 Common algorithms in programming
5 Measuring algorithm performance
6 Introduction to data structures
7 Arrays
8 Linked lists
9 Linked lists walkthrough
10 Stacks and queues
11 Stacks and queues walkthrough
12 Hash tables
13 Understanding recursion
14 Simple recursion example
15 Power and factorial
16 Overview of sorting
17 The bubble sort
18 The merge sort
19 Implement the merge sort
20 The quicksort
21 Implement the quicksort
22 Unordered list search
23 Ordered list search
24 Determine if a list is sorted
25 Unique filtering with hash table
26 Value counting with hash table
27 Find max value recursively
28 Next steps