4000 courses for algorithm

Design and Analysis of Algorithms

Erik Demaine, Srinivas Devadas, and Nancy Lynch
MIT OpenCourseWare

This is an intermediate algorithms course with an emphasis on teaching techniques for the design and analysis of efficient algorithms, emphasizing methods of application. Topics include divide-and-conquer, randomization, dynamic programming, greedy algorithms, incremental improvement, complexity, and cryptography.

Jeff Erickson's Algorithms, Etc.

University of Illinois Urbana Champaign

(55 pages) Maximum flows and minimum cuts Applications of maximum flow Extensions of maximum flow ♥ Linear programming ♥ The simplex algorithm ♥ Hardness (62 pages) Decision tree lower bounds Adversary arguments NP-hardness Approximation algorithms Appendices (51 pages) Proof by induction Solving recurrences Models of Computation Notes Cover pages Strings

Algorithms, Part I

Kevin Wayne
Princeton University via Coursera

study two elementary sorting methods (selection sort and insertion sort) and a variation of one of them (shellsort). We also consider two algorithms for uniformly shuffling an array. We concl...   More 6 videos , 1 reading , 1 reading expand WEEK 3 Mergesort We study the mergesort algorithm and show that it guarantees to sort any array of n items with at most n lg n compares. We also consider a nonrecursive, bottom-up version. We prove that

Introduction to Algorithms (SMA 5503)

Charles Leiserson and Erik Demaine
MIT OpenCourseWare

This course teaches techniques for the design and analysis of efficient algorithms, emphasizing methods useful in practice. Topics covered include: sorting; search trees, heaps, and hashing; divide-and-conquer; dynamic programming; amortized analysis; graph algorithms; shortest paths; network flow; computational geometry; number-theoretic algorithms; polynomial and matrix calculations; caching; and parallel computing.This course was also taught as part of the Singapore-MIT Alliance (SMA) programme as course number SMA 5503 (Analysis and Design of Algorithms).

Algorithms for Big Data

Jelani Nelson
Harvard University

Big data is data so large that it does not fit in the main memory of a single machine, and the need to process big data by efficient algorithms arises in Internet search, network traffic monitoring, machine learning, scientific computing, signal processing, and several other areas. This course will cover mathematically rigorous models for developing such algorithms, as well as some provable limitations of algorithms operating in those models

Practical Data Structures & Algorithms in Java + HW

Imtiaz Ahmad

List - Part 2 12:39 Data Structure: Doubly Linked List - Part 3 + HW 07:55 Popular Searching and Sorting Algorithms 16 Lectures 03:38:29 Algorithm: Linear Search 09:07 Algorithm: Binary Search (Overview) Preview 13:07 Algorithm: Binary Search (Practical) + HW 07:56 Recursion in Java 18:48 Recursive Linear & Binary Search (Practical) + HW 19:53 Big O Notation Part 2 26:08 Algorithm: Selection Sort (Overview) 04:15 Algorithm: Selection Sort

Algorithmic Aspects of Machine Learning

Ankur Moitra
MIT OpenCourseWare

This course is organized around algorithmic issues that arise in machine learning. Modern machine learning systems are often built on top of algorithms that do not have provable guarantees, and it is the subject of debate when and why they work. In this class, we focus on designing algorithms whose performance we can rigorously analyze for fundamental machine learning problems.

From 0 to 1: Data Structures & Algorithms in Java

Loony Corn

the common data structures, and the algorithms applied to them Pick the correct tool for the job - correctly identify which data structure or algorithm makes sense in a particular situation Calculate the time and space complexity of code - really understand the nuances of the performance aspects of code

Algorithmic Toolbox

Alexander Kulikov
University of California, San Diego via Coursera

greedy algorithms. After you will learn the key idea behind the greedy algorithms, you may feel that they represent the algorithmic Swiss army knife that can be applied to solve nearly all programming challenges in this course. But be warned: with a few exceptions that we will cover, this intuitive idea rarely works in practice! For this reason, it is important to prove that a greedy algorithm always produces an optimal solution before using this

Intro to Algorithms

Michael Littman

About this Course Ever played the Kevin Bacon game? This class will show you how it works by giving you an introduction to the design and analysis of algorithms, enabling you to discover how individuals are connected. Play Trailer Play Trailer By the end of this class you will understand key concepts needed to devise new algorithms for graphs and other important data structures and to evaluate the efficiency of these algorithms. What do I get? Instructor videos Learn by doing exercises Taught by industry professionals This free course is your first step towards a new career with the React Nanodegree Program.