Overview of Course Java Review 1 This Course Covers, using Java Abstract data types Design, what you want them to do (OOD) Techniques, used in implementation (class) Example: integers, strings, lists, etc Data structures Ways of organizing large quantities of data in computer’s memory Vector lists, linked lists, trees, hash tables Problem solving Solving problems in managing data structures Using data structures to solve real problems 2 THINK BIG: how does Amazon keep track of inventory, customer reviews, suppliers? how does Google keep track of web links? how does Google maps find the shortest route between two cities? how does your email get sorted by name, date, etc? 3 Java Collection Classes PERHAPS ONE OF THE MOST IMPORTANT changes to the Java environment over the past few years has been the introduction of a set of classes informally called the collection classes. This group of classes fills out java.util, bringing many commonly used data structures under one roof. For example, there is a Stack class. Unfortunately, there is no Queue. http://download.oracle.com/javase/tutorial/collections/ 4 Some examples of data structures Arrays, 2D Arrays Vector Lists, Linked Lists Algorithms for processing lists Stacks, Queues Trees 5 An example Array of Readings stored in memory starting at address x 6 A two-dimensional array with four rows and five columns stored in row major order 7 Storing names in memory as a contiguous list vector list) ( 8 Storing names in a linked list 9 Using a stack to print a linked list in reverse order (continue d) 10 Using a stack to print a linked list in reverse order 11 A queue implemented with head and tail pointers 12 A queue “crawling” through memory 13 A circular queue (b) in its conceptual form in which the last cell in the block is “adjacent” to the first cell 14 An example of an organization chart 15 Tree terminology 16 The structure of a node in a binary tree 17 The conceptual and actual organization of a binary tree using a linked storage system 18 What good are all these things? Here are some applications you'll learn about: 19 20 21 22 23 24 25