Some exercises and course work on synthesis and analysis of algorithms.
The context of each folder is as follow:
GMD - greatest_common_divisor with different functions and methods.
The bracket balance check algorithm in an expression using a dynamic stack implementation.
Priority queue in which they are introduced tasks to perform. The program functions for adding and deleting are implemented of an element in the priority queue, as well as a queue printing function. Dynamic conversion used.
- Ex1 - A program that implements the algorithm for sorting an array by merging. Merge-sort algorithm.
- Ex2 - Fibonacci algorithm
- Ex1 - Quick sort algorithm
- Ex2 - Digital sort algorithm
- Selection sort algorithm
- Insertion sort algorithm
- Bubble sort algorithm
- Merge-sort sort algorithm
- Quick sort algorithm
- Digital sort algorithm
- A tree for which each of the leaves contains a number from 1 to 9, and the other tops and roots contain the operations +, - and *. Crawl the tree to obtain the arithmetic expression in a form convenient for human perception (operand operation operand). After the ‘=’ sign is displayed at the end of the expression and the value of the expression is printed.
- Ex1 - Separate functions for each of the algorithms for search (non-recursive) of an element in an array.
- Ex2 - Implement the functions for adding, searching and deleting an item in a binary search tree.
- Ex1 - A program that implements the algorithm for traversing a graph in depth. The graph is set by a neighborhood matrix.
- Ex2 - A program that checks if a graph contains loops. For this purpose, the depth crawling algorithm implemented in exercise 1 is used.
Implementation of an algorithm that builds a pyramid of n numbers.