1
0
Fork 0
C_lib/progress_and_notes

67 lines
1.9 KiB
Plaintext

Make sure everything is implemented and tested.
Check the -fopt-info flag
Urgent tasks:
Fix queue!!!
Add -D DEBUG to the relevant lines in the makefile.
Finish max heap + test.
Const, const, const and more const - put it everywhere you can.
Also inline as much as possible - and use static inline where needed.
Implement vectors where the data gets copied into the array (I.E.: not just pointers!) - for faster I/O; benchmark on a small scale before doing this.
General housekeeping:
Tidy-up the codebase, mainly make the code's style consistent in all the project.
Write docs and add license! (GFDL).
Finish adding license notices to all the relevant files.
Check GCC hardening flags, especially things related to hardware issues.
Check analyzer flags (mostly enabled, but causes some parts to fail compilation).
Future goals:
Implement more data structures, such as hash tables, hash maps, more trees.
Implement algorithms to go with said DSs.
Implement generic algorithms (start from sort and search).
Allow compilation with tcc instead of/in addition to gcc.
Write documentation, some of it needs revisiting and filling out (I.E.: it is only partly-done).
Currently implemented:
Data Structures:
Single node.
Double linked node.
Tree node.
Linked list.
Double linked list.
Stack.
Binary Tree.
BST - Binary Search Tree.
Queue (Implementation written, just needs testing).
Vectors/Dynamic arrays (Implementation written, just needs testing).
Algorithms:
Safe string copy.
Bubble Sort.
Quicksort.
Binary Search (in a sorted array).
To be implemented:
Merge Sort.
Introspective sort (Uses both quicksort and merge sort).
Heaps (Max Heap, Min Heap, Min-Max Heap).
Heapsort (after implementing heaps).
Insertion sort.
Hashmap.
AVL trees.
Red-Black trees.
AA Trees (?).
Circular buffer (?).
Array list (?).
Misc tasks:
None!
GCC flags to add:
-fmem-report -fstack-usage
Check more sanitization and profiling flags generally.