Emakiflom / sorting_algorithms

this is alx group project for Aman and Makda

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Sorting Algorithms & Big O

This repository contains the implementation of various sorting algorithms in C, along with an exploration of Big O notation. The project focuses on understanding and implementing at least four different sorting algorithms, evaluating their time complexity using Big O notation, and discussing the selection of the best algorithm for a given input.

Learning Objectives

Upon completion of this project, you will be able to explain the following concepts without the help of external resources:

  1. Sorting Algorithms:

    • Implement and understand the workings of at least four distinct sorting algorithms.
  2. Big O Notation:

    • Grasp the concept of Big O notation and evaluate the time complexity of algorithms.
  3. Algorithm Selection:

    • Develop the skill of choosing the most suitable sorting algorithm based on input characteristics.
  4. Stable Sorting Algorithm:

    • Understand the concept of stability in sorting algorithms and identify stable sorting algorithms.

Copyright - Plagiarism

This project requires original solutions for the tasks to meet the specified learning objectives. Copying and pasting someone else's work or publishing any content of this project is strictly prohibited. Any form of plagiarism will result in removal from the program.

Requirements

General

  • Allowed Editors: vi, vim, emacs
  • Compilation: Ubuntu 20.04 LTS using gcc, using the options -Wall -Werror -Wextra -pedantic -std=gnu89
  • File Endings: All files should end with a new line
  • Coding Style: Your code should use the Betty style, checked using betty-style.pl and betty-doc.pl
  • Global Variables: Not allowed
  • Functions per File: No more than 5 functions per file
  • Standard Library: Unless specified otherwise, you are not allowed to use the standard library.
  • Header File: Prototypes of all your functions should be included in your header file called sort.h
  • Header File Inclusion: Don’t forget to push your header file
  • Header Files Guard: Include guards for all header files

GitHub

  • There should be one project repository per group. If you clone/fork/whatever a project repository with the same name before the second deadline, you risk a 0% score.

Data Structure and Functions

  • For this project, you are given the following print_array and print_list functions.
#include <stdlib.h>
#include <stdio.h>

/**
 * print_array - Prints an array of integers
 *
 * @array: The array to be printed
 * @size: Number of elements in @array
 */
void print_array(const int *array, size_t size)
{
    // Implementation details...
}

About

this is alx group project for Aman and Makda


Languages

Language:C 100.0%