Algorithms and Data Structures - Part 2
Algorithms and data structures are the foundation of software engineering. This course will teach you about some of the algorithms and data structures used daily by professional software engineers.
What you'll learn
Understanding algorithms and data structures is fundamental to creating efficient software. In this course, Algorithms and Data Structures - Part 2, you’ll learn many algorithms and data structures used in software development. First, you’ll explore sorting and searching algorithms. Next, you’ll discover advanced data structures such as sets, heaps, balanced binary trees, B-Trees, and priority queues. Finally, you’ll learn how to safely use these algorithms and data structures in multi-threaded or concurrent programming environments. When you’re finished with this course, you’ll have the skills and knowledge of algorithms and data structures needed to successfully apply them in your own software development projects.
Table of contents
- Introduction 1m
- Concurrency Overview 2m
- Concurrency Problems 4m
- Caller Synchronization 6m
- Demo: Caller Synchronization 4m
- Collection Synchronization: Monitors 2m
- Demo: Collection Synchronization (Monitors) 4m
- Collection Synchronization: Reader Writer Locks 1m
- Demo: Collection Synchronization (Reader Writer Locks) 3m
- .NET Framework Concurrent Collections 2m