Presentation is loading. Please wait.

Presentation is loading. Please wait.

Queues, Deques, and Priority Queues Chapter 23 Slides by Steve Armstrong LeTourneau University Longview, TX  2007,  Prentice Hall.

Similar presentations


Presentation on theme: "Queues, Deques, and Priority Queues Chapter 23 Slides by Steve Armstrong LeTourneau University Longview, TX  2007,  Prentice Hall."— Presentation transcript:

1 Queues, Deques, and Priority Queues Chapter 23 Slides by Steve Armstrong LeTourneau University Longview, TX  2007,  Prentice Hall

2 Carrano, Data Structures and Abstractions with Java, Second Edition, (c) 2007 Pearson Education, Inc. All rights reserved. 0-13-237045-X Chapter Contents Specifications for the ADT Queue Using a Queue to Simulate a Waiting Line  The Classes WaitLine and Customer Using a Queue to Compute the capital Gain in a Sale of Stock  The Classes StockLedger and StockPurchase Java Class Library: the Interface Queue Specifications of the ADT Deque

3 Carrano, Data Structures and Abstractions with Java, Second Edition, (c) 2007 Pearson Education, Inc. All rights reserved. 0-13-237045-X Chapter Contents Using a Deque to Compute the Capital Gain in a Sale of Stock Specifications of the ADT Priority Queue Using a Priority Queue to Compute the Capital Gain in a Sale of Stock Specifications of the ADT Priority Queue Using a Priority Queue to Track Your Assignments

4 Carrano, Data Structures and Abstractions with Java, Second Edition, (c) 2007 Pearson Education, Inc. All rights reserved. 0-13-237045-X Specifications for the ADT Queue 1 Queue organizes entries according to order of entry  Exhibits first-in, first-out behavior  Contrast to stack which is last-in, first-out All additions are at the back of the queue Front of queue has items added first

5 Carrano, Data Structures and Abstractions with Java, Second Edition, (c) 2007 Pearson Education, Inc. All rights reserved. 0-13-237045-X Specifications for the ADT Queue Fig. 23-1 Some everyday queues.

6 Carrano, Data Structures and Abstractions with Java, Second Edition, (c) 2007 Pearson Education, Inc. All rights reserved. 0-13-237045-X Specifications for the ADT Queue 2 View interface for a queue of objectsView interface Note methods  enqueue (item)add  dequeueremove  getFront(returns item)  isEmpty  clear

7 Carrano, Data Structures and Abstractions with Java, Second Edition, (c) 2007 Pearson Education, Inc. All rights reserved. 0-13-237045-X Specifications for the ADT Queue 4 Fig. 23-2 Queue of strings after (a) enqueue adds Jim; (b) Jess; (c) Jill; (d) Jane;

8 Carrano, Data Structures and Abstractions with Java, Second Edition, (c) 2007 Pearson Education, Inc. All rights reserved. 0-13-237045-X Specifications for the ADT Queue Fig. 23-2 Queue of strings after (e) enqueue adds Joe; (f) dequeue retrieves, removes Jim; (g) enqueue adds Jerry; (h) dequeue retrieves, removes Jess.

9 Carrano, Data Structures and Abstractions with Java, Second Edition, (c) 2007 Pearson Education, Inc. All rights reserved. 0-13-237045-X Using a Queue to Simulate a Waiting Line 5 Fig. 23-3 A line, or queue of people.

10 Carrano, Data Structures and Abstractions with Java, Second Edition, (c) 2007 Pearson Education, Inc. All rights reserved. 0-13-237045-X Classes WaitLine and Customer Fig. 23-4 A CRC card for the class WaitLine.

11 Carrano, Data Structures and Abstractions with Java, Second Edition, (c) 2007 Pearson Education, Inc. All rights reserved. 0-13-237045-X Classes WaitLine and Customer 6 Fig. 23-5 A diagram of the classes WaitLine and Customer.

12 Carrano, Data Structures and Abstractions with Java, Second Edition, (c) 2007 Pearson Education, Inc. All rights reserved. 0-13-237045-X Classes WaitLine and Customer Fig. 23-6 A simulated waiting line … continued →

13 Carrano, Data Structures and Abstractions with Java, Second Edition, (c) 2007 Pearson Education, Inc. All rights reserved. 0-13-237045-X Classes WaitLine and Customer Fig. 23-6 (ctd) A simulated waiting line.

14 Carrano, Data Structures and Abstractions with Java, Second Edition, (c) 2007 Pearson Education, Inc. All rights reserved. 0-13-237045-X The Class Waitline View source codesource code Note methods  Constructor  simulate  displayResults  reset

15 Carrano, Data Structures and Abstractions with Java, Second Edition, (c) 2007 Pearson Education, Inc. All rights reserved. 0-13-237045-X Using a Queue to Compute Capital Gain in a Sale of Stock 10 Must sell stocks in same order they were purchased  Must use the difference in selling price and purchase price to calculate capital gain We use a queue to  Record investment transactions chronologically  Compute capital gain of the stock

16 Carrano, Data Structures and Abstractions with Java, Second Edition, (c) 2007 Pearson Education, Inc. All rights reserved. 0-13-237045-X Classes StockLedger and StockPurchase 11 Fig. 23-7 A CRC card for the class StockLedger

17 Carrano, Data Structures and Abstractions with Java, Second Edition, (c) 2007 Pearson Education, Inc. All rights reserved. 0-13-237045-X Classes StockLedger and StockPurchase Fig. 23-8 A diagram of the class StockLedger and StockPurchase.

18 Carrano, Data Structures and Abstractions with Java, Second Edition, (c) 2007 Pearson Education, Inc. All rights reserved. 0-13-237045-X Classes StockLedger and StockPurchase 12 View source code for class StockLedgersource code Note method  Constructor  buy  sell

19 Carrano, Data Structures and Abstractions with Java, Second Edition, (c) 2007 Pearson Education, Inc. All rights reserved. 0-13-237045-X Classes StockLedger and StockPurchase Fig. 23-9 A queue of (a) individual shares of stock; (b) grouped shares.

20 Carrano, Data Structures and Abstractions with Java, Second Edition, (c) 2007 Pearson Education, Inc. All rights reserved. 0-13-237045-X Java Class Library: The Interface Queue Similar to our QueueInterface  Specifies more methods Methods provided

21 Carrano, Data Structures and Abstractions with Java, Second Edition, (c) 2007 Pearson Education, Inc. All rights reserved. 0-13-237045-X Specifications of the ADT Deque 15 A Double ended queue Has operations that  Add, remove, or retrieve entries  At both its front and back Combines and expands the operations of queue and stack

22 Carrano, Data Structures and Abstractions with Java, Second Edition, (c) 2007 Pearson Education, Inc. All rights reserved. 0-13-237045-X Specifications of the ADT Deque Fig. 23-10 An instance of a deque.

23 Carrano, Data Structures and Abstractions with Java, Second Edition, (c) 2007 Pearson Education, Inc. All rights reserved. 0-13-237045-X Specifications of the ADT Deque A Java interface

24 Carrano, Data Structures and Abstractions with Java, Second Edition, (c) 2007 Pearson Education, Inc. All rights reserved. 0-13-237045-X Specifications of the ADT Deque Fig. 23-11 A comparison of the operations that add, remove, and retrieve the entries of a stack s, queue q, and a deque d ; (a) add;

25 Carrano, Data Structures and Abstractions with Java, Second Edition, (c) 2007 Pearson Education, Inc. All rights reserved. 0-13-237045-X Specifications of the ADT Deque Fig. 23-11 A comparison of the operations that add, remove, and retrieve the entries of a stack s, queue q, and a deque d ; (b) remove;

26 Carrano, Data Structures and Abstractions with Java, Second Edition, (c) 2007 Pearson Education, Inc. All rights reserved. 0-13-237045-X Specifications of the ADT Deque Fig. 23-11 A comparison of the operations that add, remove, and retrieve the entries of a stack s, queue q, and a deque d ; (c) retrieve.

27 Carrano, Data Structures and Abstractions with Java, Second Edition, (c) 2007 Pearson Education, Inc. All rights reserved. 0-13-237045-X Using a Deque to Compute Capital Gain in Sale of Stock 17 Revise the class StockPurchase  Represents purchase of n shares at d dollars per share  Constructor is changed  Accessor methods for new fields added Revise class StockLedger  Method ledger now an instance of a deque  Method buy now creates instance of StockPurchase, places it at back of deque  Method sell also altered Click to view new methods

28 Carrano, Data Structures and Abstractions with Java, Second Edition, (c) 2007 Pearson Education, Inc. All rights reserved. 0-13-237045-X Specifications of the ADT Priority Queue Organizes objects according to priorities  Contrast to regular queue in order of arrival Priority queue example – a hospital ER Priority can be specified by an integer  Must define whether high number is high priority or …  Low number (say 0) is high priority Other objects can specify priority  Object must have a compareTo method

29 Carrano, Data Structures and Abstractions with Java, Second Edition, (c) 2007 Pearson Education, Inc. All rights reserved. 0-13-237045-X Specifications of the ADT Priority Queue Note specification for ADT priority queuespecification Methods specified  add  remove //highest priority  peek //retrieves highest priority  getSize  clear

30 Carrano, Data Structures and Abstractions with Java, Second Edition, (c) 2007 Pearson Education, Inc. All rights reserved. 0-13-237045-X Using Priority Queue to Track Your Assignments 19 Organize class or work assignments by due dates  Early due date, higher priority Figure 23-2 diagram of class Assignment

31 Carrano, Data Structures and Abstractions with Java, Second Edition, (c) 2007 Pearson Education, Inc. All rights reserved. 0-13-237045-X Using Priority Queue to Track Your Assignments Fig. 23-13 A diagram of the class AssignmentLog Note source code of classsource code


Download ppt "Queues, Deques, and Priority Queues Chapter 23 Slides by Steve Armstrong LeTourneau University Longview, TX  2007,  Prentice Hall."

Similar presentations


Ads by Google