- Level Professional
- المدة 35 ساعات hours
- الطبع بواسطة University of Colorado Boulder
-
Offered by
عن
This course covers basics of algorithm design and analysis, as well as algorithms for sorting arrays, data structures such as priority queues, hash functions, and applications such as Bloom filters. Algorithms for Searching, Sorting, and Indexing can be taken for academic credit as part of CU Boulder's Master of Science in Data Science (MS-DS) degree offered on the Coursera platform. The MS-DS is an interdisciplinary degree that brings together faculty from CU Boulder's departments of Applied Mathematics, Computer Science, Information Science, and others. With performance-based admissions and no application process, the MS-DS is ideal for individuals with a broad range of undergraduate education and/or professional experience in computer science, information science, mathematics, and statistics.الوحدات
Course Overview
1
Discussions
- Introduce Yourself!
1
Videos
- What is an Algorithm?
6
Readings
- Earn Academic Credit for your Work!
- Course Support
- Important Prerequisites
- Logistics: Textbook and Readings
- CLRS Chapter 1
- Important Specialization Information
Overview of Module 1
1
Readings
- Overview of Module 1
Introduction: Insertion Sort
1
Videos
- An Introduction Through the Insertion Sort Algorithm
1
Readings
- CLRS Chapter 2
1
Quiz
- Insertion Sort and Running Times
Asymptotic Notation: Big-O, Omega and Theta Notation
2
Videos
- Time and Space Complexity
- Asymptotic Notation
1
Readings
- CLRS Chapter 3
1
Quiz
- Asymptotic Notation and Complexity
Binary Search: Proving Correctness and Running Time Analysis
1
Videos
- Binary Search
2
Readings
- Binary Search Lecture Slides
- Jupyter Notebook on Binary Search
1
Quiz
- Binary Search
Mergesort: Correctness and Running Time
1
Videos
- Merge Sort Algorithm, Analysis and Proof of Correctness
1
Readings
- Notes on MergeSort
1
Quiz
- Mergesort Algorithm
Problem Set #1
- Introduction to Algorithms
OPTIONAL: Extra Video Lesson
1
Videos
- Pitfalls and Logarithms
Overview of Module 2
1
Readings
- Overview of Module 2
Data Structures: What? and Why?
1
Videos
- A Simple Data Structure: The Dynamic Array
1
Readings
- CLRS Chapter 10, 10.1 + Jupyter Notebook
1
Quiz
- Basics of Data Structures
Heap Data Structure
1
Videos
- Heap, Min/Max-Heaps and Properties of Heaps
1
Readings
- CLRS Chapter 6.1 and 6.2
1
Quiz
- Basics of Heap Data Structures
Heap Primitives: Bubble Up and Bubble Down
2
Videos
- Heap Primitives: Bubble Up/Bubble Down
- Priority Queues, Heapify, and Heapsort
2
Readings
- CLRS Chapter 6.3
- CLRS Chapter 6.4 and 6.5
1
Quiz
- Bubble-Up/Bubble-Down, Insertion and Deletion Operations
Heap Operations: Insert, Delete, Delete-Min, Priority Queues and Heapsort
1
Quiz
- Heapify, Priority Queues and Heapsort
Hashtables - Introduction
1
Videos
- Hashtables - Introduction
1
Readings
- CLRS Chapter 11.1 and 11.2
1
Quiz
- Hashtables
Problem Set #2
- Heap Data Structures
Overview of Module 3
1
Readings
- Overview of Module 3
Introduction to Randomization in Algorithms and Data Structures
1
Videos
- Introduction to Randomization + Average Case Analysis + Recurrences
Partition and Quicksort
1
Videos
- Partition and Quicksort Algorithm
1
Readings
- CLRS Chapter 7.1
1
Quiz
- Quicksort and Partition
Designing Partition Scheme and Correctness
1
Videos
- Detailed Design of Partitioning Schemes
1
Readings
- CLRS Chapter 7.1
1
Quiz
- Partition Schemes
Analysis of Quicksort Algorithm
1
Videos
- Analysis of Quicksort Algorithm
1
Readings
- CLRS Chapter 7.2 - 7.4
1
Quiz
- Analysis of Quicksort
Quickselect Algorithm
1
Videos
- Quickselect Algorithm and its Applications
1
Readings
- CLRS Chapter 9.1, 9.2
1
Quiz
- Quickselect Algorithm
Hash Functions and Universal Hashing
2
Videos
- Selecting Hash Functions
- Universal Hash Functions and Analysis
1
Readings
- CLRS Chapter 11.3
1
Quiz
- Universal Hash Functions
Problem Set #3
- Quicksort and Hash Functions
Overview of Module 4
1
Readings
- Overview of Module 4
Open Address Hashtables
1
Videos
- Open Address Hashing
1
Readings
- CLRS 11.4
1
Quiz
- Open Address Hashing
Perfect and Cuckoo Hashing
1
Videos
- Perfect hashing and Cuckoo hashing
1
Readings
- CLRS Chapter 11.5 (Perfect Hashing) and Slides with Scribbles
Bloom Filters
1
Videos
- Bloom Filters and Analysis
1
Readings
- Bloom Filter: Slides
Count-Min Sketches
1
Videos
- Count-Min Sketching Using Hashing
1
Readings
- Count-Min Sketches Slides
String Matching Using Hash Functions
1
Videos
- String Matching Using Hashing
1
Readings
- Slides with Scribbles
Problem Set #4
- Hash Applications
Auto Summary
Explore the fundamentals of algorithm design with the "Algorithms for Searching, Sorting, and Indexing" course, part of CU Boulder’s MS in Data Science on Coursera. Ideal for IT and computer science professionals, it covers sorting, priority queues, hash functions, and Bloom filters. With flexible subscription options, it suits diverse educational and professional backgrounds. Join now for a comprehensive learning experience.

Sriram Sankaranarayanan