My favorites | English | Sign in

Google Code University

  •  
  •  

Algorithms

Algorithms are the core of computer science. Many new approaches to teaching this important material have developed in recent years.

Contributed Course Content

These submissions from industry and academia are designed to help teach algorithms to students around the world.

By Robert Sedgewick and Kevin Wayne
This course surveys the most important algorithms and data structures in use on computers today. Particular emphasis is given to algorithms for sorting, searching, and string processing. Fundamental algorithms in a number of other areas are covered as well, including geometric and graph algorithms.
By Maggie Johnson
An introduction to algorithm analysis, big-oh, and the analysis of non-recursive functions and programs; a review of recurrence relations, and the analysis of recursive functions; and what are the primary algorithmic approaches in computer science, and which should you use where?

Video Lectures

These videos are great opportunities for students and faculty to hear directly from some of the current pioneers in high-tech. They can also potentially serve as "guest lectures" for courses in these areas.

Three Beautiful Quicksorts

Presenter: Jon Bentley

This talk describes three of the most beautiful pieces of code that I have ever written: three different implementations of Hoare's classic Quicksort algorithm. The first implementation is a bare-bones function in about a dozen lines of C. The second implementation starts by instrumenting the first program to measure its run time; a dozen systematic code transformations proceed to make it more and more powerful yet more and more simple, until it finally disappears in a puff of mathematical smoke. It therefore becomes the most beautiful program I never wrote. The third program is an industrial-strength C library Qsort function that I built with Doug...