Welcome to the Data Structures and Algorithms course! Dive into the essential principles and techniques that form the backbone of computer science and software development. This comprehensive course explores the efficient organization, storage, and manipulation of data using various data structures such as arrays, linked lists, stacks, queues, hash tables, trees, and graphs. You will learn how to implement these structures in your code, optimize their performance, and solve complex computational problems through algorithm design and analysis.

Découvrez de nouvelles compétences avec 30 % de réduction sur les cours dispensés par des experts du secteur. Économisez maintenant.


Ce que vous apprendrez
Implement and manipulate data structures (arrays, linked lists, stacks, queues) for efficient data management in software development.
Apply sorting algorithms (quicksort, mergesort, insertion sort) to optimize data organization and retrieval for solving real-world problems.
Design and analyze graph algorithms (BFS, DFS, shortest paths) to address complex network-related challenges in data management.
Utilize tree structures (binary trees, AVL trees) and hash tables for rapid data access and storage, enhancing computational efficiency.
Compétences que vous acquerrez
- Catégorie : Computational Thinking
- Catégorie : Programming Principles
- Catégorie : C and C++
- Catégorie : Complex Problem Solving
- Catégorie : Analysis
- Catégorie : Problem Solving
- Catégorie : Software Design
- Catégorie : Algorithms
- Catégorie : Data Storage Technologies
- Catégorie : Data Manipulation
Détails à connaître

Ajouter à votre profil LinkedIn
août 2025
140 devoirs
Découvrez comment les employés des entreprises prestigieuses maîtrisent des compétences recherchées

Il y a 10 modules dans ce cours
In this module, you will learn how to measure the efficiency of algorithms at design time. More specifically, you will learn about asymptotic notation to represent the efficiency of algorithms in terms of the time and space utilized by your algorithms. You will also revisit C fundamentals with the help of a few basic programs.
Inclus
22 vidéos5 lectures8 devoirs1 laboratoire non noté1 plugin
In this module, you will learn about linked lists, stacks, and queues, along with their applications to various domains of computing. You will learn to apply them to construct efficient algorithms for various problems. You will also be able to implement these data structures in C.
Inclus
27 vidéos8 lectures17 devoirs1 sujet de discussion3 laboratoires non notés
In this module, you will learn about top-down recursive algorithms, with a specific discussion on insertion sort and merge sort algorithms. Specifically, you will understand the recursive and iterative versions of these sorting algorithms along with their derivations of time and space complexities. You will also implement these algorithms on large tuple data read from files and compare the running time of these algorithms. Additionally, you will learn to implement linear and binary search algorithms over arrays.
Inclus
23 vidéos8 lectures18 devoirs1 sujet de discussion3 laboratoires non notés
In this module, you will learn about the quick sort algorithm, implement it and analyze its time complexity. You will additionally study a summary of comparison-based sorting algorithms, along with their lower bound time complexity. You will also learn non-comparison-based sorting algorithms, such as bucket sort and radix sort, along with their complexity analysis and implementation.
Inclus
14 vidéos5 lectures12 devoirs1 devoir de programmation1 sujet de discussion2 laboratoires non notés
In this module, you will learn about dictionary ADT s, hash tables, and binary trees. You will understand various hashing schemes, such as linear chaining and open addressing, and analyze their performance for large data. You will also gain insights into binary trees, tree traversals, and their implementations.
Inclus
16 vidéos6 lectures14 devoirs1 sujet de discussion2 laboratoires non notés
In this module, you will learn to use binary search trees and AVL trees as dictionaries. You will learn to implement them and store large tuple data. You would also be able to compare the search performance of both the trees averaged over large datasets. Additionally, you would be able to derive the best and worst-case complexities of search, insert, and delete in binary search trees (BST s) and AVL trees.
Inclus
22 vidéos5 lectures18 devoirs1 sujet de discussion1 laboratoire non noté
In this module, you will learn about priority queues abstract data type (ADT ) and various kinds of tries. You will also learn to implement heaps for priority queues and use them to find efficient tries for file compression. Additionally, you will learn about tries, compressed tries, and suffix trees, along with their applications to various domains of computer science.
Inclus
20 vidéos6 lectures15 devoirs1 devoir de programmation1 sujet de discussion2 laboratoires non notés
In this module, you will learn the fundamentals of graphs, the data structures used to represent them, and the breadth-first graph traversal algorithm. You will learn to use the breadth-first graph traversal to solve a few computational problems related to graphs, such as checking for bipartite graphs and counting the connected components. You will also be able to implement breadth-first traversal efficiently using the appropriate data structure.
Inclus
17 vidéos4 lectures14 devoirs1 sujet de discussion1 laboratoire non noté
In this module, you will learn about depth-first traversal in graphs and its applications to graph-related problems. You will learn to analyze its complexity and implement it efficiently. You will understand the minimum spanning trees (MST) problem in weighted graphs and study Kruskal’s algorithm that computes MST from a weighted graph. You will additionally learn to optimize the time complexity of Kruskal’s algorithm using the union-find data structure and implement it.
Inclus
19 vidéos6 lectures15 devoirs1 sujet de discussion1 laboratoire non noté
In this module, you will learn about Prim’s algorithm for computing the minimum spanning tree in a weighted graph. Additionally, you will also learn about Dijkstra’s algorithm to compute “single-source shortest paths.” You will also learn about the Bellman-Ford algorithm to compute “single-source shortest paths” in graphs with negative edge weights. You will also be able to implement these algorithms and analyze their time complexities.
Inclus
14 vidéos6 lectures9 devoirs1 laboratoire non noté1 plugin
Obtenez un certificat professionnel
Ajoutez ce titre à votre profil LinkedIn, à votre curriculum vitae ou à votre CV. Partagez-le sur les médias sociaux et dans votre évaluation des performances.
Instructeur

En savoir plus sur Software Development
- Statut : Essai gratuit
- Statut : Essai gratuit
- Statut : Essai gratuit
Microsoft
- Statut : Essai gratuit
Pour quelles raisons les étudiants sur Coursera nous choisissent-ils pour leur carrière ?





Ouvrez de nouvelles portes avec Coursera Plus
Accès illimité à 10,000+ cours de niveau international, projets pratiques et programmes de certification prêts à l'emploi - tous inclus dans votre abonnement.
Faites progresser votre carrière avec un diplôme en ligne
Obtenez un diplôme auprès d’universités de renommée mondiale - 100 % en ligne
Rejoignez plus de 3 400 entreprises mondiales qui ont choisi Coursera pour les affaires
Améliorez les compétences de vos employés pour exceller dans l’économie numérique
Foire Aux Questions
To access the course materials, assignments and to earn a Certificate, you will need to purchase the Certificate experience when you enroll in a course. 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.
When you purchase a Certificate you get access to all course materials, including graded assignments. Upon completing the course, your electronic Certificate will be added to your Accomplishments page - from there, you can print your Certificate or add it to your LinkedIn profile.
You will be eligible for a full refund until two weeks after your payment date, or (for courses that have just launched) until two weeks after the first session of the course begins, whichever is later. You cannot receive a refund once you’ve earned a Course Certificate, even if you complete the course within the two-week refund period. See our full refund policy.
Plus de questions
Aide financière disponible,