#### Overview of this book

Explore a new world of data structures and their applications easily with this data structures book. Written by software expert William Smith, you?ll learn how to master basic and advanced data structure concepts. ? Fully understand data structures using Java, C and other common languages ? Work through practical examples and learn real-world applications ? Get to grips with data structure problem solving using case studies
Everyday Data Structures
Credits
www.PacktPub.com
Customer Feedback
Preface
Free Chapter
Data Types: Foundational Structures
Arrays: Foundational Collections
Lists: Linear Collections
Stacks: LIFO Collections
Queues: FIFO Collections
Dictionaries: Keyed Collections
Sets: No Duplicates
Structs: Complex Types
Trees: Non-Linear Structures
Heaps: Ordered Trees
Graphs: Values with Relationships
Sorting: Bringing Order Out Of Chaos
Searching: Finding What You Need

## Visual graph concepts

It is sometimes easier to grasp the concept of graph data structures using visual representations of some collections. Consider the following diagram:

This is a basic graph consisting of eleven nodes and twelve edges. Sets N and E can be described as follows:

N = {2, 3, 4, 5, 9, 11, 19, 38, 52, 77, 97}

E = {2:38, 2:77, 2:97, 3:19, 4:77, 5:2, 5:19, 11:2, 11:4, 11:5, 11:52, 77:9}

Note that, in this example, there are only unidirectional edges between nodes. This is perfectly acceptable, but graphs are much more powerful when bidirectional nodes are permitted. Consider the following example:

This is the same graph we saw earlier, but set E now contains several new reciprocal edges between existing nodes. Sets N and E can now be described as follows:

N = {2, 3, 4, 5, 9, 11, 19, 38, 52, 77, 97}

E = {2:5, 2:38, 2:77, 2:97, 3:19, 4:11, 4:77, 5:2, 5:19, 11:2, 11:4, 11:5, 11:52, 77:9, 97:2}

Finally, edges between nodes can also be defined with a particular value. Consider the following...