C Algorithms Reference: Sorting, Searching, and Math

github repo

A collection of fundamental C algorithms demonstrating classic sorting, searching, and mathematical computations. This repository serves as a practical reference for common algorithm implementations in C.

Features

  • Implementations of various sorting algorithms: Selection Sort, Bubble Sort, Merge Sort, Quick Sort, Bucket Sort, Radix Sort, Insertion Sort, Counting Sort.
  • Mathematical algorithms including Fibonacci sequence, factorial, and prime checking.
  • Utility programs such as palindrome checking and CSV parsing.
  • Simple, straightforward C code suitable for learning and reference.

Tech Stack

  • Language: C
  • No external dependencies; standard C libraries used.

Getting Started

Prerequisites

  • C compiler (e.g., gcc)

Build and Run

To compile and run any program, use the following commands in your terminal:

gcc filename.c -o output
./output

Replace filename.c with the desired source file (e.g., selection.c).

Project Structure

  • 40_digit_interger.c: Implementation related to handling large integers (assumed).
  • Sorting algorithms:
    • selection.c
    • bubble.c
    • mergeSort.c
    • quicksort.c
    • bucket.c
    • bucketSort.c
    • counting.c
    • radix.c
    • insertion.c
    • binary_trie_sorting.c
  • Mathematical algorithms:
    • factorial.c
    • fibonacci.c
    • primeCheck.c
  • Utility:
    • palindrome.c
    • csv.c
    • search.c
  • Documentation:
    • README.md

Future Work / Roadmap

  • Add more algorithms covering graph theory, dynamic programming, and data structures.
  • Include detailed comments and documentation for each algorithm.
  • Provide test cases and benchmarking scripts.
  • Refactor code to improve modularity and reusability.
  • Add Makefile or build scripts for easier compilation.
  • Consider porting to other languages or providing bindings.

hjkl / arrows · / search · :family · :tag · :datefrom · :dateto · ~/entries/slug · Ctrl+N/Ctrl+P for suggestions · Ctrl+C/Ctrl+G to cancel
entries 201/201 · entry -/-
:readyentries 201/201 · entry -/-