Skip to main content
Ctrl+K
Logo image
Logo image

IDATA 2302 — Algorithms and Data Structures

About This Course

  • Welcome!
  • Course Overview
  • Practicalities
  • Examination
  • Additional Resources

Modules

  • Foundations
    • 1. Computations
    • 2. Computer
    • 3. Correctness
    • 4. Efficiency
    • 5. Algorithm Analysis
    • 6. The Big-O Notation
  • Sequences
    • 1. Abstract Data Types
    • 2. Using Arrays
    • 3. Using Dynamic Arrays
    • 4. Searching
    • 5. Simple Sorting
    • 6. Stacks, Queues, and Deques
  • Recursion
    • 1. Procedure Calls
    • 2. Recursion
    • 3. Linked Lists
    • 4. Quick Sort
    • 5. Merge Sort
    • 6. Sorting Without Comparing
  • Hashing
    • 1. What Is Hashing?
    • 2. Collisions

Lab Sessions

  • Setup
  • Foundations
  • Sequences
  • Recursion

Code Examples

  • Edge List Pattern in Ruby
  • Adjacency List in JavaScript
  • Adjacency Matrix in C

Recaps

  • Math Recap
  • RAM Assembly Recap
  • .rst

Sequences

Contents

  • Contents

Version: 0.6.7

Sequences#

In this module we will explore sequences, a simple data structure that most programming languages support.

Contents#

  • 1. Abstract Data Types
    • 1.1. Data Types
    • 1.2. Abstract Data Types
    • 1.3. Conclusion
  • 2. Using Arrays
    • 2.1. An ADT for Sequences
    • 2.2. Array-based Sequences in C
  • 3. Using Dynamic Arrays
    • 3.1. Infinite Sequences
    • 3.2. Runtime Analysis
    • 3.3. Amortized Analysis
    • 3.4. Summary
  • 4. Searching
    • 4.1. Jump Search
    • 4.2. Binary Search
    • 4.3. Interpolation Search
  • 5. Simple Sorting
    • 5.1. What Is Sorting?
    • 5.2. Selection Sort
    • 5.3. Insertion Sort
    • 5.4. Bubble Sort
  • 6. Stacks, Queues, and Deques
    • 6.1. Stacks
    • 6.2. Queues
    • 6.3. Deques

previous

6. The Big-O Notation

next

1. Abstract Data Types

Contents
  • Contents

By NTNU

© Copyright 2021, NTNU.