University of Colorado Boulder - Algorithms for Searching, Sorting, and Indexing
- Offered byCoursera
Algorithms for Searching, Sorting, and Indexing at Coursera Overview
Duration | 34 hours |
Total fee | Free |
Mode of learning | Online |
Difficulty level | Intermediate |
Official Website | Explore Free Course |
Credential | Certificate |
Algorithms for Searching, Sorting, and Indexing at Coursera Highlights
- Shareable Certificate Earn a Certificate upon completion
- 100% online Start instantly and learn at your own schedule.
- Course 1 of 3 in the Data Structures and Algorithms Specialization
- Flexible deadlines Reset deadlines in accordance to your schedule.
- Intermediate Level Calculus: derivatives and integrals. Probability theory: distributions, expectations, and moments.
Some programming experience with Python. - Approx. 34 hours to complete
- English Subtitles: English
Algorithms for Searching, Sorting, and Indexing at Coursera Course details
- 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. Learn more about the MS-DS program at https://www.coursera.org/degrees/master-of-science-data-science-boulder.
Algorithms for Searching, Sorting, and Indexing at Coursera Curriculum
Basics of Algorithms Through Searching and Sorting
What is an Algorithm?
An Introduction Through the Insertion Sort Algorithm
Time and Space Complexity
Asymptotic Notation
Binary Search
Merge Sort Algorithm, Analysis and Proof of Correctness
Pitfalls and Logarithms
Important Prerequisites
Logistics: Textbook and Readings
CLRS Chapter 1
Overview of Module 1
CLRS Chapter 2
CLRS Chapter 3
Binary Search Lecture Slides
Jupyter Notebook on Binary Search
Notes on MergeSort
Insertion Sort and Running Times
Asymptotic Notation and Complexity
Binary Search
Mergesort Algorithm
Heaps and Hashtable Data Structures
A Simple Data Structure: The Dynamic Array
Heap, Min/Max-Heaps and Properties of Heaps
Heap Primitives: Bubble Up/Bubble Down
Priority Queues, Heapify, and Heapsort
Hashtables - Introduction
Overview of Module 2
CLRS Chapter 10, 10.1 (Optional)
CLRS Chapter 6.1 and 6.2
CLRS Chapter 6.3
CLRS Chapter 6.4 and 6.5
CLRS Chapter 11.1 and 11.2
Basics of Data Structures
Basics of Heap Data Structures
Bubble-Up/Bubble-Down, Insertion and Deletion Operations
Heapify, Priority Queues and Heapsort
Hashtables
Randomization: Quicksort, Quickselect, and Hashtables
Introduction to Randomization + Average Case Analysis + Recurrences
Partition and Quicksort Algorithm
Detailed Design of Partitioning Schemes
Analysis of Quicksort Algorithm
Quickselect Algorithm and its Applications
Selecting Hash Functions
Universal Hash Functions and Analysis
Overview of Module 3
CLRS Chapter 7.1
CLRS Chapter 7.1
CLRS Chapter 7.2 - 7.4
CLRS Chapter 9.1, 9.2
CLRS Chapter 11.3
Quicksort and Partition
Partition Schemes
Analysis of Quicksort
Quickselect Algorithm
Universal Hash Functions
Applications of Hashtables
Open Address Hashing
Perfect hashing and Cuckoo hashing
Bloom Filters and Analysis
Count-Min Sketching Using Hashing
String Matching Using Hashing
Overview of Module 4
CLRS 11.4
CLRS Chapter 11.5 (Perfect Hashing) and Slides with Scribbles
Bloom Filter: Slides
Count-Min Sketches Slides
Slides with Scribbles
Open Address Hashing