CMPSCI 230 Discussion 1. Virtual Box and HW0

Size: px
Start display at page:

Download "CMPSCI 230 Discussion 1. Virtual Box and HW0"

Transcription

1 CMPSCI 230 Discussion 1 Virtual Box and HW0 1

2 Contact Info Name: Kaituo Li Communicate through Piazza questions/posts to entire class or private messages to instructors Under extreme circumstances contact via Office hours: Thursday 4:30-6:00 PM, LGRT T223 2

3 INSTALL VIRTUAL BOX 3

4 Install VirtualBox 4

5 VirtualBox setup Download the ova file from course webpage and 1) Double click the ova file 2) Or alternatively select "File" -> "Import appliance" from the Manager window. 5

6 6

7 7

8 8

9 9

10 Possible reasons for VirtualBox errors and workarounds Cannot launch VM Corrupt ova Redownload Antivirus package, esp. on Windows hosts Use the newest version Cannot connect to the Internet Adjust network setting (e.g. networking modes) Cannot download with browser in VirtualBox Try another browser (Chromium vs. Firefox) 10

11 Backup data when using VirtualBox Not as stable as non-virtualization product Example backup technologies Dropbox Google drive github USB flash drive Must be private, not public 11

12 Must I use the Lubuntu image you provided? Yes Different Linux version could give different errors and different output Different JDKs produce slightly different bytecode 12

13 i-clicker question What is *not* true about virtual box? A. Certain antivirus package may influence the use of virtual box B. You cannot run multiple operating systems at the same time using virtual box. C. There are chances that different JDKs in different virtual machine produce slightly different bytecode. D. Virtual box is not a fail-proof and safe way to store your data. 13

14 HW0 14

15 Linked List Node Definition: public class ListNode { int = -1; private ListNode = null; public void setnext (final ListNode ) { this. = ; public ListNode getnext () { return ;

16 Linked List Node Definition: public class ListNode { int = -1; private ListNode = null; public void setnext (final ListNode ) { this. = ; public ListNode getnext () { return ; A recursive data type

17 Assignment 0 Implement bounded sets using linked list A set is container Duplicate s are removed Bounded: fixed size

18 Creates a bounded int set The code is from starting jar file: public ListBoundedIntSet (final int [] elements) { ListNode current = null; int i = elements.length; while (--i >= 0) { final ListNode node = new ListNode(); node.setnext(current); node. = elements[i]; current = node; head = current;

19 Creates a bounded int set The code is from starting jar file: public ListBoundedIntSet (final int [] elements) { ListNode current = null; int i = elements.length; while (--i >= 0) { final ListNode node = new ListNode(); node.setnext(current); node. = elements[i]; current = node; head = current; x

20 Creates a bounded int set The code is from starting jar file: public ListBoundedIntSet (final int [] elements) { ListNode current = null; int i = elements.length; while (--i >= 0) { final ListNode node = new ListNode(); node.setnext(current); node. = elements[i]; current = node; head = current; x 1

21 Creates a bounded int set The code is from starting jar file: public ListBoundedIntSet (final int [] elements) { ListNode current = null; int i = elements.length; while (--i >= 0) { final ListNode node = new ListNode(); node.setnext(current); node. = elements[i]; current = node; head = current; x 1

22 Creates a bounded int set The code is from starting jar file: public ListBoundedIntSet (final int [] elements) { ListNode current = null; int i = elements.length; while (--i >= 0) { final ListNode node = new ListNode(); node.setnext(current); node. = elements[i]; current = node; head = current; x 2 1

23 Creates a bounded int set The code is from starting jar file: public ListBoundedIntSet (final int [] elements) { ListNode current = null; int i = elements.length; while (--i >= 0) { final ListNode node = new ListNode(); node.setnext(current); node. = elements[i]; current = node; head = current; x 2 1

24 Creates a bounded int set The code is from starting jar file: public ListBoundedIntSet (final int [] elements) { ListNode current = null; int i = elements.length; while (--i >= 0) { final ListNode node = new ListNode(); node.setnext(current); node. = elements[i]; current = node; head = current; x 3 2 1

25 Creates a bounded int set The code is from starting jar file: public ListBoundedIntSet (final int [] elements) { ListNode current = null; int i = elements.length; while (--i >= 0) { final ListNode node = new ListNode(); node.setnext(current); node. = elements[i]; current = node; head = current; x head

26 Another way of creating a bounded int set public ListBoundedIntSet (final int size) { ListNode current = null; int i = size; while (--i >= 0) { final ListNode node = new ListNode(); node.setnext(current); current = node; head = current;

27 Another way of creating a bounded int set public ListBoundedIntSet (final int size) { ListNode current = null; int i = size; while (--i >= 0) { final ListNode node = new ListNode(); node.setnext(current); current = node; head = current; x head

28 Task #1: Implement pulltohead head prev curr x

29 Task #1: Implement pulltohead head prev curr x 1) take the immediate successor after curr and assign it to prev.

30 Task #1: Implement pulltohead head prev curr x 1) take the immediate successor after curr and assign it to prev. 2) make curr. point to the original head

31 Task #1: Implement pulltohead head prev curr x 1) take the immediate successor after curr and assign it to prev. 2) make curr. point to the original head 3) make curr the new head

32 Task #1: Implement pulltohead head prev curr x 1) take the immediate successor after curr and assign it to prev. 2) make curr. point to the original head 3) make curr the new head Question: What if curr is at the head of the list? What if curr is null?

33 Task #2: Fix contains public boolean contains (final int ) { ListNode prev = null; ListNode curr = head; while (true) { if (curr == null curr. == -1) { return false; else if (curr. == ) { return true; else { prev = curr; curr = curr.getnext(); Three possible results: The was present The was not present We reach the end of the list We reach an empty node (If we create the set using ListBoundedIntSet (final int size))

34 Task #2: Fix contains public boolean contains (final int ) { ListNode prev = null; ListNode curr = head; while (true) { if (curr == null curr. == -1) { return false; else if (curr. == ) { return true; else { prev = curr; curr = curr.getnext(); Three possible results: The was present The was not present We reach the end of the list We reach an empty node (If we create the set using ListBoundedIntSet (final int size))

35 Task #3 Implement add 1. Search for the node containing the to add 2. Three possible results: If the was present already, do nothing If the was not present If the list is not full, add the to the empty node If the list is full, change the of the node at the end of the list to be the new 3. Pull the affected node to the head of the list

36 Task #3 Implement add 1. Search for the node containing the to add 2. Three possible results: If the was present already, do nothing If the was not present If the list is not full, add the to the empty node If the list is full, change the of the node at the end of the list to be the new 3. Pull the affected node to the head of the list

37 i-clicker question What does the code do? public ListNode foo(listnode head) { ListNode pre = null; while(head!=null) { ListNode temp = head.; head. = pre; pre = head; head = temp; return pre; A. Reverse a singly linked list. B. Sort a singly linked list. C. Rotate a singly linked list by 1 place. D. Remove a node from a linked list.

CS32 Discussion Week 3

CS32 Discussion Week 3 CS32 Discussion Week 3 Muhao Chen muhaochen@ucla.edu http://yellowstone.cs.ucla.edu/~muhao/ 1 Outline Doubly Linked List Sorted Linked List Reverse a Linked List 2 Doubly Linked List A linked list where

More information

Insertions and removals follow the Fist-In First-Out rule: Insertions: at the rear of the queue Removals: at the front of the queue

Insertions 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 information

Linked Lists. Chapter 4

Linked Lists. Chapter 4 Linked Lists Chapter 4 1 Linked List : Definition Linked List: A collection of data items of the same type that are stored in separate objects referred to as "nodes". Each node contains, in addition to

More information

CS 151. Linked Lists, Recursively Implemented. Wednesday, October 3, 12

CS 151. Linked Lists, Recursively Implemented. Wednesday, October 3, 12 CS 151 Linked Lists, Recursively Implemented 1 2 Linked Lists, Revisited Recall that a linked list is a structure that represents a sequence of elements that are stored non-contiguously in memory. We can

More information

Linked Lists. Linked List Nodes. Walls and Mirrors Chapter 5 10/25/12. A linked list is a collection of Nodes: item next -3.

Linked Lists. Linked List Nodes. Walls and Mirrors Chapter 5 10/25/12. A linked list is a collection of Nodes: item next -3. Linked Lists Walls and Mirrors Chapter 5 Linked List Nodes public class Node { private int item; private Node next; public Node(int item) { this(item,null); public Node(int item, Node next) { setitem(item);

More information

[2:3] Linked Lists, Stacks, Queues

[2:3] Linked Lists, Stacks, Queues [2:3] Linked Lists, Stacks, Queues Helpful Knowledge CS308 Abstract data structures vs concrete data types CS250 Memory management (stack) Pointers CS230 Modular Arithmetic !!!!! There s a lot of slides,

More information

CMSC 341 Lecture 7 Lists

CMSC 341 Lecture 7 Lists CMSC 341 Lecture 7 Lists Today s Topics Linked Lists vs Arrays Nodes Using Linked Lists Supporting Actors (member variables) Overview Creation Traversal Deletion UMBC CMSC 341 Lists 2 Linked Lists vs Arrays

More information

16. Dynamic Data Structures

16. Dynamic Data Structures Data Structures 6. Dynamic Data Structures A data structure is a particular way of organizing data in a computer so that it can be used efficiently Linked lists, Abstract data types stack, queue, Sorted

More information

Data Structures (CS301) LAB

Data Structures (CS301) LAB Data Structures (CS301) LAB Objectives The objectives of this LAB are, o Enabling students to implement Doubly Linked List practically using c++ and adding more functionality in it. Introduction to Singly

More information

Spring 2008 Data Structures (CS301) LAB

Spring 2008 Data Structures (CS301) LAB Spring 2008 Data Structures (CS301) LAB Objectives The objectives of this LAB are, o Enabling students to implement Singly Linked List practically using c++ and adding more functionality in it. o Enabling

More information

BBM 201 DATA STRUCTURES

BBM 201 DATA STRUCTURES BBM 201 DATA STRUCTURES Lecture 8: Dynamically Allocated Linked Lists 2017-2018 Fall int x; x = 8; int A[4]; An array is stored as one contiguous block of memory. How can we add a fifth element to the

More information

Linked List Practice Questions

Linked List Practice Questions Linked List Practice Questions 1. The following function reverse() is supposed to reverse a singly linked list. There is one line missing at the end of the function. /* head_ref is a double pointer which

More information

2/22/2013 LISTS & TREES

2/22/2013 LISTS & TREES LISTS & TREES Lecture 9 CS2110 Spring 2013 1 List Overview 2 Purpose Maintain an ordered collection of elements (with possible duplication) Common operations Create a list Access elements of a list sequentially

More information

COMP-202: Foundations of Programming. Lecture 13: Recursion Sandeep Manjanna, Summer 2015

COMP-202: Foundations of Programming. Lecture 13: Recursion Sandeep Manjanna, Summer 2015 COMP-202: Foundations of Programming Lecture 13: Recursion Sandeep Manjanna, Summer 2015 Announcements Final exams : 26 th of June (2pm to 5pm) @ MAASS 112 Assignment 4 is posted and Due on 29 th of June

More information

CMPSCI 187: Programming With Data Structures. Lecture #16: Thinking About Recursion David Mix Barrington 12 October 2012

CMPSCI 187: Programming With Data Structures. Lecture #16: Thinking About Recursion David Mix Barrington 12 October 2012 CMPSCI 187: Programming With Data Structures Lecture #16: Thinking About Recursion David Mix Barrington 12 October 2012 Thinking About Recursion Review of the Grid Class Recursion on Linked Structures

More information

Title Description Participants Textbook

Title Description Participants Textbook Podcast Ch21c Title: Hash Table Implementation Description: Overview of implementation; load factors; add() method; rehash() method; remove() method Participants: Barry Kurtz (instructor); John Helfert

More information

University of Illinois at Urbana-Champaign Department of Computer Science. First Examination

University of Illinois at Urbana-Champaign Department of Computer Science. First Examination University of Illinois at Urbana-Champaign Department of Computer Science First Examination CS 225 Data Structures and Software Principles Sample Exam 2 75 minutes permitted Print your name, netid, and

More information

Ashish Gupta, Data JUET, Guna

Ashish Gupta, Data JUET, Guna Categories of data structures Data structures are categories in two classes 1. Linear data structure: - organized into sequential fashion - elements are attached one after another - easy to implement because

More information

Memory Management. CS31 Pascal Van Hentenryck CS031. Lecture 19 1

Memory Management. CS31 Pascal Van Hentenryck CS031. Lecture 19 1 Memory Management CS31 Pascal Van Hentenryck CS031 Lecture 19 1 Memory Management What is it? high-level languages abstract many aspects of memory management Support varies with the language Java (ML/Prolog/Lisp/Smalltalk)

More information

03/31/03 Lab 7. Linked Lists

03/31/03 Lab 7. Linked Lists 03/31/03 Lab 7 Lists are a collection of items in which each item has a specific position. The specification for positioning the items provides some rules of order so this data structure is called an ordered

More information

Introduction to Computer Science II CS S-18 Linked Lists

Introduction to Computer Science II CS S-18 Linked Lists Introduction to Computer Science II CS112-2012S-18 Linked Lists David Galles Department of Computer Science University of San Francisco 18-0: Linked Lists Linked List node Data Pointer to the next element

More information

Introduction to Computer Science II CS S-20 Linked Lists III

Introduction to Computer Science II CS S-20 Linked Lists III Introduction to Computer Science II CS112-2012S-20 Linked Lists III David Galles Department of Computer Science University of San Francisco 20-0: Linked List Previous Practical Example: removeat(int index)

More information

(More) Fun with Pointers and Linked Lists! CS 16: Solving Problems with Computers I Lecture #17

(More) Fun with Pointers and Linked Lists! CS 16: Solving Problems with Computers I Lecture #17 (More) Fun with Pointers and Linked Lists! CS 16: Solving Problems with Computers I Lecture #17 Ziad Matni Dept. of Computer Science, UCSB Administrative Homework situation: Labs: NO MORE HOMEWORK! J Lab10

More information

CSE373 Fall 2013, Midterm Examination October 18, 2013

CSE373 Fall 2013, Midterm Examination October 18, 2013 CSE373 Fall 2013, Midterm Examination October 18, 2013 Please do not turn the page until the bell rings. Rules: The exam is closed-book, closed-note, closed calculator, closed electronics. Please stop

More information

Binary Search Trees. Chapter 21. Binary Search Trees

Binary Search Trees. Chapter 21. Binary Search Trees Chapter 21 Binary Search Trees Binary Search Trees A Binary Search Tree is a binary tree with an ordering property that allows O(log n) retrieval, insertion, and removal of individual elements. Defined

More information

Priority Queues and Binary Heaps. See Chapter 21 of the text, pages

Priority Queues and Binary Heaps. See Chapter 21 of the text, pages Priority Queues and Binary Heaps See Chapter 21 of the text, pages 807-839. A priority queue is a queue-like data structure that assumes data is comparable in some way (or at least has some field on which

More information

1 Deletion in singly linked lists (cont d) 1 Other Functions. 1 Doubly Linked Lists. 1 Circular lists. 1 Linked lists vs. arrays

1 Deletion in singly linked lists (cont d) 1 Other Functions. 1 Doubly Linked Lists. 1 Circular lists. 1 Linked lists vs. arrays Unit 3: Linked Lists Part 2: More on Linked Lists 1 Deletion in singly linked lists (cont d) 1 Other Functions Engineering 4892: Data Structures 1 Doubly Linked Lists Faculty of Engineering & Applied Science

More information

Priority Queues and Binary Heaps. See Chapter 21 of the text, pages

Priority Queues and Binary Heaps. See Chapter 21 of the text, pages Priority Queues and Binary Heaps See Chapter 21 of the text, pages 807-839. A priority queue is a queue-like data structure that assumes data is comparable in some way (or at least has some field on which

More information

Recursive Objects. Singly Linked List (Part 2)

Recursive Objects. Singly Linked List (Part 2) Recursive Objects Singly Linked List (Part 2) 1 Operations at the head of the list operations at the head of the list require special handling because there is no node before the head node 2 Adding to

More information

Midterm Spring 2015 Solutions Version 1

Midterm Spring 2015 Solutions Version 1 Version 1 1. (2 Points) In order to declare a named constant, the declaration must use which Java keyword? a. final b. int c. static d. void 2. (2 Points) Suppose c1 and c2 are objects of the class Circle.

More information

Data Structures. Giri Narasimhan Office: ECS 254A Phone: x-3748

Data Structures. Giri Narasimhan Office: ECS 254A Phone: x-3748 Data Structures Giri Narasimhan Office: ECS 254A Phone: x-3748 giri@cs.fiu.edu Search Tree Structures Binary Tree Operations u Tree Traversals u Search O(n) calls to visit() Why? Every recursive has one

More information

Sorting. Task Description. Selection Sort. Should we worry about speed?

Sorting. Task Description. Selection Sort. Should we worry about speed? Sorting Should we worry about speed? Task Description We have an array of n values in any order We need to have the array sorted in ascending or descending order of values 2 Selection Sort Select the smallest

More information

EECE.2160: ECE Application Programming

EECE.2160: ECE Application Programming Fall 2017 Programming Assignment #10: Doubly-Linked Lists Due Monday, 12/18/17, 11:59:59 PM (Extra credit ( 5 pts on final average), no late submissions or resubmissions) 1. Introduction This assignment

More information

CS 1316 Exam 2 Summer 2009

CS 1316 Exam 2 Summer 2009 1 / 8 Your Name: I commit to uphold the ideals of honor and integrity by refusing to betray the trust bestowed upon me as a member of the Georgia Tech community. CS 1316 Exam 2 Summer 2009 Section/Problem

More information

Linked lists. Insert Delete Lookup Doubly-linked lists. Lecture 6: Linked Lists

Linked lists. Insert Delete Lookup Doubly-linked lists. Lecture 6: Linked Lists Linked lists Insert Delete Lookup Doubly-linked lists Lecture 6: Linked Lists Object References When you declare a variable of a non-primitive type you are really declaring a reference to that object String

More information

Linear Structures. Linear Structure. Implementations. Array details. List details. Operations 4/18/2013

Linear 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 information

Implementation. Learn how to implement the List interface Understand the efficiency trade-offs between the ArrayList and LinkedList implementations

Implementation. Learn how to implement the List interface Understand the efficiency trade-offs between the ArrayList and LinkedList implementations Readings List Implementations Chapter 20.2 Objectives Learn how to implement the List interface Understand the efficiency trade-offs between the ArrayList and LinkedList implementations Additional references:

More information

General Insert Operation

General Insert Operation General Insert Operation Inserting a new node before a node referenced by curr involves updating only adjacent links and does not affect the other elements in the sequence. General Insert Operation (continued)

More information

COMP 1006/1406: Assignment # 3 Due Monday July 27, 2015, 12:00 Noon Total Marks: 60

COMP 1006/1406: Assignment # 3 Due Monday July 27, 2015, 12:00 Noon Total Marks: 60 COMP 1006/1406: Assignment # 3 Due Monday July 27, 2015, 12:00 Noon Total Marks: 60 Submission Instructions Put all of your written answers in a PDF. Here are some options for how to create a PDF: You

More information

Last time s big ideas

Last time s big ideas Last time s big ideas 1. When we want an array of objects, we store their references in the array 2. It is important to distinguish between the specification and implementation of a class 3. public and

More information

- 1 - Handout #22S May 24, 2013 Practice Second Midterm Exam Solutions. CS106B Spring 2013

- 1 - Handout #22S May 24, 2013 Practice Second Midterm Exam Solutions. CS106B Spring 2013 CS106B Spring 2013 Handout #22S May 24, 2013 Practice Second Midterm Exam Solutions Based on handouts by Eric Roberts and Jerry Cain Problem One: Reversing a Queue One way to reverse the queue is to keep

More information

Linked Lists. Chapter 12.3 in Savitch

Linked Lists. Chapter 12.3 in Savitch Linked Lists Chapter 12.3 in Savitch Preliminaries n Arrays are not always the optimal data structure: q An array has fixed size needs to be copied to expand its capacity q Adding in the middle of an array

More information

CSC 172 Data Structures and Algorithms. Lecture #9 Spring 2018

CSC 172 Data Structures and Algorithms. Lecture #9 Spring 2018 CSC 172 Data Structures and Algorithms Lecture #9 Spring 2018 SINGLY LINKED LIST 3.1.3 Linked lists We will consider these for Singly linked lists Doubly linked lists Basic Singly Linked List class Node

More information

Introduction to Computer Science II CS S-20 Linked Lists IV

Introduction to Computer Science II CS S-20 Linked Lists IV Introduction to Computer Science II CS112-2012S-20 Linked Lists IV David Galles Department of Computer Science University of San Francisco 20-0: Doubly Linked List Deleting from (and inserting into!) a

More information

CmpSci 187: Programming with Data Structures Spring 2015

CmpSci 187: Programming with Data Structures Spring 2015 CmpSci 187: Programming with Data Structures Spring 2015 Lecture #9 John Ridgway February 26, 2015 1 Recursive Definitions, Algorithms, and Programs Recursion in General In mathematics and computer science

More information

Linear Structures. Linear Structure. Implementations. Array details. List details. Operations 2/10/2013

Linear 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 information

CS314 Exam 2 - Fall Suggested Solution and Criteria 1

CS314 Exam 2 - Fall Suggested Solution and Criteria 1 CS314 Fall 2017 Exam 2 Solution and Grading Criteria. Grading acronyms: AIOBE - Array Index out of Bounds Exception may occur BOD - Benefit of the Doubt. Not certain code works, but, can't prove otherwise

More information

Functional Programming. Pure Functional Programming

Functional Programming. Pure Functional Programming Functional Programming Pure Functional Programming Computation is largely performed by applying functions to values. The value of an expression depends only on the values of its sub-expressions (if any).

More information

Solution for Data Structure

Solution for Data Structure Solution for Data Structure May 2016 INDEX Q1 a 2-3 b 4 c. 4-6 d 7 Q2- a 8-12 b 12-14 Q3 a 15-18 b 18-22 Q4- a 22-35 B..N.A Q5 a 36-38 b N.A Q6- a 39-42 b 43 1 www.brainheaters.in Q1) Ans: (a) Define ADT

More information

Computer Science CS221 Test 4 Name

Computer Science CS221 Test 4 Name Computer Science CS221 Test 4 Name 1. We looked at two different concrete classes that implemented the Queue interface, QueueAr which used an array as the underlying data structure, and QueueLi which used

More information

COMPSCI 105 S Principles of Computer Science. 17 Linked List(1)

COMPSCI 105 S Principles of Computer Science. 17 Linked List(1) COMPSCI 105 S1 2017 Principles of Computer Science 17 Linked List(1) Agenda Agenda & Readings Introduction The Node class The UnorderedList ADT Comparing Implementations Reference: Textbook: Problem Solving

More information

! A set is a collection of objects of the same. ! {6,9,11,-5} and {11,9,6,-5} are equivalent. ! There is no first element, and no successor. of 9.

! A set is a collection of objects of the same. ! {6,9,11,-5} and {11,9,6,-5} are equivalent. ! There is no first element, and no successor. of 9. Sets & Hash Tables Week 13 Weiss: chapter 20 CS 5301 Fall 2015 What are sets?! A set is a collection of objects of the same type that has the following two properties: - there are no duplicates in the

More information

Stacks (5.1) Abstract Data Types (ADTs) CSE 2011 Winter 2011

Stacks (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 information

Week 5. CS 400 Programming III

Week 5. CS 400 Programming III Exam Conflicts are due this week: 1. Put all course meetings, quizzes, and exams in your calendar 2. Report any conflicts with cs400 exams by Friday of this week 3. Report complete information via the

More information

Computer Science 62. Bruce/Mawhorter Fall 16. Midterm Examination. October 5, Question Points Score TOTAL 52 SOLUTIONS. Your name (Please print)

Computer Science 62. Bruce/Mawhorter Fall 16. Midterm Examination. October 5, Question Points Score TOTAL 52 SOLUTIONS. Your name (Please print) Computer Science 62 Bruce/Mawhorter Fall 16 Midterm Examination October 5, 2016 Question Points Score 1 15 2 10 3 10 4 8 5 9 TOTAL 52 SOLUTIONS Your name (Please print) 1. Suppose you are given a singly-linked

More information

CSE 143. Linked Lists. Linked Lists. Manipulating Nodes (1) Creating Nodes. Manipulating Nodes (3) Manipulating Nodes (2) CSE 143 1

CSE 143. Linked Lists. Linked Lists. Manipulating Nodes (1) Creating Nodes. Manipulating Nodes (3) Manipulating Nodes (2) CSE 143 1 CSE 143 Linked Lists [Chapter 4; Chapter 6, pp. 265-271] Linked Lists A linked list is a collection of dynamically allocated nodes Each node contains at least one member (field) that points to another

More information

Linked Lists CS 16: Solving Problems with Computers I Lecture #16

Linked Lists CS 16: Solving Problems with Computers I Lecture #16 Linked Lists CS 16: Solving Problems with Computers I Lecture #16 Ziad Matni Dept. of Computer Science, UCSB Material: Everything we ve done Homework, Labs, Lectures, Textbook Tuesday, 12/12 in this classroom

More information

CMSC 132: Object-Oriented Programming II. Linked Lists

CMSC 132: Object-Oriented Programming II. Linked Lists CMSC 132: Object-Oriented Programming II Linked Lists 1 Array based Bag We implemented the Bag using arrays Bag N=0 Capacity=10 Items[] Resizing the bag: Create an array with different size Copy everything

More information

CS Introduction to Data Structures Week 4, 2017

CS Introduction to Data Structures Week 4, 2017 CS 367 - Introduction to Data Structures Week 4, 2017 Midterm Exam 1 Friday July 14 th, 11:00 am to 1:00 pm, CS1240 UW ID required See posted exam information Make up exam scheduled Program 1: Due 10 pm

More information

106B Final Review Session. Slides by Sierra Kaplan-Nelson and Kensen Shi Livestream managed by Jeffrey Barratt

106B Final Review Session. Slides by Sierra Kaplan-Nelson and Kensen Shi Livestream managed by Jeffrey Barratt 106B Final Review Session Slides by Sierra Kaplan-Nelson and Kensen Shi Livestream managed by Jeffrey Barratt Topics to Cover Sorting Searching Heaps and Trees Graphs (with Recursive Backtracking) Inheritance

More information

CS 367: Introduction to Data Structures Midterm Sample Questions

CS 367: Introduction to Data Structures Midterm Sample Questions LAST NAME (PRINT): FIRST NAME (PRINT): CS 367: Introduction to Data Structures Midterm Sample Questions Friday, July 14 th 2017. 100 points (26% of final grade) Instructor: Meena Syamkumar 1. Fill in these

More information

CSC 1052 Algorithms & Data Structures II: Queues

CSC 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

Solutions Manual. Data Structures and Algorithms in Java, 5th edition International Student Version. M. T. Goodrich and R.

Solutions Manual. Data Structures and Algorithms in Java, 5th edition International Student Version. M. T. Goodrich and R. Solutions Manual Data Structures and Algorithms in Java, 5th edition International Student Version M. T. Goodrich and R. Tamassia Chapter 1 Reinforcement Solution R-1.1 Since, after the clone, A[4] and

More information

Unit 9 Practice Test (AB27-30)

Unit 9 Practice Test (AB27-30) Unit 9 Practice Test (AB27-30) Name 1. Consider the following method: public static int checktree(treenode root) return 0; int x = checktree(root.getleft()); if ( x >= 0 && checktree(root.getright()) ==

More information

Week 2. TA Lab Consulting - See schedule (cs400 home pages) Peer Mentoring available - Friday 8am-12pm, 12:15-1:30pm in 1289CS

Week 2. TA Lab Consulting - See schedule (cs400 home pages) Peer Mentoring available - Friday 8am-12pm, 12:15-1:30pm in 1289CS ASSIGNMENTS h0 available and due before 10pm on Monday 1/28 h1 available and due before 10pm on Monday 2/4 p1 available and due before 10pm on Thursday 2/7 Week 2 TA Lab Consulting - See schedule (cs400

More information

Linked List. ape hen dog cat fox. tail. head. count 5

Linked List. ape hen dog cat fox. tail. head. count 5 Linked Lists Linked List L tail head count 5 ape hen dog cat fox Collection of nodes with a linear ordering Has pointers to the beginning and end nodes Each node points to the next node Final node points

More information

CS 106B Practice Final Exam #8 (15au) ANSWER KEY

CS 106B Practice Final Exam #8 (15au) ANSWER KEY 1. Linked Lists (write) CS 106B Practice Final Exam #8 (15au) ANSWER KEY // solution 1 void LinkedIntList::partitionSort() { if (!front) { return; // empty list case ListNode* current = front; while (current->next!=

More information

CS 302 ALGORITHMS AND DATA STRUCTURES

CS 302 ALGORITHMS AND DATA STRUCTURES CS 302 ALGORITHMS AND DATA STRUCTURES A famous quote: Program = Algorithm + Data Structure General Problem You have some data to be manipulated by an algorithm E.g., list of students in a school Each student

More information

University of Illinois at Urbana-Champaign Department of Computer Science. First Examination

University of Illinois at Urbana-Champaign Department of Computer Science. First Examination University of Illinois at Urbana-Champaign Department of Computer Science First Examination CS 225 Data Structures and Software Principles Sample Exam 2 75 minutes permitted Print your name, netid, and

More information

CS S-20 Linked Lists IV 1

CS S-20 Linked Lists IV 1 CS112-2012S-20 Linked Lists IV 1 20-0: Doubly Linked List Deleting from (and inserting into!) a linked can be challenging because you need to find the node before the node you are looking for Once you

More information

! Tree: set of nodes and directed edges. ! Parent: source node of directed edge. ! Child: terminal node of directed edge

! Tree: set of nodes and directed edges. ! Parent: source node of directed edge. ! Child: terminal node of directed edge Trees (& Heaps) Week 12 Gaddis: 20 Weiss: 21.1-3 CS 5301 Spring 2015 Jill Seaman 1 Tree: non-recursive definition! Tree: set of nodes and directed edges - root: one node is distinguished as the root -

More information

MIDTERM EXAMINATION Spring 2010 CS301- Data Structures

MIDTERM EXAMINATION Spring 2010 CS301- Data Structures MIDTERM EXAMINATION Spring 2010 CS301- Data Structures Question No: 1 Which one of the following statement is NOT correct. In linked list the elements are necessarily to be contiguous In linked list the

More information

CS2210 Data Structures and Algorithms

CS2210 Data Structures and Algorithms CS2210 Data Structures and Algorithms Lecture 3: ADT and Java interfaces Instructor: Olga Veksler 2004 Goodrich, Tamassia Outline Review Data Structures Abstract Data Types 2 Principles of OO Programming

More information

CSCI 350 Virtual Machine Setup Guide

CSCI 350 Virtual Machine Setup Guide CSCI 350 Virtual Machine Setup Guide This guide will take you through the steps needed to set up the virtual machine to do the PintOS project. Both Macintosh and Windows will run just fine. We have yet

More information

CS S-20 Linked Lists III 1. We can then use the next pointer of the previous node to do removal (example on board)

CS S-20 Linked Lists III 1. We can then use the next pointer of the previous node to do removal (example on board) CS112-2012S-20 Linked Lists III 1 20-0: Linked List ious Practical Example: removeat(int index) remove( o) 20-1: removeat First need to get to node before the one we want to remove We can then use the

More information

Points off Total off Net Score. CS 314 Final Exam Spring 2017

Points off Total off Net Score. CS 314 Final Exam Spring 2017 Points off 1 2 3 4 5 6 Total off Net Score CS 314 Final Exam Spring 2017 Your Name Your UTEID Instructions: 1. There are 6 questions on this test. 100 points available. Scores will be scaled to 300 points.

More information

! A data structure representing a list. ! A series of dynamically allocated nodes. ! A separate pointer (the head) points to the first

! A data structure representing a list. ! A series of dynamically allocated nodes. ! A separate pointer (the head) points to the first Linked Lists Introduction to Linked Lists A data structure representing a Week 8 Gaddis: Chapter 17 CS 5301 Spring 2014 Jill Seaman A series of dynamically allocated nodes chained together in sequence

More information

Do not open this examination paper until instructed to do so. Answer all the questions.

Do not open this examination paper until instructed to do so. Answer all the questions. N08/5/COMSC/HP2/ENG/TZ0/XX 88087012 Computer science HIGHER level Paper 2 Monday 17 November 2008 (morning) 2 hours 15 minutes INSTRUCTIONS TO CANDIDATES Do not open this examination paper until instructed

More information

OF VICTORIA EXAMINATIONS- DECEMBER 2010 CSC

OF VICTORIA EXAMINATIONS- DECEMBER 2010 CSC Name: ID Number: UNIVERSITY OF VICTORIA EXAMINATIONS- DECEMBER 2010 CSC 225 - Algorithms and Data Structures: I Section A01 (CRN 1089) Instructor: Wendy Myrvold Duration: 3 hours TO BE ANSWERED ON THE

More information

CS134 Spring 2005 Final Exam Mon. June. 20, 2005 Signature: Question # Out Of Marks Marker Total

CS134 Spring 2005 Final Exam Mon. June. 20, 2005 Signature: Question # Out Of Marks Marker Total CS134 Spring 2005 Final Exam Mon. June. 20, 2005 Please check your tutorial (TUT) section from the list below: TUT 101: F 11:30, MC 4042 TUT 102: M 10:30, MC 4042 TUT 103: M 11:30, MC 4058 TUT 104: F 10:30,

More information

CSE 332: Data Structures. Spring 2016 Richard Anderson Lecture 1

CSE 332: Data Structures. Spring 2016 Richard Anderson Lecture 1 CSE 332: Data Structures Spring 2016 Richard Anderson Lecture 1 CSE 332 Team Instructors: Richard Anderson anderson at cs TAs: Hunter Zahn, Andrew Li hzahn93 at cs lia4 at cs 2 Today s Outline Introductions

More information

Advanced Linked Lists. Doubly Linked Lists Circular Linked Lists Multi- Linked Lists

Advanced Linked Lists. Doubly Linked Lists Circular Linked Lists Multi- Linked Lists Advanced Linked Lists Doubly Linked Lists Circular Linked Lists Multi- Linked Lists Review The singly linked list: consists of nodes linked in a single direction. access and traversals begin with the first

More information

RECURSION (CONTINUED)

RECURSION (CONTINUED) RECURSION (CONTINUED) Lecture 9 CS2110 Fall 2017 Prelim one week from Thursday 1. Visit Exams page of course website, check what time your prelim is, complete assignment P1Conflict ONLY if necessary. So

More information

CS171 Midterm Exam. October 29, Name:

CS171 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 information

ADTs, Arrays, Linked Lists

ADTs, Arrays, Linked Lists 1 ADTs, Arrays, Linked Lists Outline and Required Reading: ADTs ( 2.1) Using Arrays ( 3.1) Linked Lists ( 3.2, 3.3, 3.4) CSE 2011, Winter 2017 Instructor: N. Vlajic Data Type 2 A data type is a classification

More information

Computer Science 62. Midterm Examination

Computer Science 62. Midterm Examination Computer Science 62 Bruce/Mawhorter Fall 16 Midterm Examination October 5, 2016 Question Points Score 1 15 2 10 3 10 4 8 5 9 TOTAL 52 Your name (Please print) 1. Suppose you are given a singly-linked list

More information

Java language. Part 1. Java fundamentals. Yevhen Berkunskyi, NUoS

Java language. Part 1. Java fundamentals. Yevhen Berkunskyi, NUoS Java language Part 1. Java fundamentals Yevhen Berkunskyi, NUoS eugeny.berkunsky@gmail.com http://www.berkut.mk.ua What Java is? Programming language Platform: Hardware Software OS: Windows, Linux, Solaris,

More information

Computing Science 114 Solutions to Midterm Examination Tuesday October 19, In Questions 1 20, Circle EXACTLY ONE choice as the best answer

Computing Science 114 Solutions to Midterm Examination Tuesday October 19, In Questions 1 20, Circle EXACTLY ONE choice as the best answer Computing Science 114 Solutions to Midterm Examination Tuesday October 19, 2004 INSTRUCTOR: I E LEONARD TIME: 50 MINUTES In Questions 1 20, Circle EXACTLY ONE choice as the best answer 1 [2 pts] What company

More information

Assignment 1. Check your mailbox on Thursday! Grade and feedback published by tomorrow.

Assignment 1. Check your mailbox on Thursday! Grade and feedback published by tomorrow. Assignment 1 Check your mailbox on Thursday! Grade and feedback published by tomorrow. COMP250: Queues, deques, and doubly-linked lists Lecture 20 Jérôme Waldispühl School of Computer Science McGill University

More information

"apple" "grape" "grape" "grape" "apple"

apple grape grape grape apple Test 1: CPS 100 Owen Astrachan and Dee Ramm February 21, 1997 Name: Honor code acknowledgment (signature) Problem 1 Problem 2 Problem 3 Problem 4 Problem 5 Problem 6 TOTAL: value 10 pts. 9 pts. 21 pts.

More information

CS 2630 Computer Organization. Meeting 10/11: data structures in MIPS Brandon Myers University of Iowa

CS 2630 Computer Organization. Meeting 10/11: data structures in MIPS Brandon Myers University of Iowa CS 2630 Computer Organization Meeting 10/11: data structures in MIPS Brandon Myers University of Iowa Where we are going Compiler Instruction set architecture (e.g., MIPS) translating source code (C or

More information

Heaps in C. CHAN Hou Pong, Ken CSCI2100 Data Structures Tutorial 7

Heaps in C. CHAN Hou Pong, Ken CSCI2100 Data Structures Tutorial 7 Heaps in C CHAN Hou Pong, Ken CSCI2100 Data Structures Tutorial 7 Review on Heaps A heap is implemented as a binary tree It satisfies two properties: MinHeap: parent = child]

More information

Section I B COMPUTER SCIENCE SOLUTION

Section I B COMPUTER SCIENCE SOLUTION Computer Science Foundation Exam December 17, 2010 Section I B COMPUTER SCIENCE NO books, notes, or calculators may be used, and you must work entirely on your own. SOLUTION Question # Max Pts Category

More information

Analyzing Complexity of Lists

Analyzing Complexity of Lists Analyzing Complexity of Lists Operation Sorted Array Sorted Linked List Unsorted Array Unsorted Linked List Search( L, x ) O(logn) O( n ) O( n ) O( n ) Insert( L, x ) O(logn) O( n ) + O( 1 ) O( 1 ) + O(

More information

CMPSCI 187: Programming With Data Structures. Lecture #28: Binary Search Trees 21 November 2011

CMPSCI 187: Programming With Data Structures. Lecture #28: Binary Search Trees 21 November 2011 CMPSCI 187: Programming With Data Structures Lecture #28: Binary Search Trees 21 November 2011 Binary Search Trees The Idea of a Binary Search Tree The BinarySearchTreeADT Interface The LinkedBinarySearchTree

More information

9/26/2018 Data Structure & Algorithm. Assignment04: 3 parts Quiz: recursion, insertionsort, trees Basic concept: Linked-List Priority queues Heaps

9/26/2018 Data Structure & Algorithm. Assignment04: 3 parts Quiz: recursion, insertionsort, trees Basic concept: Linked-List Priority queues Heaps 9/26/2018 Data Structure & Algorithm Assignment04: 3 parts Quiz: recursion, insertionsort, trees Basic concept: Linked-List Priority queues Heaps 1 Quiz 10 points (as stated in the first class meeting)

More information

Section 1: True / False (2 points each, 30 pts total)

Section 1: True / False (2 points each, 30 pts total) Section 1: True / False (2 points each, 30 pts total) Circle the word TRUE or the word FALSE. If neither is circled, both are circled, or it impossible to tell which is circled, your answer will be considered

More information

Dynamic Data Structures

Dynamic Data Structures Dynamic Data Structures We have seen that the STL containers vector, deque, list, set and map can grow and shrink dynamically. We now examine how some of these containers can be implemented in C++. To

More information

CSE 143, Winter 2010 Midterm Exam Key

CSE 143, Winter 2010 Midterm Exam Key 1. ArrayList Mystery CSE 143, Winter 2010 Midterm Exam Key List (a) [10, 20, 10, 5] (b) [8, 2, 9, 7, -1, 55] (c) [0, 16, 9, 1, 64, 25, 25, 14, 0] Output [0, 10, 20, 10] [0, 0, 8, 9, -1, 55] [0, 0, 0, 0,

More information

CSE 143 SAMPLE MIDTERM

CSE 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 information