- Author: National Institute of Standards and Technology (NIST)
- Format: online HTML
- Price: free
This is a dictionary of algorithms, algorithmic techniques, data structures, archetypal problems, and related definitions, presented by the National Institute of Standards and Technology (NIST).Algorithms include common functions, such as Ackermann’s function. Problems include traveling salesman and Byzantine generals. Some entries have links to implementations and more information. Index pages list entries by area and by type.
It does not include algorithms particular to business data processing, communications, operating systems or distributed algorithms, programming languages, AI, graphics, or numerical analysis. They have a hard enough time keeping up with and covering “general” algorithms and data structures.
http://www.nist.gov/dads/
- Author: Wikibooks
- Format: online HTML
- Price: free
This book is about the creation and analysis of efficient data structures and covers:
- the primitive node structure;
- asymptotic notation for mathematically discussing performance characteristics;
- built-in arrays;
- list structures built from either nodes or arrays;
- iterators as an abstract model of enumerating the items in a sequence;
- stacks and queues for computing with last-in/first-out and first-in/first-out orderings;
- binary and general tree structures for searching or representing hierarchical relationships;
- min and max heaps for representing ordering based on priorities;
- graph structures for representing more general relationships between data elements;
- hash tables for the efficient retrieval of strings and other objects; and finally
- trade-offs between the structures, and strategies for picking the most appropriate ones.
To understand the material in this book you should be comfortable enough in a programming language to be able to work with and write your own variables, arithmetic expressions, if-else conditions, loops, subroutines (also known as functions), pointers (also known as references or object handles), structures (also known as records or classes), simple input and output, and simple recursion.
Chapters include:
- Introduction
- Asymptotic Notation
- Arrays
- List Structures and Iterators
- Stacks and Queues
- Trees
- Min and Max Heaps
- Graphs
- Hash Tables
- Sets
- Tradeoffs
http://en.wikibooks.org/wiki/Data_Structures