Skip to content

dvsav/computer-science

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

138 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

computer-science

This is an educational project containing implementations of some core computer science algorithms.

Table of Contents

About

The project is written in C++. Its goal is to showcase several things:

  • Clean well-documented C++ code
  • Usage of different build systems (MSBuild, CMake, GNU Make)
  • Unit testing via Catch2 framework
  • Automated testing via GitHub Actions

Algorithms

The list of implemented algorithms.

Prerequisites

On Linux install GNU Make and CMake build systems (example below is given for APT package manager which is used by default in Debian based Linux, e.g. Ubuntu and Linux Mint):

sudo apt-get -y install make
sudo apt-get -y install cmake

On Windows install CMake build system using Chocolatey package manager:

choco install cmake --installargs 'ADD_CMAKE_TO_PATH=System'

...or download CMake installer for Windows

How to build

Clone the repository:

git clone https://github.com/dvsav/computer-science.git
cd computer-science

Compile the sources using one of convenience scripts that call either GNU Make:

./make.sh test

If the build is successful, you'll find the binary files in build/GNUMake/bin directory.

...or CMake:

./cmake.sh

If the build is successful, you'll find a binary executable computer-science in build/CMake/gnumake directory.

Usage

You can include the source code of this project into your own project, e.g. add this git repository as a git submodule:

cd your_repository
git submodule add https://github.com/dvsav/computer-science.git

Contributing

Contributions are welcome! Please follow these steps:

Fork the repository.
Create a new branch (git checkout -b feature/YourFeature).
Commit your changes (git commit -m 'Add some feature').
Push to the branch (git push origin feature/YourFeature).
Open a pull request.

License

This project is licensed under the MIT License.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 3

  •  
  •  
  •  

Languages