Stacks. Stacks. Main stack operations. The ADT Stack stores arbitrary objects. Insertions and deletions follow the last-in first-out (LIFO) principle.
|
|
- Dinah Stewart
- 5 years ago
- Views:
Transcription
1 Stacks 1 Stacks The ADT Stack stores arbitrary objects. Insertions and deletions follow the last-in first-out (LIFO) principle. 2 Main stack operations Insertion and removal are defined by: push(e): inserts an element e. pop(): removes and returns the last inserted element. 3 1
2 Auxiliary stack operations In addition, there are: top(): returns the last inserted element without removing it. size(): returns the number of elements stored. isempty(): indicates whether no elements are stored. 4 Interface Stack In Java, the ADT stack is defined by: public interface Stack<E> { public int size(); public boolean isempty(); public void push(e e); public E top(); public E pop(); 5 Using Stack Example. With a stack, it is easy to reverse an array A of strings: Stack<String> S = new ArrayStack<String>(); for (int i = 0; i < A.length; i++) S.push(A[i]); for (int i = 0; i < A.length; i++) A[i] = S.pop(); 6 2
3 Using Stack Example. With a stack, it is easy to match parentheses of an expression such as {[(a + b)*c] + (d c)*e Declare a stack S. Scan a given expression from left to right. If (, [, { appears, push into S (, [, {, respectively. If ), ], appears, pop the top element from S and match. 7 Using Stack Example. With a stack, it is easy to match parentheses of an expression such as {[(a + b)*c] + (d c)*e Stack<Character> S = new ArrayStack<Character>(); for (int i = 0; i < exp.length(); i++) { if (exp.charat(i) == ( ) S.push( ( ); if (exp.charat(i) == ) ) if ((S.isEmpty()) (S.pop()!= ( )) return false; return (S.isEmpty()); 8 Array-based stacks A very simple way of implementing the ADT Stack. We add elements from left to right. A variable keeps track of the index of the top element. S t 9 3
4 Class ArrayStack public class ArrayStack<E> implements Stack<E> { public static final int CAPACITY = 1000; private E[] data; private int t = -1; public ArrayStack() { this(capacity); public ArrayStack(int capacity) { data = (E[]) new Object[capacity]; 10 Class ArrayStack public class ArrayStack<E> implements Stack<E> { public int size() { return (t + 1); public boolean isempty() { return (t == -1); public void push(e e) throws IllegalStateException { if (size() == data.length) throw new IllegalStateExcepion( Full ); t++; data[t] = e; 11 Class ArrayStack public class ArrayStack<E> implements Stack<E> { public E top() { if (isempty()) return null; return data[t]; public E pop() { if (isempty()) return null; E e = data[t]; t--; return e; 12 4
5 Class LinkedStack public class LinkedStack<E> implements Stack<E> { private SinglyLinkedList<E> list = new SinglyLinkedList(); public LinkedStack() { public int size() { return list.size(); public boolean isempty() { return list.isempty(); public void push(e e) { list.addfirst(e); public E top() { return list.first(); public E pop() { return list.removefirst(); 13 Queues 14 Queues The ADT Queue stores arbitrary objects. Insertion and removal follow the first-in first-out (FIFO) principle. Insertion occurs at the rear of the queue, and removal occurs at the front of the queue. 15 5
6 Applications of queues Waiting lists of all kinds. Managing access to shared resources (e.g., printers). Multiprogramming: allocation of a single system to more than one concurrent application, job or user. A component of another data structure. 16 Main queue operations Insertion and removal are defined by: enqueue(e): inserts an element e at the end of the queue. dequeue(): removes and returns the element at the front of the queue. 17 Auxiliary queue operations In addition, there are: first(): returns the element at the front of the queue without removing it. size(): returns the number of elements stored. isempty(): indicates whether no elements are stored. 18 6
7 Interface Queue In Java, the ADT queue is defined by: public interface Queue<E> { public int size(); public boolean isempty(); public void enqueue(e e); public E first(); public E dequeue(); 19 Array-based queues We use an array in a circular fashion. f refers to the index of the front element. r refers to the index immediately past the rear element for insertion. Q Q A normal configuration f r A wrapped-around configuration r f 20 Class ArrayQueue public class ArrayQueue<E> implements Queue<E> { public static final int CAPACITY = 1000; private E[] data; private int f = 0; private int sz = 0; public ArrayQueue() { this(capacity); public ArrayQueue(int capacity) { data = (E[]) new Object[capacity]; 21 7
8 Class ArrayQueue public class ArrayQueue<E> implements Queue<E> { public int size() { return sz; public boolean isempty() { return (sz == 0); public void enqueue(e e) throws IllegalStateException { if (size() == data.length) throw new IllegalStateExcepion( Full ); int r = (f + sz) % data.length; data[r] = e; sz++; 22 Class ArrayQueue public class ArrayQueue<E> implements Queue<E> { public E first() { if (isempty()) return null; return data[f]; public E dequeue() { if (isempty()) return null; E e = data[f]; f = (f + 1) % data.length; sz--; return e; 23 Class LinkedQueue public class LinkedQueue<E> implements Queue<E> { private SinglyLinkedList<E> list = new SinglyLinkedList(); public LinkedQueue() { public int size() { return list.size(); public boolean isempty() { return list.isempty(); public void enqueue(e e) { list.addlast(e); public E first() { return list.first(); public E dequeue() { return list.removefirst(); 24 8
Stacks and Queues. EECS2030: Advanced Object Oriented Programming Fall 2017 CHEN-WEI WANG
Stacks and Queues EECS2030: Advanced Object Oriented Programming Fall 2017 CHEN-WEI WANG What is a Stack? A stack is a collection of objects. Objects in a stack are inserted and removed according to the
More informationCSE Data Structures and Algorithms... In Java! Stacks. CSE2100 DS & Algorithms 1
CSE 2100 Data Structures and Algorithms... In Java Stacks 1 What is Stack A stack is a collection of objects that are inserted and removed according to the last-in, first-out (LIFO) principle. Internet
More informationThe Stack ADT. Stacks and Queues. Stack: Illustration. What is a Stack? Accessors top size isempty
The Stack ADT Stacks and Queues ADT Data Structure Interface add() remove() find() request result EECS200: Advanced Object Oriented Programming Fall 2017 CHEN-WEI WANG Accessors top Mutators push pop of
More informationStacks Goodrich, Tamassia, Goldwasser Stacks
Presentation for use with the textbook Data Structures and Algorithms in Java, 6 th edition, by M. T. Goodrich, R. Tamassia, and M. H. Goldwasser, Wiley, 2014 Stacks Stacks 1 The Stack ADT The Stack ADT
More informationAbstract Data Types. Abstract Data Types
Abstract Data Types Wolfgang Schreiner Research Institute for Symbolic Computation (RISC) Johannes Kepler University, Linz, Austria Wolfgang.Schreiner@risc.jku.at http://www.risc.jku.at Wolfgang Schreiner
More informationStacks (5.1) Abstract Data Types (ADTs) CSE 2011 Winter 2011
Stacks (5.1) CSE 2011 Winter 2011 26 January 2011 1 Abstract Data Types (ADTs) An abstract data type (ADT) is an abstraction of a data structure An ADT specifies: Data stored Operations on the data Error
More informationcsci 210: Data Structures Stacks and Queues
csci 210: Data Structures Stacks and Queues 1 Summary Topics Stacks and Queues as abstract data types ( ADT) Implementations arrays linked lists Analysis and comparison Applications: searching with stacks
More informationCOMP250: Stacks. Jérôme Waldispühl School of Computer Science McGill University. Based on slides from (Goodrich & Tamassia, 2004)
COMP250: Stacks Jérôme Waldispühl School of Computer Science McGill University Based on slides from (Goodrich & Tamassia, 2004) 2004 Goodrich, Tamassia The Stack ADT A Stack ADT is a list that allows only
More informationITI Introduction to Computing II
ITI 1121. Introduction to Computing II Queues ArrayQueue Marcel Turcotte School of Electrical Engineering and Computer Science Version of March 10, 2014 Abstract These lecture notes are meant to be looked
More informationQueues Fall 2018 Margaret Reid-Miller
Queues 15-121 Fall 2018 Margaret Reid-Miller Today Exam 2 is next Tuesday, October 30 Writing methods various classes that implement Lists. Methods using Lists and Big-O w/ ArrayList or LinkedLists Prove
More informationCMSC 132, Object-Oriented Programming II Summer Lecture 9:
CMSC 132, Object-Oriented Programming II Summer 2018 Lecturer: Anwar Mamat Lecture 9: Disclaimer: These notes may be distributed outside this class only with the permission of the Instructor. 9.1 QUEUE
More informationBasic Data Structures
Basic Data Structures Some Java Preliminaries Generics (aka parametrized types) is a Java mechanism that enables the implementation of collection ADTs that can store any type of data Stack s1
More informationCH ALGORITHM ANALYSIS CH6. STACKS, QUEUES, AND DEQUES
CH4.2-4.3. ALGORITHM ANALYSIS CH6. STACKS, QUEUES, AND DEQUES ACKNOWLEDGEMENT: THESE SLIDES ARE ADAPTED FROM SLIDES PROVIDED WITH DATA STRUCTURES AND ALGORITHMS IN JAVA, GOODRICH, TAMASSIA AND GOLDWASSER
More information1/18/12. Chapter 5: Stacks, Queues and Deques. Stacks. Outline and Reading. Nancy Amato Parasol Lab, Dept. CSE, Texas A&M University
Chapter 5: Stacks, ueues and Deques Nancy Amato Parasol Lab, Dept. CSE, Texas A&M University Acknowledgement: These slides are adapted from slides provided with Data Structures and Algorithms in C++, Goodrich,
More informationBasic Data Structures 1 / 24
Basic Data Structures 1 / 24 Outline 1 Some Java Preliminaries 2 Linked Lists 3 Bags 4 Queues 5 Stacks 6 Performance Characteristics 2 / 24 Some Java Preliminaries Generics (aka parametrized types) is
More informationCSE 143 SAMPLE MIDTERM
CSE 143 SAMPLE MIDTERM 1. (5 points) In some methods, you wrote code to check if a certain precondition was held. If the precondition did not hold, then you threw an exception. This leads to robust code
More informationCMSC 132: Object-Oriented Programming II. Stack and Queue
CMSC 132: Object-Oriented Programming II Stack and Queue 1 Stack Allows access to only the last item inserted. An item is inserted or removed from the stack from one end called the top of the stack. This
More informationCT 229 Object-Oriented Programming Continued
CT 229 Object-Oriented Programming Continued 24/11/2006 CT229 Summary - Inheritance Inheritance is the ability of a class to use the attributes and methods of another class while adding its own functionality
More informationIntroduction to Computing II (ITI 1121) Final Examination
Introduction to Computing II (ITI 1121) Final Examination Instructor: Marcel Turcotte April 2010, duration: 3 hours Identification Student name: Student number: Signature: Instructions 1. 2. 3. 4. 5. 6.
More informationC Sc 127B Practice Test 2 Section Leader Your Name 100pts
C Sc 127B Practice Test 2 Section Leader Your Name 100pts Assume we have two collection class named Stack and Queue that have the appropriate messages: Stack public boolean isempty(); public void push(e
More informationLecture 3 Linear Data Structures
Lecture 3 Linear Data Structures - 1 - Learning Outcomes Based on this lecture, you should: Know the basic linear data structures Be able to express each as an Abstract Data Type (ADT) Be able to specify
More informationStacks and Queues
Stacks and Queues 2-25-2009 1 Opening Discussion Let's look at solutions to the interclass problem. Do you have any questions about the reading? Do you have any questions about the assignment? Minute Essays
More informationADT Stack. Inserting and deleting elements occurs at the top of Stack S. top. bottom. Stack S
Stacks Stacks & Queues A linear sequence, or list, is an ordered collection of elements: S = (s 1, s 2,..., s n ) Stacks and queues are finite linear sequences. A Stack is a LIFO (Last In First Out) list.
More informationWentworth Institute of Technology COMP201 Computer Science II Spring 2015 Derbinsky. Stacks and Queues. Lecture 11.
Lecture 11 1 More Data Structures In this lecture we will use a linked list to implement two abstract data types (ADT) An ADT provides the interface, or what a data structure does We can then use code
More informationLecture 3 Linear Data Structures
Lecture 3 Linear Data Structures - 1 - Learning Outcomes Based on this lecture, you should: Know the basic linear data structures Be able to express each as an Abstract Data Type (ADT) Be able to specify
More informationCSE 143 SAMPLE MIDTERM SOLUTION
CSE 143 SAMPLE MIDTERM SOLUTION 1. (5 points) In some methods, you wrote code to check if a certain precondition was held. If the precondition did not hold, then you threw an exception. This leads to robust
More information1.00 Lecture 26. Data Structures: Introduction Stacks. Reading for next time: Big Java: Data Structures
1.00 Lecture 26 Data Structures: Introduction Stacks Reading for next time: Big Java: 19.1-19.3 Data Structures Set of primitives used in algorithms, simulations, operating systems, applications to: Store
More informationLecture 2: Stacks and Queues
Lecture 2: Stacks and Queues CSE 373: Data Structures and Algorithms CSE 373 19 WI - KASEY CHAMPION 1 Warm Up 1. Grab a worksheet 2. Introduce yourself to your neighbors J 3. Discuss the answers 4. Log
More informationData Abstraction and Specification of ADTs
CITS2200 Data Structures and Algorithms Topic 4 Data Abstraction and Specification of ADTs Example The Reversal Problem and a non-adt solution Data abstraction Specifying ADTs Interfaces javadoc documentation
More informationStacks. Lecture6: Stacks. Stack Operations. Stack Interface in Java
Stacks (01F) Lecture6: Stacks What is stack? An abstract data type storing arbitrary objects. An ordered list in which all insertions and deletions are made at one end, called top Push Pop Top Bohyung
More informationLecture 3 Linear Data Structures: Arrays, Array Lists, Stacks, Queues and Linked Lists
Lecture 3 Linear Data Structures: Arrays, Array Lists, Stacks, Queues and Linked Lists Chapters 3.1-3.3, 5.1-5.2, 6.1-1 - Core Collection Interfaces - 2 - The Java Collections Framework Interface Abstract
More informationCSE 373 Data Structures and Algorithms. Lecture 2: Queues
CSE 373 Data Structures and Algorithms Lecture 2: Queues Queue ADT queue: A list with the restriction that insertions are done at one end and deletions are done at the other First-In, First-Out ("FIFO
More informationQueues COL 106. Slides by Amit Kumar, Shweta Agrawal
Queues COL 106 Slides by Amit Kumar, Shweta Agrawal The Queue ADT The Queue ADT stores arbitrary objects Insertions and deletions follow the first-in first-out (FIFO) scheme Insertions are at the rear
More informationQueues. Virtuelle Fachhochschule. Prof. Dr. Debora Weber-Wulff
Queues Virtuelle Fachhochschule Prof. Dr. Debora Weber-Wulff!1 Queues First In, First Out Well-known in socialist society Operations enqueue join the back of the line dequeue remove from the front of the
More informationChapter 18: Stacks And Queues
Chapter 18: Stacks And Queues 18.1 Introduction to the Stack ADT Introduction to the Stack ADT Stack: a LIFO (last in, first out) data structure Examples: plates in a cafeteria return addresses for function
More informationLIFO : Last In First Out
Introduction Stack is an ordered list in which all insertions and deletions are made at one end, called the top. Stack is a data structure that is particularly useful in applications involving reversing.
More informationOutline and Reading. The Stack ADT ( 2.1.1) Applications of Stacks ( 2.1.1) Array-based implementation ( 2.1.1) Growable array-based stack ( 1.
Stacks Outline and Reading The Stack ADT ( 2.1.1) Applications of Stacks ( 2.1.1) Array-based implementation ( 2.1.1) Growable array-based stack ( 1.5) Stacks 2 Abstract Data Types (ADTs) An abstract data
More informationAnnouncements Queues. Queues
Announcements. Queues Queues A queue is consistent with the general concept of a waiting line to buy movie tickets a request to print a document crawling the web to retrieve documents A queue is a linear
More informationQueues. Data structures that wait their turn. queues 1
Queues Data structures that wait their turn queues 1 Queue characteristics FIFO: first in, first out insertion of items occurs at one end, removal occurs at the other end first item inserted is the first
More informationChapter 18: Stacks And Queues. Pearson Education, Inc. Publishing as Pearson Addison-Wesley
Chapter 18: Stacks And Queues Copyright 2009 Pearson Education, Inc. Copyright Publishing as Pearson 2009 Addison-Wesley Pearson Education, Inc. Publishing as Pearson Addison-Wesley 18.1 Introduction to
More informationInsertions and removals follow the Fist-In First-Out rule: Insertions: at the rear of the queue Removals: at the front of the queue
Queues CSE 2011 Fall 2009 9/28/2009 7:56 AM 1 Queues: FIFO Insertions and removals follow the Fist-In First-Out rule: Insertions: at the rear of the queue Removals: at the front of the queue Applications,
More informationChapter 2. Stack & Queues. M hiwa ahmad aziz
. Chapter 2 Stack & Queues www.raparinweb.com M hiwa ahmad aziz 1 Stack A stack structure with a series of data elements that Allows access to only the last item inserted. An item is inserted or removed
More informationCMP Points Total Midterm Spring Version (16 Points) Multiple Choice:
CMP-338 106 Points Total Midterm Spring 2017 Version 1 Instructions Write your name and version number on the top of the yellow paper. Answer all questions on the yellow paper. One question per page. Use
More informationFoundations of Data Structures
Foundations of Data Structures Lecture 4 Elementary Abstract Data Types (ADT): Stack Queue 1 Abstract Data Types (ADTs) An abstract data type (ADT) is an abstraction of a data structure An ADT specifies:
More informationChapter 18: Stacks And Queues
Chapter 18: Stacks And Queues 18.1 Introduction to the Stack ADT Introduction to the Stack ADT Stack a LIFO (last in, first out) data structure Examples plates in a cafeteria return addresses for function
More informationCS6202 - PROGRAMMING & DATA STRUCTURES I Unit IV Part - A 1. Define Stack. A stack is an ordered list in which all insertions and deletions are made at one end, called the top. It is an abstract data type
More informationHOWDY! WELCOME TO CSCE 221 DATA STRUCTURES AND ALGORITHMS
HOWDY! WELCOME TO CSCE 221 DATA STRUCTURES AND ALGORITHMS SYLLABUS ABSTRACT DATA TYPES (ADTS) An abstract data type (ADT) is an abstraction of a data structure An ADT specifies: Data stored Operations
More informationJAVA NOTES DATA STRUCTURES AND ALGORITHMS
79 JAVA NOTES DATA STRUCTURES AND ALGORITHMS Terry Marris July 2001 11 QUEUE IMPLEMENTATION - ARRAYS 11.1 LEARNING OUTCOMES By the end of this lesson the student should be able to describe how an array
More informationA queue is a linear collection whose elements are added on one end and removed from the other
A queue is consistent with the general concept of a waiting line to buy movie tickets a request to print a document crawling the web to retrieve documents Adding an element Removing an element A queue
More informationData structure and algorithm in Python
Data structure and algorithm in Python Stacks, Queues and Deques Xiaoping Zhang School of Mathematics and Statistics, Wuhan University Table of contents 1. Stacks 2. Queue 3. Double-Ended Queues 1 Stacks
More informationBuilding Java Programs
Building Java Programs Appendix Q Lecture Q-1: stacks and queues reading: appendix Q 2 Runtime Efficiency (13.2) efficiency: measure of computing resources used by code. can be relative to speed (time),
More informationNo Aids Allowed. Do not turn this page until you have received the signal to start.
CSC 148H Midterm Fall 2007 St. George Campus Duration 50 minutes Student Number: Family Name: Given Name: No Aids Allowed. Do not turn this page until you have received the signal to start. # 1: /10 #
More information/** * finds the index of v in a if present * * * * */ public static int findinsortedarray(int[] a, int v) {...
1 2 /** * finds the index of v in a if present * * @pre??? * * @post??? * * */ public static int findinsortedarray(int[] a, int v) {... } 3 /** * finds the index of v in a if present * * @pre a[i] < a[i+1]
More informationStack ADT. ! push(x) puts the element x on top of the stack! pop removes the topmost element from the stack.
STACK Stack ADT 2 A stack is an abstract data type based on the list data model All operations are performed at one end of the list called the top of the stack (TOS) LIFO (for last-in first-out) list is
More informationQueues. Stacks and Queues
Queues Reading: RS Chapter 14 Slides are modified from those provided by Marty Stepp www.buildingjavaprograms.com 1 Stacks and Queues Sometimes a less powerful, but highly optimized collection is useful.
More informationLecture 3 Linear Data Structures
Lecture 3 Linear Data Structures Chapters 3.1-3.3, 5.1-5.2, 6.1-1 - Outline Our goal in this lecture is to Review the basic linear data structures Demonstrate how each can be defined as an Abstract Data
More informationOutline and Reading. The Stack ADT ( 4.2.1) Applications of Stacks ( 4.2.3) Array-based implementation ( 4.2.2) Growable array-based stack.
Stacks Outline and Reading The Stack ADT ( 4.2.1) Applications of Stacks ( 4.2.3) Array-based implementation ( 4.2.2) Growable array-based stack Stacks 2 Abstract Data Types (ADTs) An abstract data type
More informationGenerics in Java. EECS2030: Advanced Object Oriented Programming Fall 2017 CHEN-WEI WANG
Generics in Java EECS2030: Advanced Object Oriented Programming Fall 2017 CHEN-WEI WANG Motivating Example: A Book of Objects 1 class Book { 2 String[] names; 3 Object[] records; 4 /* add a name-record
More informationMotivating Example: Observations (1) Generics in Java. Motivating Example: A Book of Objects. Motivating Example: Observations (2)
Motivating Example: Observations (1) Generics in Java EECS2030: Advanced Object Oriented Programming Fall 2017 CHEN-WEI WANG In the Book class: By declaring the attribute Object[] records We meant that
More informationC Sc 227 Practice Test 2 Section Leader Your Name 100pts. a. 1D array b. PriorityList<E> c. ArrayPriorityList<E>
C Sc 227 Practice Test 2 Section Leader Your Name 100pts 1. Approximately how many lectures remain in C Sc 227 (give or take 2)? (2pts) 2. Determine the tightest upper bound runtimes of the following loops.
More informationData Structures G5029
Data Structures G5029 Lecture 2 Kingsley Sage Room 5C16, Pevensey III khs20@sussex.ac.uk University of Sussex 2006 Lecture 2 Stacks The usual analogy is the stack of plates. A way of buffering a stream
More informationProgramming Abstractions
Programming Abstractions C S 1 0 6 B Cynthia Lee Today s Topics ADTs Stack Example: Reverse-Polish Notation calculator Queue Example: Mouse Events Stacks New ADT: Stack stack.h template
More informationCPSC 221: Algorithms and Data Structures Lecture #1: Stacks and Queues
CPSC 221: Algorithms and Data Structures Lecture #1: Stacks and Queues Alan J. Hu (Slides borrowed from Steve Wolfman) Be sure to check course webpage! http://www.ugrad.cs.ubc.ca/~cs221 1 Lab 1 is available.
More informationData Structures Lecture 5
Fall 2017 Fang Yu Software Security Lab. Dept. Management Information Systems, National Chengchi University Data Structures Lecture 5 Announcement Project Proposal due on Nov. 9 Remember to bring a hardcopy
More informationLists, Stacks, and Queues
Unit 8, Part 2 Lists, Stacks, and Queues Computer Science S-111 Harvard University David G. Sullivan, Ph.D. Representing a Sequence: Arrays vs. Linked Lists Sequence an ordered collection of items (position
More informationCSC 273 Data Structures
CSC 273 Data Structures Lecture 3- Stacks Some familiar stacks What is a stack? Add item on top of stack Remove item that is topmost Last In, First Out LIFO Specifications of the ADT Stack Specifications
More informationData Structure. Recitation VII
Data Structure Recitation VII Recursion: Stack trace Queue Topic animation Trace Recursive factorial Executes factorial(4) Step 9: return 24 Step 8: return 6 factorial(4) Step 0: executes factorial(4)
More informationCPSC 221: Algorithms and Data Structures ADTs, Stacks, and Queues
CPSC 221: Algorithms and Data Structures ADTs, Stacks, and Queues Alan J. Hu (Slides borrowed from Steve Wolfman) Be sure to check course webpage! http://www.ugrad.cs.ubc.ca/~cs221 1 Lab 1 available very
More informationCOE 312 Data Structures. Welcome to Exam II Monday November 23, Instructor: Dr. Wissam F. Fawaz
1 COE 312 Data Structures Welcome to Exam II Monday November 23, 2016 Instructor: Dr. Wissam F. Fawaz Name: Student ID: Instructions: 1. This exam is Closed Book. Please do not forget to write your name
More informationCOMP9024: Data Structures and Algorithms
COMP9024: Data Structures and Algorithms Week Four: Stacks and Queues Hui Wu Session 2, 2015 http://www.cse.unsw.edu.au/~cs9024 1 Outline Stacks Queues 2 Stacks 3 Abstract Data Types (ADTs) An abstract
More informationStacks and Queues. David Greenstein Monta Vista
Stacks and Queues David Greenstein Monta Vista Stack vs Queue Stacks and queues are used for temporary storage, but in different situations Stacks are Used for handling nested structures: processing directories
More informationCSE 143. Lecture 4: Stacks and Queues
CSE 143 Lecture 4: Stacks and Queues Stacks and queues Sometimes it is good to have a collection that is less powerful, but is optimized to perform certain operations very quickly. Today we will examine
More informationStacks and Queues. Introduction to abstract data types (ADTs) Stack ADT. Queue ADT. Time permitting: additional Comparator example
Stacks and Queues Introduction to abstract data types (ADTs) Stack ADT applications interface for Java Stack ex use: reverse a sequence of values Queue ADT applications interface for Java Queue Time permitting:
More informationData Structures And Algorithms
Data Structures And Algorithms Stacks Eng. Anis Nazer First Semester 2017-2018 Stack An Abstract data type (ADT) Accessed only on one end Similar to a stack of dishes you can add/remove on top of stack
More informationCS350: Data Structures Stacks
Stacks James Moscola Department of Engineering & Computer Science York College of Pennsylvania James Moscola Stacks Stacks are a very common data structure that can be used for a variety of data storage
More informationDataStruct 5. Stacks, Queues, and Deques
2013-2 DataStruct 5. Stacks, Queues, and Deques Michael T. Goodrich, et. al, Data Structures and Algorithms in C++, 2 nd Ed., John Wiley & Sons, Inc., 2011. October 30, 2013 Advanced Networking Technology
More informationLists, Stacks, and Queues
Lists, Stacks, and Queues Computer Science E-119 Harvard Extension School Fall 2012 David G. Sullivan, Ph.D. Representing a Sequence: Arrays vs. Linked Lists Sequence an ordered collection of items (position
More information16-Dec-10. Collections & Data Structures ABSTRACTION VS. IMPLEMENTATION. Abstraction vs. Implementation
Collections & Data Structures Boaz Kantor Introduction to Computer Science IDC Herzliya ABSTRACTION VS. IMPLEMENTATION 2 Abstraction vs. Implementation Data structures provide both abstraction and implementation.
More informationStacks Goodrich, Tamassia Stacks
Stacks Stacks 1 Abstract Data Types (ADTs) An abstract data type (ADT) is an abstraction of a data structure An ADT specifies: Data stored Operations on the data Error conditions associated with operations
More informationCMPSCI 187: Programming With Data Structures. Lecture 12: Implementing Stacks With Linked Lists 5 October 2011
CMPSCI 187: Programming With Data Structures Lecture 12: Implementing Stacks With Linked Lists 5 October 2011 Implementing Stacks With Linked Lists Overview: The LinkedStack Class from L&C The Fields and
More informationStacks. The unorganized person s data structure. stacks 1
Stacks The unorganized person s data structure stacks 1 Stack characteristics Entries are ordered in terms of access -- both insertion and removal take place at same spot (top of stack) Specialized type
More informationInterfaces & Generics
Interfaces & Generics CSC207 Winter 2018 The Programming Interface The "user" for almost all code is a programmer. That user wants to know:... what kinds of object your class represents... what actions
More informationdata structures and algorithms lecture 6
data structures and algorithms 2017 09 21 lecture 6 overview lower bound counting sort radix sort stacks queues material question we have seen for example insertion sort: worst-case in O(n 2 ) merge sort:
More informationCMSC Introduction to Algorithms Spring 2012 Lecture 7
CMSC 351 - Introduction to Algorithms Spring 2012 Lecture 7 Instructor: MohammadTaghi Hajiaghayi Scribe: Rajesh Chitnis 1 Introduction In this lecture we give an introduction to Data Structures like arrays,
More information1/22/13. Queue? CS 200 Algorithms and Data Structures. Implementing Queue Comparison implementations. Photo by David Jump 9. Colorado State University
//3 Part Queues CS Algorithms and Data Structures Outline Queue? Implementing Queue Comparison implementations 8 Photo by David Jump 9 //3 "Grill the Buffs" event Queue A queue is like a line of people
More information1/22/13. Queue. Create an empty queue Determine whether a queue is empty Add a new item to the queue
Outline Part Queues Queue? Implementing Queue Comparison implementations CS Algorithms and Data Structures 8 "Grill the Buffs" event Photo by David Jump 9 Queue A queue is like a line of people New item
More informationAdam Blank Lecture 5 Winter 2015 CSE 143. Computer Programming II
Adam Blank Lecture 5 Winter 2015 CSE 143 Computer Programming II CSE 143: Computer Programming II Stacks & Queues Questions From Last Time 1 Can we include implementation details in the inside comments
More informationStacks Goodrich, Tamassia
Stacks Abstract Data Types (ADTs) An abstract data type (ADT) is an abstraction of a data structure An ADT specifies: Data stored Operations on the data Error conditions associated with operations Example:
More information1 P age DS & OOPS / UNIT II
UNIT II Stacks: Definition operations - applications of stack. Queues: Definition - operations Priority queues - De que Applications of queue. Linked List: Singly Linked List, Doubly Linked List, Circular
More informationQueue? Part 4. Queues. Photo by David Jump. Create an empty queue Items leave a queue from its front.
/3/ Outline Queue? Part Queues Implementing Queue Comparison implementations CS Algorithms and Data Structures "Grill the Buffs" event 9/ 3 Photo by David Jump Queue OperaLons A queue is like a line of
More informationCS 231 Data Structures and Algorithms Fall DDL & Queue Lecture 20 October 22, Prof. Zadia Codabux
CS 231 Data Structures and Algorithms Fall 2018 DDL & Queue Lecture 20 October 22, 2018 Prof. Zadia Codabux 1 Agenda Mid Semester Analysis Doubly Linked List Queue 2 Administrative None 3 Doubly Linked
More informationQueues. Data Structures and Design with Java and JUnit Rick Mercer 18-1
Queues Data Structures and Design with Java and JUnit Rick Mercer 18-1 A Queue ADT First in first out access A Queue is another name for waiting line Example: Submit jobs to a network printer What gets
More informationMore Data Structures (Part 1) Stacks
More Data Structures (Part 1) Stacks 1 Stack examples of stacks 2 Top of Stack top of the stack 3 Stack Operations classically, stacks only support two operations 1. push 2. pop add to the top of the stack
More informationCSC 1052 Algorithms & Data Structures II: Queues
CSC 1052 Algorithms & Data Structures II: Queues Professor Henry Carter Spring 2018 Recap Recursion solves problems by solving smaller version of the same problem Three components Applicable in a range
More information.:: UNIT 4 ::. STACK AND QUEUE
.:: UNIT 4 ::. STACK AND QUEUE 4.1 A stack is a data structure that supports: Push(x) Insert x to the top element in stack Pop Remove the top item from stack A stack is collection of data item arrange
More informationQueue rear tail front head FIFO
The Queue ADT Objectives Examine queue processing Define a queue abstract data type Demonstrate how a queue can be used to solve problems Examine various queue implementations Compare queue implementations
More informationNo Aids Allowed. Do not turn this page until you have received the signal to start.
CSC 148H Midterm Fall 2007 St. George Campus Duration 50 minutes Student Number: Family Name: Given Name: No Aids Allowed. Do not turn this page until you have received the signal to start. # 1: /10 #
More informationStacks. Chapter 5. Copyright 2012 by Pearson Education, Inc. All rights reserved
Stacks Chapter 5 Copyright 2012 by Pearson Education, Inc. All rights reserved Contents Specifications of the ADT Stack Using a Stack to Process Algebraic Expressions A Problem Solved: Checking for Balanced
More informationStacks and Queues. CSE 373 Data Structures Lecture 6
Stacks and Queues CSE 373 Data Structures Lecture 6 Readings and References Reading Sections 3.3 and 3.4 10/11/02 Stacks and Queues - Lecture 6 2 Stacks A list for which Insert and Delete are allowed only
More informationLecture 3: Stacks & Queues
Lecture 3: Stacks & Queues Prakash Gautam https://prakashgautam.com.np/dipit02/ info@prakashgautam.com.np 22 March, 2018 Objectives Definition: Stacks & Queues Operations of Stack & Queues Implementation
More information