# Intro to Algorithm Analysis ADD TO MY COURSES

### Chapter

• #### Chapter 1

Study of an analysis of one of the most basic problems in CS - sorting. Introduction to all basic kinds of analysis of algorithms and asymptotic analysis and notations.

Estimated time: ~50 Minutes
• #### Chapter 2

Discussion of recurrences and recursion trees in the context of merge sort and analyzing the performance of merge sort. It also introduces Big-O notations in the context of algorithm analysis.

Estimated time: ~36 Minutes
• #### Chapter 3

Introduces and analyzes various different types of sorting algorithms. This chapter discusses their efficiency, how they compare to each other and how they are different from each other. It covers bubble sort, quick sort and selection sort. It also introduces the problem of searching, discusses linear and binary search algorithms and their efficiency through analyzing them.

Estimated time: ~40 Minutes
• #### Chapter 4

Introduction to the Divide and Conquer Paradigm of solving problems, in the context of algorithm analysis using recurrences and recursion trees. The most common divide and conquer solutions are introduced - merge sort, binary search, powering a number and Fibonacci.

Estimated time: ~30 Minutes
• #### Chapter 5

Introduction to a common problem in CS - the symbol-table problem and how it is solved through hashing. Discusses hashing concepts such as choosing a hash function and properties of a good hash function, collision resolution through chaining. Presents analysis of the speed of hashing operations.

Estimated time: ~41 Minutes
• #### Locked

You must complete all chapters before taking the course exam.

• ### Concept 1

Introduces the symbol table problem. This is a very common problem in Computer Science and in compilers in particular where efficiency is very important.

Estimated time: ~7 Minutes
• ### Concept 2

Introduces the concept of hashing - a solution to the symbol table problem. If implemented well, hashing is an extremely efficient solution on average.

Estimated time: ~4 Minutes
• ### Concept 3

Talks about what happens when two elements are mapped to the same key into the hashtable. This is called a collision and the solution is to resolve the collisions by chaining.

Estimated time: ~4 Minutes
• ### Concept 4

We show how to analyze hashing with chaining. When it comes to hashing, we usually do average case analysis and we assume simple uniform hashing.

Estimated time: ~6 Minutes
• ### Concept 5

We continue with the analysis of hashing showing that good hashing implementation can be extremely efficient.

Estimated time: ~6 Minutes
• ### Concept 6

We discuss why it is important to choose your hash function really well. We continue on introducing the Division Method - a method of hashing.

Estimated time: ~6 Minutes
• ### Concept 7

We continue on talking about choosing a hash function and why it is important to really think about your heuristics and your choice. We discuss the heuristics that go into the choice of hash function. We also continue talking about the division method.

Estimated time: ~5 Minutes
• ### Chapter 5 Test

Take the chapter 5 test and unlock the Hashing badge.

### Concept 2: Hashing

Introduces the concept of hashing - a solution to the symbol table problem. If implemented well, hashing is an extremely efficient solution on average.

edit

You are making progress towards completing chapter 5 and unlocking the Hashing Badge

This badge is worth: 50 Points

For this concept you will only be watching a portion of the video: - .

Send me an email when someone posts a reply