Data Structure Libraries

Data Structure Libraries

Data Structure Libraries Data and File Structures Laboratory http://www.isical.ac.in/~dfslab/2018/index.html DFS Lab (ISI) Data Structure Libraries 1 / 7 Options I Sglib http://sglib.sourceforge.net/, http://freshmeat.sourceforge.net/projects/sglib doubly linked lists, hashed containers, RB trees only a single header file Need to use -g3 ? GDSL https://github.com/sjchao/GDSL lists, queues, stacks, hash-tables, BSTs, RB trees, 2D arrays, permutations, heaps, etc. sudo apt-get install gdsl GNULIB data structures module https://www.gnu.org/software/ gnulib/MODULES.html#ansic_ext_container AVL trees, RB trees sudo apt-get install gnulib DFS Lab (ISI) Data Structure Libraries 2 / 7 Options II GNU libavl http://adtinfo.org/ BSTs, AVL trees, RB trees example of literate programming sudo apt-get install libavl1 libavl-dev GLib (Gnome) https://developer.gnome.org/glib/stable/ overkill? BSD queues and trees http://openbsd.su/src/sys/sys/tree.h RB trees, splay trees DFS Lab (ISI) Data Structure Libraries 3 / 7 Options III CDSA https://github.com/MichaelJWelsh/cdsa Collections-C https://github.com/srdja/Collections-C LibDS: A Generic Data Structures Library http://libds.sourceforge.net/ Wayne’s Little Data Structures and Algorithms Library http://www.cs.toronto.edu/~wayne/libwayne/libwayne.html See https://stackoverflow.com/questions/3039513/ type-safe-generic-data-structures-in-plain-old-c for some opinions / discussions. DFS Lab (ISI) Data Structure Libraries 4 / 7 Example: RB trees using GDSL gdsl_rbtree_t gdsl_rbtree_alloc ( const char * NAME, gdsl_alloc_func_t ALLOC_F, gdsl_free_func_t FREE_F, gdsl_compare_func_t COMP_F ); gdsl_element_t gdsl_rbtree_insert ( gdsl_rbtree_t T, void * VALUE, int * RESULT ); gdsl_element_t gdsl_rbtree_remove ( gdsl_rbtree_t T, void * VALUE ); gdsl_element_t gdsl_rbtree_map_infix ( const gdsl_rbtree_t T, gdsl_map_func_t MAP F, void * USER_DATA ); DFS Lab (ISI) Data Structure Libraries 5 / 7 Functions you have to provide typedef gdsl_element_t( * gdsl_alloc_func_t )(void * USER_DATA); typedef void( * gdsl_free_func_t )(gdsl_element_t E); typedef long int( * gdsl_compare_func_t )(const gdsl_element_t E, void * VALUE) typedef int( * gdsl_map_func_t )(const gdsl_element_t E, gdsl_location_t LOCATION, void * USER_DATA) DFS Lab (ISI) Data Structure Libraries 6 / 7 How little I know http://en.wikipedia.org/wiki/List_of_data_structures DFS Lab (ISI) Data Structure Libraries 7 / 7.

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    7 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us