Dsac is a project containing the implementation of all the basic algorithms and data structures, as well as a bit of concurrency. Dsac is focused on preparing for an interview, on forming the reader's full understanding of the internal implementation of the algorithm and data structures.
dsac contains the following structure of the project
algorithmAlgorithms
Thealgorithmdirectory contains classic sorting algorithms. The main implementation is placed in the folderalgorithm/detail.containerData structure
Thecontainerdirectory contains classic linear and non-linear data structure.concurrencyConcurrency algorithms and data structures
Thecontainerdirectory contains concurrency primitives for writing asynchronous code efficiently.memorySmart pointers and Allocators
Thememorydirectory contains implementation of smart pointers and different types of allocators.patternSoftware design pattern
Thepatterndirectory contains implementation of common patterns to solve common problems in software design.examplesA set of examples on working with the POSIX API
Theexamplesdirectory contains examples with working POSIX API for writing backend apps using concurrency primitives from directoryconcurrency.
The current status of the project can be found at the whimsical.com/dsac
This repository also contains examples of the implementation of various algorithms and the theory of distributed systems
to illustrate the use of concurrency. Examples of the implementation of distributed algorithms can be found in the
folder with the prefix examples/dist.*
To install dsac its dependencies and build this project, you just have to do:
Build the project
mkdir cmake-build-release && cd cmake-build-release
cmake .. && cmake --build .Dsac is released under the terms of the MIT license. See COPYING for more information or see https://opensource.org/licenses/MIT.