Skip to main content
Ctrl+K

Hi there! What do you think of this course, so far? Please, give us feedback!

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
  • Trees
    • 1. Trees
    • 2. Binary Search Tree
    • 3. Binary Heaps
    • 4. Self-Balancing Trees
    • 5. B-Trees
    • 6. Prefix and Suffix Trees
  • Graphs
    • 1. Graph Theory
      • 1.7.1. Edge List Pattern in Ruby
      • 1.7.2. Adjacency List in JavaScript
      • 1.7.3. Adjacency Matrix in C
    • 2. Reachability & Shortest Paths
    • 3. Minimum Spanning Trees
  • Optimization
    • 1. Exhaustive Search
    • 2. Heuristic Search
    • 3. Dynamic Programming
  • Computational Complexity
    • 1. String Matching
    • 2. Regular Expressions
    • 3. Complexity Classes
  • Beyond RAM
    • 1. Parallel Computing
    • 2. Quantum Computing
    • 3. How to Design Algorithms?

Lab Sessions

  • Setup
  • Foundations
  • Sequences
  • Recursion
  • Trees
  • Graphs
  • Optimization

Recaps

  • Math Recap
  • .rst

Hashing

Contents

  • Contents

Version: 0.3.38

Hashing#

This module focuses on hashing, a technique that speeds up access and retrieval of information using hash functions.

Contents#

  • 1. What Is Hashing?
    • 1.1. The Map ADT
    • 1.2. What Is a “Good” Key?
    • 1.3. Hash Tables
    • 1.4. Hash Functions
    • 1.5. Usages of Hashing
  • 2. Collisions
    • 2.1. What Are “Collisions”?
    • 2.2. Separate Chaining
    • 2.3. Open Addressing

previous

6. Sorting Without Comparing

next

1. What Is Hashing?

Contents
  • Contents

By NTNU

© Copyright 2021, NTNU.