Data Structures
A good algorithm usually comes together with a set of good data structures that allow the algorithm to manipulate the data efficiently. In this online course, we consider the common data structures that are used in various computational problems. You will learn how these data structures are implemented in different programming languages and will practice implementing them in our programming assignments. This will help you to understand what is going on inside a particular built-in implementation of a data structure and what to expect from it. You will also learn typical use cases for these data structures.A few examples of questions that we are going to cover in this class are the following:
- What is a good strategy of resizing a dynamic array?
- How priority queues are implemented in C++, Java, and Python?
- How to implement a hash table so that the amortized running time of all operations is O(1) on average?
- What are good strategies to keep a binary tree balanced?
You will also learn how services like Dropbox manage to upload some large files instantly and to save a lot of storage space!
None
Syllabus
Syllabus - What you will learn from this course
Week 1
Basic Data Structures
Week 2
Dynamic Arrays and Amortized Analysis
Week 3
Priority Queues and Disjoint Sets
Week 4
Hash Tables
Week 5
Binary Search Trees
Week 6
Binary Search Trees 2
FAQ
When will I have access to the lectures and assignments?
Access to lectures and assignments depends on your type of enrollment. If you take a course in audit mode, you will be able to see most course materials for free. To access graded assignments and to earn a Certificate, you will need to purchase the Certificate experience, during or after your audit. If you don't see the audit option:
The course may not offer an audit option. You can try a Free Trial instead, or apply for Financial Aid.
The course may offer 'Full Course, No Certificate' instead. This option lets you see all course materials, submit required assessments, and get a final grade. This also means that you will not be able to purchase a Certificate experience.
What will I get if I subscribe to this Specialization?
When you enroll in the course, you get access to all of the courses in the Specialization, and you earn a certificate when you complete the work. Your electronic Certificate will be added to your Accomplishments page - from there, you can print your Certificate or add it to your LinkedIn profile. If you only want to read and view the course content, you can audit the course for free.
Is financial aid available?
Yes. In select learning programs, you can apply for financial aid or a scholarship if you can’t afford the enrollment fee. If fin aid or scholarship is available for your learning program selection, you’ll find a link to apply on the description page.
Reviews
This is one of the appreciable course for the learners. The lectures and the reading material were great and the assignments was challenging. Overall this is a very good platform to learn.
great course with challenging assignments, the problem with the course is the accent of some of the lecturers which make the lecture harder to follow also not enough examples in the lectures
Course is very knowledgeable and is deigned properly but the allocated time for assignments is too less than the time specified. Also some assignments need more support in the forum
In depth mathematical analysis and implementation of important Data Structures. This is a very good course for programmers looking to solve computational problems with first principles.