Programming Foundations: Data Structures

Programming Foundations: Data Structures

English | MP4 | AVC 1280×720 | AAC 48KHz 2ch | 2h 20m | 531 MB

Once you get past simple programs with one or two variables, you’ll use data structures to store the values in your applications. Data structures are like containers—there’s one for every kind of data. While structures like arrays and queues are sometimes taken for granted, a deeper understanding is vital for any programmer who wants to know what’s going on “under the hood” and understand how the choices they’ve made impact the performance and efficiency of their applications. In this course, Kathryn Hodge provides an in-depth overview of the most essential data structures for modern programming. Starting with simple ways of grouping data, like arrays and structs, Kathryn gradually introduces more complex data structures, such as linked lists, stacks and queues, hash tables, and trees and graphs. Each lesson is accompanied by a real-world, practical example that shows the data structures in action. When you’re finished with the course, you’ll have a clear understanding of data structures and understand how to use them—in whatever language you’re programming in: C#, Swift, JavaScript, Java, Python, and more.

Topics include:

  • Data types: Booleans, numbers, strings, and more
  • Multidimensional arrays
  • Jagged arrays
  • Search and sort arrays
  • Linked lists
  • Stacks and queues
  • Hash functions and hash tables
  • Trees and graphs
Table of Contents

1 Understand data structures
2 What you should know
3 Introduction to data and data types
4 Numerical data types
5 Booleans and characters
6 Primitive types in memory
7 Introduction to data structures
8 Strings
9 Primitive vs. reference types in memory
10 What are arrays
11 Use arrays in Swift
12 Multidimensional arrays
13 Multidimensional arrays in JavaScript
14 Jagged arrays
15 Jagged arrays in C#
16 Resizable arrays and language support
17 Search arrays
18 Sort arrays
19 Big O notation
20 What are linked lists
21 Operations on linked lists
22 Build a linked list in Java
23 Use linked lists in Java
24 Singly vs. doubly linked lists
25 Lists in other languages
26 Pros and cons of lists
27 What are stacks
28 Implement stacks in Swift
29 Use stacks in Swift for LIFO
30 Error tracing with stacks
31 What are queues
32 Implement queues in Swift
33 Use queues in Swift for FIFO
34 Queues in other languages
35 Specialized queues
36 Pros and cons of stacks and queues
37 What are associative arrays
38 Understanding hash functions
39 Understanding hash tables
40 Using dictionaries in Python
41 Language support for hashing
42 Language support for hash tables
43 Pros and cons of hash-based structures
44 What are sets
45 Sets in Python 3
46 Introduction to tree data structures
47 Understand binary search trees
48 Understand heaps
49 Pros and cons of tree data structures
50 Wrap-up