I/O-efficient algorithms

所在平台: CourseraArchive

课程类别: 其他类别

大学或机构: CourseraNew

课程主页: https://www.coursera.org/archive/io-efficient-algorithms

课程评论:没有评论

第一个写评论        关注课程

课程大纲

Introduction
Designing cache-aware and cache-oblivious algorithms
Replacement Policies
I/O-efficient sorting
I/O-efficient data structures
Time-Forward Processing

课程评论(0条)

课程详情

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.

I / O高效算法:当数据项在内存层次结构中位于较高位置时,对数据的操作将变得更加昂贵。 CPU寄存器中的数据操作大约比需要首先获取的外部存储器中的数据项操作快一百万倍。这些数据获取也称为I / O操作,在设计算法时需要加以考虑。本课程的目标是熟悉有效解决此类问题所需的重要算法概念和技术。我们将使用简化的内存层次结构,但是概念自然会扩展到更实际的模型。 先决条件: 为了成功上这门课程,您应该已经具有算法和数学的基础知识。这是您应该了解的简短列表: -O符号,Ω符号,Θ符号;如何分析算法 -基本演算:处理求和,求解递归,使用对数等。 -基本概率论:事件,概率分布,随机变量,期望值等 -基本数据结构:链表,堆栈,队列,堆 -(平衡)二进制搜索树 -基本排序算法,例如MergeSort,InsertionSort,QuickSort -图形术语,图形表示(邻接表和邻接矩阵),基本图形算法(BFS,DFS,拓扑排序,最短路径) 本课程的材料基于可在“资源”选项卡下找到的课程笔记。我们不会从课程笔记中涵盖所有内容。对于不完全了解讲座的学生和想深入研究主题的学生,都有课程笔记。 视频讲座包含一些非常小的错误。在资源下可以找到这些错误的列表。如果您认为发现错误,请通过单击讲座或测验底部找到错误的方形标记来报告问题。

课程标签

0人关注该课程

主题相关的课程