К содержимому
learnspaceYOUR NEXT CHAPTER
ПРОСТРАНСТВО ОБУЧЕНИЯ
ГлавнаяКаталог курсовМоё обучениеCoursera

Знания без границ

Учитесь у лучших университетов и компаний мира.

Открыть Coursera
Интеграция
Пространство университета
Моё пространствоСтраница курса
↵
ЯЛичный кабинетСтудент
© 2026 LearnSpaceКаждый день — возможность узнать больше.Помощь
I/O-efficient algorithms · LearnSpace
Назад в каталог
courseraПрограммирование

I/O-efficient algorithms

Курс от 28DIGITAL
Продвинутый≈ 10 чАнглийский
О курсеНавыкиПрограммаПреподаватели

О курсе

I/O-efficient algorithms, also known as external memory algorithms or cache-oblivious algorithms, are a class of algorithms designed to efficiently process data that is too large to fit entirely in the main memory (RAM) of a computer. These algorithms are particularly useful when dealing with massive datasets, such as those found in large-scale data processing, database management, and file systems. Operations on data become more expensive when the data item is located higher in the memory hierarchy. An operation on data in CPU registers is roughly a million times faster than an operation on a data item that is located in external memory that needs to be fetched first. These data fetches are also called I/O operations and need to be taken into account during the design of an algorithm. The goal of this course is to become familiar with important algorithmic concepts and techniques needed to effectively deal with such problems. We will work with a simplified memory hierarchy, but the notions extend naturally to more realistic models. 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) The material for this course is based on the course notes that can be found under the resources tab. We will not cover everything from the course notes. The course notes are there both for students who did not fully understand the lectures as well as for students who would like to dive deeper into the topics. The video lectures contain a few very minor mistakes. A list of these mistakes can be found under resources. If you think you found an error, report a problem by clicking the square flag at the bottom of the lecture or quiz where you found the error.

Навыки, которые вы освоите

AlgorithmsData StructuresGraph TheoryTheoretical Computer ScienceFile I/OPerformance TuningData AccessMemory Management

Программа курса

6 модулей · 30 учебных материалов

01Introduction 7 материалов

1.1 Introduction

Why I/O-efficient AlgorithmsВидео

1.2 The basic I/O-model

The basic I/O-modelВидео

1.3 Analyzing algorithms in the I/O-model

Analyzing algorithms in the I/O-modelВидео

1.4 Analyzing algorithms in the I/O-model, II

Analyzing algorithms in the I/O-model, IIВидео

1.5 Cache-aware versus cache-oblivious algorithms

Учитесь у экспертов

Mark de Berg

Prof.dr.

I/O-efficient algorithms
В каталоге вашей программы

Инвестируйте в себя

Новые знания — в удобное для вас время.

Начать на Coursera

Обучение откроется на Coursera
в новой вкладке

Обучение на Coursera

≈ 10 ч

6 модулей

Язык: Английский

Субтитры: Арабский, Французский, Узбекский, Украинский, Китайский (Китай), Греческий, Итальянский, Бразильский португальский, Нидерландский, Корейский, Немецкий, Русский, Тайский, Индонезийский, Шведский, Турецкий, Испанский, Хинди, Японский, Казахский, Польский

Часть программы вашего университета
Cache-aware versus cache-oblivious algorithmsВидео

1.6 Quiz

Course notes 1.1 and 1.2ЧтениеIntroductionЗадание
02Designing cache-aware and cache-oblivious algorithms5 материалов

2.1 The matrix-transposition problem

The matrix-transposition problemВидео

2.2 A cache-aware algorithm for matrix transposition

A cache-aware algorithm for matrix transpositionВидео

2.3 A cache-oblivious algorithm for matrix transposition

A cache-oblivious algorithm for matrix transpositionВидео

2.4 Quiz

Course notes 1.3ЧтениеDesigning cache-aware and cache-oblivious algorithmsЗадание
03Replacement Policies3 материалов

3.1 Replacement Policies

Replacement PoliciesВидео

3.2 Quiz

Course notes 1.4ЧтениеReplacement policiesЗадание
04I/O-efficient sorting4 материалов

4.1 I/O-Efficient sorting, I

I/O-Efficient sorting, IВидео

4.2 I/O-Efficient sorting, II

I/O-Efficient sorting, IIВидео

4.3 Quiz

Course notes chapter 2ЧтениеI/O-efficient sortingЗадание
05I/O-efficient data structures5 материалов

5.1 Efficient searching I: B-Trees

Efficient searching I: B-TreesВидео

5.2 Efficient searching II: Buffer Trees

Efficient searching II: Buffer TreesВидео

5.3 I/O-Efficient Priority queues

I/O-Efficient Priority queuesВидео

5.4 Quiz

Course notes 3.1ЧтениеI/O-Efficient Data StructuresЗадание
06Time-Forward Processing6 материалов

6.1 Evaluating local functions on a dag

Evaluating local functions on a DAGВидео

6.2 Evaluating local function on a dag: I/O-analysis

Evaluating local function on a DAG: I/O-analysisВидео

6.3 Time-forward processing

Time-forward processingВидео

6.4 Computing maximal independent sets

Computing maximal independent setsВидео

6.5 Quiz

Course notes 3.2ЧтениеI/O-EFFICIENT FUNCTION EVALUATION ON A DAGЗадание