1
0
Fork 0
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
Wael Karram d475d0fb6b
Added helper functions to file utils.
6 months ago
docs Updated string copying function and documentation thereof. 1 year ago
linked_lists Bugfixes for linked lists. 6 months ago
misc_algorithms/search Fixed the binary search tests and function, tested and operational now. 1 year ago
nodes Bulk of the work on Red-Black trees has been done, needs to be finished and tested still. 12 months ago
sorting_algorithms Fix merge sort header. 1 year ago
stack Update stack: better debugging and faster runtime performance. 11 months ago
strings Refactor numtostr, use calloc instead of malloc. 6 months ago
tests Updated tests. 6 months ago
trees More work on RB trees, still far from done, and updated flag options to be later explored. 11 months ago
utils Added helper functions to file utils. 6 months ago
vector Update vector to have less runtime checks and make them into debug-only checks instead. 11 months ago
GPL_header Added license (GPLv3-only), still have to add notice to the rest of the files and license to the docs. 1 year ago
LICENSE Added license (GPLv3-only), still have to add notice to the rest of the files and license to the docs. 1 year ago
README Update README 1 year ago
git_list_modified.sh Added license (GPLv3-only), still have to add notice to the rest of the files and license to the docs. 1 year ago
git_list_new.sh Added license (GPLv3-only), still have to add notice to the rest of the files and license to the docs. 1 year ago
list_todo.sh More copyright stuff 1 year ago
progress_and_notes More work on RB trees, still far from done, and updated flag options to be later explored. 11 months ago
useful_gcc_flags More work on RB trees, still far from done, and updated flag options to be later explored. 11 months ago

README

This repository contains various implementations for data structres and algorithms in C.

The code is licensed under the GNU General Public License, version 3.
A copy of the license is in the top-level directory in the file named LICENSE.

Implemented Data Structures:
-Nodes.
-Binary Tree.
-Binary Search Tree.
-Stack.
-Single Linked List.
-Double Linked List.
-Queue (needs testing still).

Implemented Algorithms:
-Bubble Sort.
-Quick Sort.
-Binary Search.
-Safe String Copying (C-specific).


There are also misc. implemented utilities and small data structures.

For the future, I shall implement:
-Some graph data structures and algorithms.
-More tree data structures (e.g.: red-black trees, AVL trees, heaps).
-More sorting algorithms.
-Hash maps.
-Hash tables.

Each data structure group or algorithm family is contained in the aptly-named directory thereof (they can be cross-referenced).
There is a special tests directory at the top-level directory.
Notes contained at the top-level directory.