Divide and Conquer

Data Structures and Algorithms

“The most fundamental problem in software development is complexity. There is only one basic way of dealing with complexity: divide and conquer”

– Bjarne Stroustrup

Lessons

Lessons

  1. Templates
  2. Templates - Tips and QA
  3. Searching and Sorting
  4. Searching and Sorting - Tips and QA
  5. Data Structures
  6. Data Structures - Tips and QA
  7. Standard Template Library (STL)
  8. Standard Template Library (STL) - Tips and QA

OBJECTIVES

In this chapter you will learn:

  • To use function templates to conveniently create a group of related (overloaded) functions
  • To distinguish between function templates and function-template specializations
  • To use class templates to create a group of related types
  • To distinguish between class templates and class-template specializations
  • To overload function templates
  • To understand the relationships among templates, friends, inheritance and static members
  • To search for a given value in a vector using binary search
  • To sort a vector using the recursive merge sort algorithm
  • To determine the efficiency of searching and sorting algorithms
  • To form linked data structures using pointers, self-referential classes and recursion
  • To create and manipulate dynamic data structures such as linked lists, queues, stacks and binary trees
  • To use binary search trees for high-speed searching and sorting
  • To understand various important applications of linked data structures
  • To understand how to create reusable data structures with class templates, inheritance and composition
  • To be able to use the template STL containers, container adapters and "near containers"
  • To be able to program with the dozens of STL algorithm
  • To understand how algorithms use iterators to access the elements of STL containers
  • To become familiar with the STL resources available on the Internet and the World Wide Web

HOMEWORKS

Lessons 1 and 2
D 14.3 D 14.4 D 14.5 D 14.6 D 14.7
D 14.8 D 14.9 D 14.10 D 14.11 D 14.12
D 14.13 D 14.14 D 14.15 D 14.16 D 14.17
D 14.18 D 14.19 D 14.20 D 14.21 D 14.22
D 14.23
Lessons 3 and 4
D 20.5 D 20.6 D 20.7 D 20.8 D 20.9
D 20.10
Lessons 5 and 6
D 21.6 D 21.7 D 21.8 D 21.9 D 21.10 D 21.11
D 21.12
Lessons 7 and 8
D 23.12 D 21.13 D 21.14
  • These are the lessons and home works that are mandatory for students who are going to enroll in "C++ Basics" course.

Upcoming C++ Data structures and algorithms Course

retoric-complexity

The next C++ Data Structures and Algorithms course begins on February, 2023.

Hurry to join!

0 students are already enrolled.
en_US