if (Q.head = Q.tail + 1) or (Q.head = 1 and Q.tail = Q.length) then throw F ullqueueexception if (Q.head = Q.tail) then throw EmptyQueueException
|
|
- Adam Griffith
- 6 years ago
- Views:
Transcription
1 data structures en algorithms exercise class 7: some answers Goal Understanding of the linear data structures stacks, queues, linked lists. Understanding of linked representations of (mainly binary) trees, and tree traversals. Material Book 10.1, 10.2, 10.4 and the slides of lecture 7. Exercises 1. Adapt the procedures enqueue and dequeue from the book such that they also deal with overflow and underflow. (Indication.) For enqueue, add if (Q.head = Q.tail + 1) or (Q.head = 1 and Q.tail = Q.length) then throw F ullqueueexception For dequeue, add if (Q.head = Q.tail) then throw EmptyQueueException 2. Provide pseudo-code descriptions for the operations size(q), isempty(q), and head(q) of the abstract data type for queues. We assume n = Q.length to be the size of the array. 1
2 Algorithm size(q): if Q.head = Q.tail then return 0 if Q.head < Q.tail then return Q.tail Q.head if Q.tail < Q.head then return n Q.head + Q.tail Algorithm isempty(q): return Q.head = Q.tail Algorithm head(q): return Q[Q.head] 3. Assume given two stacks, both with operations push and pop in O(1). Give in this setting an efficient implementation of a queue with operations enqueue and dequeue. Analyze the running time of the queue operations in terms of O. We assume two stacks S 1 and S 2 with operations push and pop in O(1). We implement the operation enqueue of a queue Q as follows: Algorithm enqueue(q, e): push(s 1, e) This operation is in O(1). Idea for dequeue: If S 2 non-empty, then pop from S 2. If S 2 empty, then pop every element from S 1 and push on S 2 ; next pop from S 2. The following is pseudo-code for dequeue of a queue Q: Algorithm dequeue(q): if isempty(s 2) then while not isempty(s 1) do push(s 2, pop(s 1)) return pop(s 2) 2
3 This operation is in O(1) on average. Every element which is added and removed enters and leaves (once) S 1, and enters and leaves (once) S Assume given two queues, both with operations enqueue and dequeue in O(1). Give in this setting an implementation of a stack with operations push and pop. Analyze the running time of the stack operations in terms of O. We assume two queues Q 1 and Q 2 with operations enqueue and dequeue in O(1). We implement the operation push as follows: Algorithm push(s, e): enqueue(q 1, e) This operation is in O(1). Idea for pop: If Q 1 non-empty, then dequeue every non-head element of Q 1, and enqueue them on Q 2 ; next dequeue from Q 1. If Q 1 empty, then dequeue every non-head element from Q 2, and enqueue them on Q 1 ; next dequeue Q 2. Pseudo-code for pop: Algorithm pop(s): x := dequeue(q 1) while not isempty(q 1) do enqueue(q 2, x) x := dequeue(q 1) while not isempty(q 2) do enqueue(q 1, dequeue(q 2)) return x This operation is in O(n). 5. Provide pseudo-code descriptions for the operation insertfirst on singly linked lists, and on doubly linked lists. The operation insertfirst gets as input a list and a key, and adds a node with the input-key at the beginning of the input-list. Give the worst-case time complexity of your operations in terms of O. 3
4 We consider the implementation of singly linked lists. Algorithm insertfirst(l, k): new Node x x.key := k x.next := L.head L.head := x The worst-case time complexity of this method is in O(1), because we perform in every line an operation in constant time. The (worst-case) time complexity does not depend on the size of the input. Now for doubly-linked lists: Algorithm insertfirst(l, k, ): new Node x x.key := k x.next := L.head if L.head nil then L.head.prev := x L.head := x x.prev := nil This algorithm is in O(1). 6. In the setting of doubly linked lists, give pseudo-code for the operation insertafter that takes as input a list, a first key, and a second key. If a node n with the first key is present in the list, then it inserts a new node with the second key directly after node n. What is reasonable to specify what should be done in case the first key is not present in the input-list? Analyze your operation in terms of O. 4
5 Algorithm insertafter(l, k, l): x := L.head while x nil and x.key k do x := x.next if x nil then new Node u u.key := l u.next := x.next u.prev := x x.next.prev := u x.next := u Here we do not change the input-list L in case the key k is not present in L. Another option is to insert in that case a node with key l as first node in the list. The worst-case running time of the procedure is in O(n). 7. Give a non-recursive procedure in O(n) that reverses a singly linked list of n elements. The procedure should use no more than constant storage space beyond the space needed for the list itself. (Is your procedure also in Θ(n)?) 5
6 Algorithm reverse(l): first := L.first if first = null or first.next = nil then else return L second := first.next third := second.next second.next := first first.next := nil L.last := first current := third previous := second while not current = nil do next := current.next current.next := previous previous := current current := next L.first := previous As for all other answers: there are often several correct approaches. 8. Give an implementation of a stack using a singly linked list. What is the top of the stack? Provide operations for push and pop in O(1). We implement a stack S using a singly linked list L. The top of the stack is the first node in the list. The method for push: Algorithm push(s, k): insertfirst(l, k) Because insertfirst for singly linked lists is in O(1), this implementation of push is also in O(1). The method pop (we should add an exception for the case we pop from an empty stack): Algorithm pop(s): o := L.head.key L.head := L.head.next return o 6
7 If we first have to search for a node in the list in order to delete that node, the operation for remove is in O(n). However, if we already have the node that is to be removed, the operation for remove is in O(1). The method above is in O(1). 9. Give an implementation of a max-priority queue using a(n unsorted) singly linked list. What is the worst-case time complexity for the operations for adding and deleting? We use a singly linked list L. We assume that we have operations first and last and also insertfirst (in the book: listinsert) on singly linked lists. The idea for adding an element is just adding it at the beginning of the list. This is not expensive. The idea for deleting an element is first traverse the list, and then remove a maximum of the list. This operation is expensive. Pseudo-code for insertion: Algorithm insertpq(k): insertfirst(l, k) The worst-case complexity of this algorithm is the worst-case complexity of insertfirst for singly linked lists which is in O(1). We implement removemax(h), the operation removing (and returning) the maximum key from H as follows. 7
8 Algorithm removemax(h): if H.first = null then return error m := current := H.f irst previous := null while not current = null do if m < current.key then m := current.key maxprevious := previous previous := current current := current.next if maxprevious = null then if H.first = H.last then else H.first := null H.last := null H.f irst := H.f irst.next if maxprevious.next = H.last then H.last := maxprevious maxprevious.next := maxprevious.next.next return m This algorithm is in O(n) because we walk with current and previous together through the list to find the maximum element. 10. (recap) Give an algorithm in O(n log n) that takes as input a sequence A of n integers, and gives back as output a sequence in which every integer from A occurs exactly once. Intuition: first sort the sequence, which can be done in O(n log n), then walk through the sequence to remove duplicates. Pseudo-code for the algorithm: Algorithm removeduplicates(a): A := mergesort(a) n := A.length() 8
9 11. (recap) duplicates := 0 for i := 2 to n: if A[i] = A[i - 1] then duplicates := duplicates + 1 new Array B[n - duplicates] B[1] := A[1] j := 2 for i := 2 to n: if A[i]!= A[i - 1] then B[j] := A[i] j := j + 1 return B The recurrence for merge sort is: { 1 als n = 1 T (n) = 2T ( n 2 ) + n als n > 1 Solve the recurrence for n a power of 2, and argue that the worst-case time complexity of merge sort is hence in O(n log n). We use the substitution method to solve this recurrence. For large n: T (n) = 2T ( n 2 ) + n = 2(2T ( n 4 ) + n 2 ) + n = 4T ( n 4 ) + 2n = 4(2T ( n 8 ) + n 4 ) + 2n = 8T ( n 8 ) + 3n =... = 2 i T ( n 2 i ) + in We arrive at the startvalue for n = 1 if n 2 = 1. Then we havet: n = 2 i en i dus i = log n. Substitute i = log(n). This yields: T (n) = n + n log(n) 9
data 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 informationAlgorithms and Data Structures for Mathematicians
Algorithms and Data Structures for Mathematicians Lecture 3: Basic Data Structures Peter Kostolányi kostolanyi at fmph and so on Room M-258 12 October 2017 Dynamic Sets and Data Structures Many algorithms
More information811312A Data Structures and Algorithms, , Exercise 1 Solutions
811312A Data Structures and Algorithms, 2018-2019, Exercise 1 Solutions Topics of this exercise are stacks, queues, and s. Cormen 3 rd edition, chapter 10. Task 1.1 Assume that L is a containing 1000 items.
More informationAlgorithms. 演算法 Data Structures (focus on Trees)
演算法 Data Structures (focus on Trees) Professor Chien-Mo James Li 李建模 Graduate Institute of Electronics Engineering National Taiwan University 1 Dynamic Set Dynamic set is a set of elements that can grow
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 informationElementary Data Structures and Hash Tables
Elementary Data Structures and Hash Tables Antonio Carzaniga Faculty of Informatics Università della Svizzera italiana March 23, 2016 Outline Common concepts and notation Stacks Queues Linked lists Trees
More informationIntroduction to Data Structures
Introduction to Data Structures Data structures Stacks and Queues Linked Lists Dynamic Arrays Philip Bille Introduction to Data Structures Data structures Stacks and Queues Linked Lists Dynamic Arrays
More information8. Fundamental Data Structures
172 8. Fundamental Data Structures Abstract data types stack, queue, implementation variants for linked lists, [Ottman/Widmayer, Kap. 1.5.1-1.5.2, Cormen et al, Kap. 10.1.-10.2] Abstract Data Types 173
More informationIntroduction to Data Structures. Introduction to Data Structures. Introduction to Data Structures. Data Structures
Philip Bille Data Structures Data structure. Method for organizing data for efficient access, searching, manipulation, etc. Goal. Fast. Compact Terminology. Abstract vs. concrete data structure. Dynamic
More informationCS532: Design and Analysis of Algorithms. Overview. Linked Lists. Data Structures Intro. Classes, Objects, and Pointers.
CS533 Class 01: 1 c P. Heeman, 2017 What is the Course About? Data Structures Intro Classes, Objects, and Pointers Linked Lists Rooted Trees Overview CS533 Class 01: 2 c P. Heeman, 2017 CS532: Design and
More informationCS 171: Introduction to Computer Science II. Linked List. Li Xiong
CS 171: Introduction to Computer Science II Linked List Li Xiong Roadmap Basic data structure Arrays Abstract data types Stacks Queues Implemented using resizing arrays Linked List Concept and implementations
More informationTHE UNIVERSITY OF WESTERN AUSTRALIA
THE UNIVERSITY OF WESTERN AUSTRALIA MID SEMESTER EXAMINATION April 2016 SCHOOL OF COMPUTER SCIENCE & SOFTWARE ENGINEERING DATA STRUCTURES AND ALGORITHMS CITS2200 This Paper Contains: 6 Pages 10 Questions
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 information1 Lower bound on runtime of comparison sorts
1 Lower bound on runtime of comparison sorts So far we ve looked at several sorting algorithms insertion sort, merge sort, heapsort, and quicksort. Merge sort and heapsort run in worst-case O(n log n)
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 informationCS171 Midterm Exam. October 29, Name:
CS171 Midterm Exam October 29, 2012 Name: You are to honor the Emory Honor Code. This is a closed-book and closed-notes exam. You have 50 minutes to complete this exam. Read each problem carefully, and
More information3. Fundamental Data Structures
3. Fundamental Data Structures CH08-320201: Algorithms and Data Structures 233 Data Structures Definition (recall): A data structure is a way to store and organize data in order to facilitate access and
More informationAlgorithms and Data Structures
Algorithms and Data Structures CSE 465 LECTURE 9 Abstract Data Types Queues Sofya Raskhodnikova and Adam Smith 1 Data Structures So far in this class: designing algorithms Inputs and outputs were specified,
More informationAlgorithms and Data Structures
Algorithms and Data Structures CMPSC 465 LECTURE 10 Abstract Data Types Queues Adam Smith 1 Data Structures So far in this class: designing algorithms Inputs and outputs were specified, we wanted to design
More informationPA3 Design Specification
PA3 Teaching Data Structure 1. System Description The Data Structure Web application is written in JavaScript and HTML5. It has been divided into 9 pages: Singly linked page, Stack page, Postfix expression
More informationLinear Structures. Linear Structure. Implementations. Array details. List details. Operations 4/18/2013
Linear Structure Linear Structures Chapter 4 CPTR 318 Every non-empty linear structure has A unique element called first A unique element called last Every element except last has a unique successor Every
More informationUniversity of Waterloo Department of Electrical and Computer Engineering ECE250 Algorithms and Data Structures Fall 2014
University of Waterloo Department of Electrical and Computer Engineering ECE250 Algorithms and Data Structures Fall 2014 Midterm Examination Instructor: Ladan Tahvildari, PhD, PEng, SMIEEE Date: Tuesday,
More informationLinear Structures. Linear Structure. Implementations. Array details. List details. Operations 2/10/2013
Linear Structure Linear Structures Chapter 4 CPTR 318 Every non-empty linear structure has A unique element called first A unique element called last Every element except last has a unique successor Every
More informationWeek 4 Stacks & Queues
CPSC 319 Week 4 Stacks & Queues Xiaoyang Liu xiaoyali@ucalgary.ca Stacks and Queues Fundamental data types. Value: collection of objects. Operations: insert, remove, iterate, test if empty. Intent is clear
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 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 informationData structure and algorithm in Python
Data structure and algorithm in Python Linked Lists Xiaoping Zhang School of Mathematics and Statistics, Wuhan University Table of contents 1. Singly Linked Lists 2. Circularly Linked Lists 3. Doubly Linked
More informationCS 270 Algorithms. Oliver Kullmann. Binary search. Lists. Background: Pointers. Trees. Implementing rooted trees. Tutorial
Week 7 General remarks Arrays, lists, pointers and 1 2 3 We conclude elementary data structures by discussing and implementing arrays, lists, and trees. Background information on pointers is provided (for
More informationElementary Data Structures and Hash Tables
Elementary Data Structures and Hash Tables Antonio Carzaniga Faculty of Informatics University of Lugano November 24, 2006 Outline Common concepts and notation Stacks Queues Linked lists Trees Direct-access
More informationCS 206 Introduction to Computer Science II
CS 206 Introduction to Computer Science II 03 / 31 / 2017 Instructor: Michael Eckmann Today s Topics Questions? Comments? finish RadixSort implementation some applications of stack Priority Queues Michael
More informationCMSC351 - Fall 2014, Homework #2
CMSC351 - Fall 2014, Homework #2 Due: October 8th at the start of class Name: Section: Grades depend on neatness and clarity. Write your answers with enough detail about your approach and concepts used,
More informationData Structures. Outline. Introduction Linked Lists Stacks Queues Trees Deitel & Associates, Inc. All rights reserved.
Data Structures Outline Introduction Linked Lists Stacks Queues Trees Introduction dynamic data structures - grow and shrink during execution Linked lists - insertions and removals made anywhere Stacks
More informationCpt S 122 Data Structures. Course Review FINAL. Nirmalya Roy School of Electrical Engineering and Computer Science Washington State University
Cpt S 122 Data Structures Course Review FINAL Nirmalya Roy School of Electrical Engineering and Computer Science Washington State University Final When: Wednesday (12/12) 1:00 pm -3:00 pm Where: In Class
More informationComputer Science Foundation Exam
Computer Science Foundation Exam January 12, 2019 Section I A DATA STRUCTURES NO books, notes, or calculators may be used, and you must work entirely on your own. Name: UCFID: NID: Question # Max Pts Category
More informationThe Tail has the pointer value z.next = NIL. the pointer to the next object x.next, down arrows.
1 Vladimir Shelomovskii, Unitech, Papua New Guinea, CS411 Linked list A linked list is a data structure in which the objects are arranged in a linear order. The order in a linked list is determined by
More informationMULTIMEDIA COLLEGE JALAN GURNEY KIRI KUALA LUMPUR
STUDENT IDENTIFICATION NO MULTIMEDIA COLLEGE JALAN GURNEY KIRI 54100 KUALA LUMPUR FIFTH SEMESTER FINAL EXAMINATION, 2014/2015 SESSION PSD2023 ALGORITHM & DATA STRUCTURE DSEW-E-F-2/13 25 MAY 2015 9.00 AM
More informationRecursive Data Structures and Grammars
Recursive Data Structures and Grammars Themes Recursive Description of Data Structures Grammars and Parsing Recursive Definitions of Properties of Data Structures Recursive Algorithms for Manipulating
More informationCpt S 122 Data Structures. Course Review Midterm Exam # 1
Cpt S 122 Data Structures Course Review Midterm Exam # 1 Nirmalya Roy School of Electrical Engineering and Computer Science Washington State University Midterm Exam 1 When: Friday (09/28) 12:10-1pm Where:
More informationData Structures and Algorithms for Engineers
04-630 Data Structures and Algorithms for Engineers David Vernon Carnegie Mellon University Africa vernon@cmu.edu www.vernon.eu Data Structures and Algorithms for Engineers 1 Carnegie Mellon University
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 informationCSE 373 Spring Midterm. Friday April 21st
CSE 373 Spring 2006 Data Structures and Algorithms Midterm Friday April 21st NAME : Do all your work on these pages. Do not add any pages. Use back pages if necessary. Show your work to get partial credit.
More informationMatriculation number:
Department of Informatics Prof. Dr. Michael Böhlen Binzmühlestrasse 14 8050 Zurich Phone: +41 44 635 4333 Email: boehlen@ifi.uzh.ch AlgoDat Repetition Exam Spring 2018 18.05.2018 Name: Matriculation number:
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 informationUniversity of Palestine. Final Exam 2 nd semester 2014/2015 Total Grade: 50
First Question Q1 B1 Choose the best Answer: No. of Branches (1) (10/50) 1) 2) 3) 4) Suppose we start with an empty stack and then perform the following operations: Push (A); Push (B); Pop; Push (C); Top;
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 informationinfix expressions (review)
Outline infix, prefix, and postfix expressions queues queue interface queue applications queue implementation: array queue queue implementation: linked queue application of queues and stacks: data structure
More informationData Structures and Algorithms. Chapter 5. Dynamic Data Structures and Abstract Data Types
1 Data Structures and Algorithms Chapter 5 and Abstract Data Types Werner Nutt 2 Acknowledgments The course follows the book Introduction to Algorithms, by Cormen, Leiserson, Rivest and Stein, MIT Press
More informationDATA STRUCTURES AND ALGORITHMS
LECTURE 4 Babeş - Bolyai University Computer Science and Mathematics Faculty 2017-2018 In Lecture 3... Binary Heap Iterator Binary Heap Today Binary Heap 1 Binary Heap 2 Singly Heap - Add - example Binary
More informationFundamentals of Data Structure
Fundamentals of Data Structure Set-1 1. Which if the following is/are the levels of implementation of data structure A) Abstract level B) Application level C) Implementation level D) All of the above 2.
More informationECE250: Algorithms and Data Structures Midterm Review
ECE250: Algorithms and Data Structures Midterm Review Ladan Tahvildari, PEng, SMIEEE Associate Professor Software Technologies Applied Research (STAR) Group Dept. of Elect. & Comp. Eng. University of Waterloo
More informationDraw a diagram of an empty circular queue and describe it to the reader.
1020_1030_testquestions.text Wed Sep 10 10:40:46 2014 1 1983/84 COSC1020/30 Tests >>> The following was given to students. >>> Students can have a good idea of test questions by examining and trying the
More informationINSTITUTE OF AERONAUTICAL ENGINEERING
INSTITUTE OF AERONAUTICAL ENGINEERING (Autonomous) Dundigal, Hyderabad - 500 043 COMPUTER SCIENCE AND ENGINEERING TUTORIAL QUESTION BANK Course Name Course Code Class Branch DATA STRUCTURES ACS002 B. Tech
More informationADVANCED DATA STRUCTURES USING C++ ( MT-CSE-110 )
ADVANCED DATA STRUCTURES USING C++ ( MT-CSE-110 ) Unit - 2 By: Gurpreet Singh Dean Academics & H.O.D. (C.S.E. / I.T.) Yamuna Institute of Engineering & Technology, Gadholi What is a Stack? A stack is a
More informationAmortized Analysis. 0.1 Amortized Case Analysis. CITS2200 Data Structures and Algorithms
0.1 Amortized Case Analysis CITS2200 Data Structures and Algorithms Topic 8 Amortized Analysis Amortized Case Analysis for Data Structures An example of amortized analysis using Multipop stack The Simplist
More informationName CPTR246 Spring '17 (100 total points) Exam 3
Name CPTR246 Spring '17 (100 total points) Exam 3 1. Linked Lists Consider the following linked list of integers (sorted from lowest to highest) and the changes described. Make the necessary changes in
More informationCS8391-DATA STRUCTURES QUESTION BANK UNIT I
CS8391-DATA STRUCTURES QUESTION BANK UNIT I 2MARKS 1.Define data structure. The data structure can be defined as the collection of elements and all the possible operations which are required for those
More informationCS W3134: Data Structures in Java
CS W3134: Data Structures in Java Lecture #10: Stacks, queues, linked lists 10/7/04 Janak J Parekh HW#2 questions? Administrivia Finish queues Stack/queue example Agenda 1 Circular queue: miscellany Having
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 informationData Structures Question Bank Multiple Choice
Section 1. Fundamentals: Complexity, Algorthm Analysis 1. An algorithm solves A single problem or function Multiple problems or functions Has a single programming language implementation 2. A solution
More informationR10 SET - 1. Code No: R II B. Tech I Semester, Supplementary Examinations, May
www.jwjobs.net R10 SET - 1 II B. Tech I Semester, Supplementary Examinations, May - 2012 (Com. to CSE, IT, ECC ) Time: 3 hours Max Marks: 75 *******-****** 1. a) Which of the given options provides the
More informationProgramming and Data Structures Prof. N.S. Narayanaswamy Department of Computer Science and Engineering Indian Institute of Technology, Madras
Programming and Data Structures Prof. N.S. Narayanaswamy Department of Computer Science and Engineering Indian Institute of Technology, Madras Lecture - 13 Merging using Queue ADT and Queue types In the
More informationCOMP 250 Midterm #2 March 11 th 2013
NAME: STUDENT ID: COMP 250 Midterm #2 March 11 th 2013 - This exam has 6 pages - This is an open book and open notes exam. No electronic equipment is allowed. 1) Questions with short answers (28 points;
More informationBasic Data Structures (Version 7) Name:
Prerequisite Concepts for Analysis of Algorithms Basic Data Structures (Version 7) Name: Email: Concept: mathematics notation 1. log 2 n is: Code: 21481 (A) o(log 10 n) (B) ω(log 10 n) (C) Θ(log 10 n)
More information17 February Given an algorithm, compute its running time in terms of O, Ω, and Θ (if any). Usually the big-oh running time is enough.
Midterm Review CSE 2011 Winter 2011 17 February 2011 1 Algorithm Analysis Given an algorithm, compute its running time in terms of O, Ω, and Θ (if any). Usually the big-oh running time is enough. Given
More informationHow to Win Coding Competitions: Secrets of Champions. Week 2: Computational complexity. Linear data structures Lecture 5: Stack. Queue.
How to Win Coding Competitions: Secrets of Champions Week 2: Computational complexity. Linear data structures Lecture 5: Stack. Queue. Deque Pavel Krotkov Saint Petersburg 2016 General overview Stack,
More informationOverview of Data. 1. Array 2. Linked List 3. Stack 4. Queue
Overview of Data A data structure is a particular way of organizing data in a computer so that it can be used effectively. The idea is to reduce the space and time complexities of different tasks. Below
More information1. Stack Implementation Using 1D Array
Lecture 5 Stacks 1 Lecture Content 1. Stack Implementation Using 1D Array 2. Stack Implementation Using Singly Linked List 3. Applications of Stack 3.1 Infix and Postfix Arithmetic Expressions 3.2 Evaluate
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 informationMAHARASHTRA STATE BOARD OF TECHNICAL EDUCATION (Autonomous) (ISO/IEC Certified)
WINTER 18 EXAMINATION Subject Name: Data Structure Model wer Subject Code: 17330 Important Instructions to examiners: 1) The answers should be examined by key words and not as word-to-word as given in
More informationCSCA48 Summer 2018 Week 3: Priority Queue, Linked Lists. Marzieh Ahmadzadeh University of Toronto Scarborough
CSCA48 Summer 2018 Week 3: Priority Queue, Linked Lists Marzieh Ahmadzadeh University of Toronto Scarborough Administrative Detail All practicals are up on course website. Term test # 1 and #2 schedule
More informationMLR Institute of Technology
MLR Institute of Technology Laxma Reddy Avenue, Dundigal, Quthbullapur (M), Hyderabad 500 043 Phone Nos: 08418 204066 / 204088, Fax : 08418 204088 TUTORIAL QUESTION BANK Course Name : DATA STRUCTURES Course
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 informationChapter 5 Data Structures Algorithm Theory WS 2016/17 Fabian Kuhn
Chapter 5 Data Structures Algorithm Theory WS 06/ Fabian Kuhn Examples Dictionary: Operations: insert(key,value), delete(key), find(key) Implementations: Linked list: all operations take O(n) time (n:
More informationCS 1114: Implementing Search. Last time. ! Graph traversal. ! Two types of todo lists: ! Prof. Graeme Bailey.
CS 1114: Implementing Search! Prof. Graeme Bailey http://cs1114.cs.cornell.edu (notes modified from Noah Snavely, Spring 2009) Last time! Graph traversal 1 1 2 10 9 2 3 6 3 5 6 8 5 4 7 9 4 7 8 10! Two
More informationECE608 - Chapter 15 answers
¼ À ÈÌ Ê ½ ÈÊÇ Ä ÅË ½µ ½ º¾¹¾ ¾µ ½ º¾¹ µ ½ º¾¹ µ ½ º ¹½ µ ½ º ¹¾ µ ½ º ¹ µ ½ º ¹¾ µ ½ º ¹ µ ½ º ¹ ½¼µ ½ º ¹ ½½µ ½ ¹ ½ ECE608 - Chapter 15 answers (1) CLR 15.2-2 MATRIX CHAIN MULTIPLY(A, s, i, j) 1. if
More informationThis is a set of practice questions for the final for CS16. The actual exam will consist of problems that are quite similar to those you have
This is a set of practice questions for the final for CS16. The actual exam will consist of problems that are quite similar to those you have encountered on homeworks, the midterm, and on this practice
More informationl Determine if a number is odd or even l Determine if a number/character is in a range - 1 to 10 (inclusive) - between a and z (inclusive)
Final Exam Exercises Chapters 1-7 + 11 Write C++ code to: l Determine if a number is odd or even CS 2308 Fall 2016 Jill Seaman l Determine if a number/character is in a range - 1 to 10 (inclusive) - between
More informationWeek 6. Data structures
1 2 3 4 5 n Week 6 Data structures 6 7 n 8 General remarks We start considering Part III Data Structures from CLRS. As a first example we consider two special of buffers, namely stacks and queues. Reading
More informationComputer Science Foundation Exam
Computer Science Foundation Exam December 16, 2011 Section I A COMPUTER SCIENCE NO books, notes, or calculators may be used, and you must work entirely on your own. Name: PID: Question # Max Pts Category
More informationFinal Exam Data Structure course. No. of Branches (5)
Page ١of 5 College Of Science and Technology Khan younis - Palestine Computer Science & Inf. Tech. Information Technology Data Structure (Theoretical Part) Time: 2 Hours Name: ID: Mark: Teacher 50 Mahmoud
More informationData Structures. Alice E. Fischer. Lecture 4, Fall Alice E. Fischer Data Structures L4... 1/19 Lecture 4, Fall / 19
Data Structures Alice E. Fischer Lecture 4, Fall 2018 Alice E. Fischer Data Structures L4... 1/19 Lecture 4, Fall 2018 1 / 19 Outline 1 Ordered Lists 2 Sorted Lists Tail Pointers 3 Doubly Linked Lists
More informationLinked List. April 2, 2007 Programming and Data Structure 1
Linked List April 2, 2007 Programming and Data Structure 1 Introduction head A linked list is a data structure which can change during execution. Successive elements are connected by pointers. Last element
More informationA6-R3: DATA STRUCTURE THROUGH C LANGUAGE
A6-R3: DATA STRUCTURE THROUGH C LANGUAGE NOTE: 1. There are TWO PARTS in this Module/Paper. PART ONE contains FOUR questions and PART TWO contains FIVE questions. 2. PART ONE is to be answered in the TEAR-OFF
More informationCSE 214 Computer Science II Final Review II
CSE 214 Computer Science II Final Review II Fall 2017 Stony Brook University Instructor: Shebuti Rayana shebuti.rayana@stonybrook.edu http://www3.cs.stonybrook.edu/~cse214/sec02/ Linked List Problems Finding
More information1. Attempt any three of the following: 15
(Time: 2½ hours) Total Marks: 75 N. B.: (1) All questions are compulsory. (2) Make suitable assumptions wherever necessary and state the assumptions made. (3) Answers to the same question must be written
More information1. O(log n), because at worst you will only need to downheap the height of the heap.
These are solutions for the practice final. Please note that these solutions are intended to provide you with a basis to check your own answers. In order to get full credit on the exam, you must show all
More informationSummer Final Exam Review Session August 5, 2009
15-111 Summer 2 2009 Final Exam Review Session August 5, 2009 Exam Notes The exam is from 10:30 to 1:30 PM in Wean Hall 5419A. The exam will be primarily conceptual. The major emphasis is on understanding
More informationCS 8391 DATA STRUCTURES
DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING QUESTION BANK CS 8391 DATA STRUCTURES UNIT- I PART A 1. Define: data structure. A data structure is a way of storing and organizing data in the memory for
More informationData Structure (CS301)
WWW.VUPages.com http://forum.vupages.com WWW.VUTUBE.EDU.PK Largest Online Community of VU Students Virtual University Government of Pakistan Midterm Examination Spring 2003 Data Structure (CS301) StudentID/LoginID
More informationCSC 1052 Algorithms & Data Structures II: Linked Queues
CSC 1052 Algorithms & Data Structures II: Linked Queues Professor Henry Carter Spring 2018 Recap A queue simulates a waiting line, where objects are removed in the same order they are added The primary
More informationCS 310 Advanced Data Structures and Algorithms
CS 310 Advanced Data Structures and Algorithms Sorting June 13, 2017 Tong Wang UMass Boston CS 310 June 13, 2017 1 / 42 Sorting One of the most fundamental problems in CS Input: a series of elements with
More informationCS301 - Data Structures Glossary By
CS301 - Data Structures Glossary By Abstract Data Type : A set of data values and associated operations that are precisely specified independent of any particular implementation. Also known as ADT Algorithm
More informationCSc 225 Algorithms and Data Structures I Algorithm Analysis
CSc 225 Algorithms and Data Structures I Algorithm Analysis Jianping Pan Fall 2007 09/06/07 CSc 225 1 What is an Algorithm? An algorithm is a sequence of unambiguous instructions for solving a problem
More informationDATA STRUCTURES AND ALGORITHMS
LECTURE 8 Babeş - Bolyai University Computer Science and Mathematics Faculty 2017-2018 In Lecture 7... ADT Queue ADT Matrix ADT List ADT Stack Today ADT Queue 1 ADT Queue 2 3 4 Note ADT Queue We will not
More informationCourse Review. Cpt S 223 Fall 2009
Course Review Cpt S 223 Fall 2009 1 Final Exam When: Tuesday (12/15) 8-10am Where: in class Closed book, closed notes Comprehensive Material for preparation: Lecture slides & class notes Homeworks & program
More informationCSC263 Week 2. Larry Zhang
CSC263 Week 2 Larry Zhang 1 Announcements PS1 out, due January 27th Get started with typing using the sample_latex.tex posted on the course website. Make groups on MarkUs, if you cannot login, let Larry
More informationIntroduction p. 1 Pseudocode p. 2 Algorithm Header p. 2 Purpose, Conditions, and Return p. 3 Statement Numbers p. 4 Variables p. 4 Algorithm Analysis
Introduction p. 1 Pseudocode p. 2 Algorithm Header p. 2 Purpose, Conditions, and Return p. 3 Statement Numbers p. 4 Variables p. 4 Algorithm Analysis p. 5 Statement Constructs p. 5 Pseudocode Example p.
More informationDepartment of Computer Science and Technology
UNIT : Stack & Queue Short Questions 1 1 1 1 1 1 1 1 20) 2 What is the difference between Data and Information? Define Data, Information, and Data Structure. List the primitive data structure. List the
More informationModule 1: Asymptotic Time Complexity and Intro to Abstract Data Types
Module 1: Asymptotic Time Complexity and Intro to Abstract Data Types Dr. Natarajan Meghanathan Professor of Computer Science Jackson State University Jackson, MS 39217 E-mail: natarajan.meghanathan@jsums.edu
More informationBinary search trees. Binary search trees are data structures based on binary trees that support operations on dynamic sets.
COMP3600/6466 Algorithms 2018 Lecture 12 1 Binary search trees Reading: Cormen et al, Sections 12.1 to 12.3 Binary search trees are data structures based on binary trees that support operations on dynamic
More information