-
Notifications
You must be signed in to change notification settings - Fork 31
/
Copy pathREADME.dox
54 lines (54 loc) · 3.58 KB
/
README.dox
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
/**
* @file README.dox
* @mainpage Project Presentation
* @par Introduction
* This project covers some basic <b>Dynamic Data Structures</b> implemented as <b>pure, generic ADT:s</b>, coded in <b>ANSI C</b>. Makefiles for building a library, both for Windows/Linux are included.\n You can even download a tarball to build/install the library from source, the usual way, under Linux.
* - Singly-linked list
* - Doubly-linked list
* - Circular, singly-linked list
* - Stack
* - Queue
* - Set
* - Chained hash table
* - Open-addressed hash table
* - Heap
* - Priority queue
* - Binary search tree
* - AVL tree
* - Graph
* @par Algorithms
* Moreover, I've included some <i>Graph Algorithms</i> (Breadth-First-Search, Depth-First-Search, Minimal Spanning Tree, Dijkstra's Shortest Path and Traveling Salesman Path) in file <code>algo.h</code> and <code>algo.c</code>.
* These algorithms are not part of the library, though - so you have to link them into your project, if needed.
* @par Source
* Original and major parts of the code written by
* <a href="http://www.kyleloudon.com/" target="_blank">Kyle Loudon</a>, in his book "Mastering Algorithms with C", published at <a href="http://shop.oreilly.com/product/9781565924536.do" target="_blank">O'Reilly Company</a>.\n
* Minor adjustments and extensions added by <a href="https://github.com/dale48" target="_blank">Dan Levin</a>.
* @author <a href="http://www.kyleloudon.com/" target="_blank">Kyle Loudon</a> and <a href="https://github.com/dale48" target="_blank">Dan Levin</a>
* @date <b>Tue Apr 07, 2015</b>
* @version 0.51 (<a href="md__change_log.html">To ChangeLog</a>)
* @par Demos
* The demos are trying to test and show most of the public interface of the ADT:s - accordingly:
* - <code>demo01.c</code> - testing/showing Singly-linked List ADT..
* - <code>demo02.c</code> - testing/showing Doubly-linked List ADT..
* - <code>demo03.c</code> - testing/showing Stack and Queue ADT..
* - <code>demo04.c</code> - testing/showing Chained Hash Table ADT..
* - <code>demo05.c</code> - testing/showing Heap and Priority Queue ADT..
* - <code>demo06.c</code> - testing/showing Binary Search Tree ADT..
* - <code>demo07.c</code> - testing/showing AVL Tree ADT..
* - <code>demo08.c</code> - testing/showing Circular, Singly-linked List ADT..
* - <code>demo09.c</code> - testing/showing Set ADT..
* - <code>demo10.c</code> - testing/showing Open-addressed Hash Table ADT..
* - <code>demo11.c</code> - testing/showing basic Graph ADT editing, BFS(Breadth-First-Search) - and DFS(Depth-First-Search)
* - <code>demo12.c</code> - testing/showing <i>interactive</i> Graph editing..
* - <code>demo13.c</code> - testing/showing Graph Algorithms, such as MST(=Minimal Spanning Tree), DSP(=Dijkstra's Shortest Path) and TSP(=Traveling Salesman Path).
* - <code>demo14.c</code> - a <i>more extensive</i> Graph ADT application, using Dijkstra's Shortest Path algorithm.
* A (distance-low-cost) criss-cross flight <a href="eu.pdf" target="_blank">within EU</a>.
* @par Testing
* All demos have been tested on both Windows and Linux. Memory leak detection/tracing was done with Valgrind (Linux).
* @par ToDo
* - Publishing version 1.0 (probably next version uploaded to GitHub..)
* - Adding a function - <code>AVLTREEhard_remove()</code> - which <i>physically</i> removes a node from an AVL Tree. Ok - no performance gain - but a personal coding challenge ;-)
* - Extending and fine-tuning Project Documentation - still some issues to fix here..
* - Fixing some bugs, that probably might turn up. Here I hope for feedback from you - after having tested the library :-)
* .
**/