Skip to content

A collection of basic algorithms and data structures for beginners in C++

Notifications You must be signed in to change notification settings

falafe1y/ForBeginners

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

28 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Description

I created and fill this repository with only one goal — to help beginner developers better understand the essence of basic things in IT, because I remember how difficult it was for me to understand these truly fundamental things on my own. I tried to organize the code as neatly and clearly as possible so that it would be easier for beginners to navigate. I also specifically separated the description and implementation of functions so that you could get used to the proper formatting of code in your future projects.

The local repository of the implementation of a particular structure or algorithm also contains README_RU.md, which completely repeats the English analogue for Russian-speaking developers who are not very good with English, but I still advise you to use the original README.md.

As you can see, I have arranged the data structures by complexity level. This is the level I advise you to study them by. If you know the structure of a queue, then you can safely skip the stack (of course, provided that you understand it) and start studying linked lists. The main thing is to be honest with yourself, there is nothing shameful in ignorance - it is shameful to not learn.

Finally, I want to make a small clarification: this repository will not cover the basic syntax and/or concepts of the language. For example, what a function is, what return means, how loops work, and so on. If you have moved to this stage consciously, then you are already familiar with all of the above. If a description of such things is really necessary, please let me know.

alt text

Installation

You need to move to the working directory and clone this repository with HTTPS:

git clone https://github.com/falafe1y/ForBeginners.git

or SSH:

git clone [email protected]:falafe1y/ForBeginners.git

Compilation

For compilation, you need to specify the main.cpp file, the file with the implementation of the algorithm or structure you are interested in, for example, BubbleSort.cpp, the compilation flag, and the name of the binary file, for example, main:

g++ main.cpp BubbleSort.cpp -o main

Content

In this repository you will find fundamental algorithms and data structures in C++, namely:

  • Algorithms:

    Big O:

    • Examples of complexity assessment

    Sort:

    • Bubble sort
    • Insert sort
    • Selection sort
    • Counting sort
    • Radix sort
    • Shaker sort
    • Fast sort
    • Heap sort
    • Merge sort

    Seacrh:

    • Linear search
    • Binary search
    • Hash-table search
    • Tree search
    • Graph search
  • Data structs:

    1. Stack
    2. Queue
    3. Linked list
    4. Tree
    5. Graph
    6. Vector
    7. Heap
    8. Hash-table

Feedback

If you have any questions, want to suggest an idea for implementation, or simply leave feedback, send your messages to:
[email protected] or [email protected]

About

A collection of basic algorithms and data structures for beginners in C++

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages