"linked lists,introduces linked listsincluding doubly linked lists and double-ended lists the use of references as "painless pointersin java is explained workshop applet shows how insertionsearchingand deletion are carried out in "recursion,we explore recursionone of the few topics that is not data structure many examples of recursion are givenincluding the towers of hanoi puzzle and the mergesortwhich are demonstrated by workshop applets "advanced sorting,delves into some advanced sorting techniquesshellsort and quicksort workshop applets demonstrate shellsortpartitioning (the basis of quicksort)and two flavors of quicksort in "binary trees,we begin our exploration of trees this covers the simplest popular tree structureunbalanced binary search trees workshop applet demonstrates insertiondeletionand traversal of such trees "red-black trees,explains red-black treesone of the most efficient balanced trees the workshop applet demonstrates the rotations and color switches necessary to balance the tree in trees and external storage,we cover trees as an example of multiway trees workshop applet shows how they work we also discuss - trees and the relationship of trees to -treeswhich are useful in storing external (diskfiles "hash tables,moves into new fieldhash tables workshop applets demonstrate several approacheslinear and quadratic probingdouble hashingand separate chaining the hash-table approach to organizing external files is discussed in "heaps,we discuss the heapa specialized tree used as an efficient implementation of priority queue "graphs,and "weighted graphs,deal with graphsthe first with unweighted graphs and simple searching algorithmsand the second with weighted graphs and more complex algorithms involving the minimum spanning trees and shortest paths in "when to use what,we summarize the various data structures described in earlier with special attention to which structure is appropriate in given situation appendix "running the workshop applets and example programs,provides details on how to use these two kinds of software it also tells how to use the software development kit from sun microsystemswhich can be used to modify the example programs and develop your own programsand to run the applets and example programs