Description

I/O-efficient algorithms, a course on efficient input/output algorithms, is published by Coursera Academy. Efficient input/output algorithms, also known as external memory algorithms or cache algorithms, are a class of algorithms designed to efficiently process data that is too large to fit entirely in a computer’s main memory (RAM). These algorithms are especially useful when dealing with huge data sets, such as those found in big data processing, database management, and file systems. Operations on data become more expensive as the data item moves higher in the memory hierarchy. Operations on data in CPU registers are approximately a million times faster than operations on a data item that is in external memory and must first be fetched. This fetching of data is also called input/output operations and should be considered during algorithm design. The goal of this course is to introduce you to the important algorithmic concepts and techniques needed to effectively tackle such problems. We will work with a simple memory hierarchy, but the concepts will naturally extend to more realistic models. The course material is based on the course notes, which can be found under the Resources tab. We do not cover everything from the course notes. The course notes are there both for students who do not fully understand the lectures and for students who wish to dive deeper into the topics.

What you will learn

  • Designing cache and cache forgetting algorithms
  • Replacement policies
  • Efficient I/O sorting
  • Efficient input/output data structures

Course details I/O-efficient algorithms

  • Publisher: Coursera
  • Instructor: Mark de Berg
  • Language: English
  • Education level: All levels
  • Number of lessons: 6
  • Training duration: 3 weeks, including 3 hours of work per week

Course topics I/O-efficient algorithms

I_O-efficient algorithms

Course prerequisites

  • in order to successfully take this course, you should already have a basic knowledge of algorithms and mathematics. Here’s a short list of what you are supposed to know: – O-notation, Ω-notation, Θ-notation; how to analyze algorithms – Basic calculus: manipulating summations, solving recurrences, working with logarithms, etc. – Basic probability theory: events, probability distributions, random variables, expected values etc. – Basic data structures: linked lists, stacks, queues, heaps – (Balanced) binary search trees – Basic sorting algorithms, for example MergeSort, InsertionSort, QuickSort – Graph terminology, representations of graphs (adjacency lists and adjacency matrix), basic graph algorithms (BFS, DFS, topological sort, shortest paths)

Pictures

I_O-efficient algorithms

Sample video

Video display

00:00
07:27

Installation Guide

After Extract, view with your favorite player.

Subtitles: English

Quality: 720p

Download link

Download – 787 MB

File size

787 MB

LEAVE A REPLY

Please enter your comment!
Please enter your name here