YoVDO

Data Structures

Offered By: Brilliant

Tags

Algorithms and Data Structures Courses Binary Tree Courses Algorithms Courses Data Structures Courses Sorting Algorithms Courses Priority Queues Courses Stacks Courses Linked Lists Courses Recursion Courses

Course Description

Overview

The way we store and manipulate data with computers is a core part of computer science. In Data Structures, you'll start with the basics, like arrays and sorting, and build up to more complex data types and data structures.

By the end of this course, you’ll have discovered algorithms that can be used to store data quickly, rearrange it efficiently, and access it easily.


Syllabus

  • Intro to Algorithms: Learn how to store and manipulate data to efficiently answer questions.
    • Arrays: Arrays are one of the most fundamental data structures in computing.
    • Searching: Arrays are collections of data. You search when you want to know what's in the collection.
    • Insertion Sort: Transform an array into a sorted array with this classic algorithm.
    • The Speed of Algorithms: How fast does an algorithm run? Use the language computer scientists use to answer this question!
  • Recursion: We need to go deeper - with this tool for efficiency and elegance in programming.
    • Recursion: Recursion is a concept found in both nature and computer science.
    • Divide and Conquer: We can solve problems in powerful ways by splitting them into pieces first.
    • Mergesort: What's easier than sorting one big sequence? Creating a sorted sequence from two smaller sorted sequences!
    • Quicksort: Quicksort, like Mergesort, uses the divide-and-conquer strategy to quickly sort arrays.
    • Linked List: Linked lists are a recursive data structure that can be used to implement stacks and queues.
  • Stacks and Queues: One thing after another.
    • Stacks: Arrange information in a computer the same way you arrange books on your desk.
    • Queues: Many algorithms are like grocery stores: more orderly when everyone waits their turn in line.
  • Binary Trees: A look at trees (and search trees) in our quest for superior data structures.
    • Binary Trees: Binary trees are a fundamental tool for flexibly organizing data.
    • Traversals: There are many ways to work your way through a binary tree.
    • Binary Search Trees: Binary trees make data easy to store and fast to locate.
    • Tree Rotations: To keep a binary tree balanced, you'll often need to rotate some nodes around.
    • Red Black Trees: Learn a powerful technique for making sure your search trees stay balanced.
  • Heaps: A clever, efficient data structure for data types like priority queues.
    • Priority Queues: A stack or a queue won't help if you need the most important thing first. Priority queues come to the rescue!
    • Binary Heaps: Heaps implement priority queues by bringing the important things to the top of a binary tree.
    • Treaps: Take a page from heaps to easily keep your binary search trees balanced.

Related Courses

Algorithms for Searching, Sorting, and Indexing
University of Colorado Boulder via Coursera
Algorithms, Part I
Princeton University via Coursera
Learn Complex Data Structures
Codecademy
Data Structures
University of California, San Diego via Coursera
Data Structures and Algorithms (IV)
Tsinghua University via Coursera