background preloader

Algorithms

Facebook Twitter

Python

Data-structures. Summary of all the MIT Introduction to Algorithms lectures - goo. As you all may know, I watched and posted my lecture notes of the whole MIT Introduction to Algorithms course. In this post I want to summarize all the topics that were covered in the lectures and point out some of the most interesting things in them. Actually, before I wrote this article, I had started writing an article called "The coolest things that I learned from MIT's Introduction to Algorithms" but quickly did I realize that what I was doing was listing the topics in each article and not really pointing out the coolest things. Therefore I decided to write a summary article first (I had promised to do so), and only then write an article on really the most exciting topics.

Talking about the summary, I watched a total of 23 lectures and it resulted in 14 blog posts. It took nearly a year to publish them here. I'll now go through each of the lectures. Lecture 1: Analysis of Algorithms In this lecture you also get to know professor Charles E. Why study algorithms and their performance? Algorithm Tutorials. Consistent Hashing and Random Trees: Distributed Cac. BibTeX Years of Citing Articles Bookmark OpenURL Abstract We describe a family of caching protocols for distributed networks that can be used to decrease or eliminate the occurrence of hot spots in the network. Our protocols are particularly designed for use with very large networks such as the Internet, where delays caused by hot spots can be severe, and where it is not feasible for every server to have complete information about the current state of the entire network.

The protocols are easy to implement using existing network protocols such as TCP/IP, and require very little overhead. Citations. [0707.1051] Noisy Sorting Without Resampling. My Biased Coin. Dictionary of Algorithms and Data Structures. How Google Finds Your Needle in the Web's Haystack. As we'll see, the trick is to ask the web itself to rank the importance of pages... Imagine a library containing 25 billion documents but with no centralized organization and no librarians. In addition, anyone may add a document at any time without telling anyone. You may feel sure that one of the documents contained in the collection has a piece of information that is vitally important to you, and, being impatient like most of us, you'd like to find it in a matter of seconds.

How would you go about doing it? Posed in this way, the problem seems impossible. Most search engines, including Google, continually run an army of computer programs that retrieve pages from the web, index the words in each document, and store this information in an efficient format. One way to determine the importance of pages is to use a human-generated ranking. Google's PageRank algorithm assesses the importance of web pages without human evaluation of the content. How to tell who's important Computing I . . If . Dictionary of Algorithms and Data Structur.

Computer Programming Algorithms Directory. Collected Algorithms of the ACM.