initial commit

- basic framework
- algorithm: insert sort
- numerical: gauss-jordan elimination
- tests: sort, matrix

Signed-off-by: Yibo Cai <cyb70289@gmail.com>
add README

Signed-off-by: Yibo Cai <cyb70289@gmail.com>
algorithm: refine insert sort

Signed-off-by: Yibo Cai <cyb70289@gmail.com>
Makefile: echo -e

Signed-off-by: Yibo Cai <cyb70289@gmail.com>
include: fix tt_min & tt_max

Signed-off-by: Yibo Cai <cyb70289@gmail.com>
algorithm: add merge sort

Signed-off-by: Yibo Cai <cyb70289@gmail.com>
tests: refine sort testing

Generate random array and test sorting algorithms automatically with
run time comparison.

Signed-off-by: Yibo Cai <cyb70289@gmail.com>
include: add double linked list

Signed-off-by: Yibo Cai <cyb70289@gmail.com>
common: implement stack data structure

Signed-off-by: Yibo Cai <cyb70289@gmail.com>
Makefile: filter -e on dash

bash requires echo -e to show escaped sequences, while dash treats -e
as normal outputs.

Signed-off-by: Yibo Cai <cyb70289@gmail.com>
common: implement queue data structure

Signed-off-by: Yibo Cai <cyb70289@gmail.com>
common: implement heap data structure

Signed-off-by: Yibo Cai <cyb70289@gmail.com>
algorithm: implement heap sort

Signed-off-by: Yibo Cai <cyb70289@gmail.com>
common: refine heap.c

Signed-off-by: Yibo Cai <cyb70289@gmail.com>
common: enhance heap function

Signed-off-by: Yibo Cai <cyb70289@gmail.com>
tests: add heap test code

Use min-heap to merge k sorted lists in O(n*logk) time.

Signed-off-by: Yibo Cai <cyb70289@gmail.com>
refactor object oriented design

Signed-off-by: Yibo Cai <cyb70289@gmail.com>
combine algorithm with common

Signed-off-by: Yibo Cai <cyb70289@gmail.com>
common: implement quick sort

Signed-off-by: Yibo Cai <cyb70289@gmail.com>
common: clarify sort stability

Signed-off-by: Yibo Cai <cyb70289@gmail.com>