Test 2: CPS 100. Owen Astrachan. November 10, 2004
|
|
- Ralph Lyons
- 6 years ago
- Views:
Transcription
1 Test 2: CPS 100 Owen Astrachan November 10, 2004 Name: Login: Honor code acknowledgment (signature) Problem 1 value 22 pts. grade Problem 2 20 pts. Problem 3 22 pts. TOTAL: 64 pts. This test has 14 pages, be sure your test has them all. Do NOT spend too much time on one question remember that this class lasts 75 minutes. In writing code you do not need to worry about specifying the proper import statements. Assume that all libraries and packages we ve discussed are imported in any code you write. 1
2 Some common recurrences and their solutions. The class TreeNode used on this test. A T(n) = T(n/2) + O(1) O(log n) B T(n) = T(n/2) + O(n) O(n) C T(n) = 2T(n/2) + O(1) O(n) D T(n) = 2T(n/2) + O(n) O(n log n) E T(n) = T(n-1) + O(1) O(n) F T(n) = T(n-1) + O(n) O(n 2 ) G T(n) = 2T(n-1) + O(1) O(2 n ) public static class TreeNode { String info; TreeNode left; TreeNode right; TreeNode(String val, TreeNode lptr, TreeNode rptr) { info = val; left = lptr; right = rptr; 2
3 PROBLEM 1 : (Simple Stuff (22 points)) "koala" "grizzly" "polar" "brown" "panda" "teddy" "kodiak" Part A (3 points) What is the preorder traversal of the search tree above whose root is "koala"? Part B (3 points) The height of a tree is the number of edges on the longest root-to-leaf path, the height of the bear tree above is three. Draw another search tree with the same values, but whose height is two (you may need a different bear at the root of the new tree you draw). 3
4 Part C (4 points) The method count below returns the number of nodes in a tree. public static int count(treenode t){ if (t == null) return 0; return 1 + count(t.left) + count(t.right); The depth of a node is the number of edges from the root to the node. In the bear tree above "panda", "teddy", and "brown" have depth two; "kodiak" has depth three. Write the method depthcount that returns the number of nodes with the specified depth. The root of a tree has depth zero. * Returns number of nodes at specified depth in Tree t. public static int depthcount(treenode t, int depth){ 4
5 Part D (4 points) Write the method twochildcount that returns the number of nodes that have two children in a tree. For the tree above the method should return two since only "polar" and "koala" have two children. * Returns number of nodes with two children in t. public static int twochildcount(treenode t){ 5
6 Part E (4 points) The method longest below returns the length of the longest string in a tree. What is the big-oh complexity of this method and why (Justify your answer). * Return length of longest string in tree with given root. public static int longest(treenode root){ if (root == null) return 0; return Math.max(root.info.length(), Math.max(longest(root.left), longest(root.right))); Part F (4 points) The method reverse below reverses the links in a linked list so that the list shown on the left is changed to the list on the right by re-arranging links as a result of executing list = reverse(list). (ape, gorilla, monkey, orangutan) (orangutan, monkey, gorilla, ape) What is the complexity of reverse? Justify your answer. public static class Node{ String info; Node next; Node(String val, Node link){ info = val; next = link; public static Node reverse(node n){ if (n == null n.next == null) return n; // no nodes or 1, done Node afterme = reverse(n.next); // reverse rest // now find end of reversed list and link to me Node temp = afterme; while (temp.next!= null){ temp = temp.next; temp.next = n; n.next = null; return afterme; 6
7 PROBLEM 2 : (Trees and Lists oh My (20 points)) In this problem you ll write methods to convert a sorted ArrayList to a balanced binary search tree containing the same values stored in the ArrayList, and vice versa: a method to convert a tree to a sorted list. The picture below shows one example of a list and the tree that corresponds to the list. (the tree shows numbers, but Strings are stored in the tree, see the declarations at the beginning of this test) Part A (5 points) The method tree2list returns a sorted ArrayList containing the same values as the tree passed to the method. The general algorithm for the helper method tree2listaux is to perform an inorder traversal of the tree, adding a tree value to the list when the tree node is visited during the traversal. Since the inorder traversal of a search tree visits nodes in sorted order, the resulting list will be sorted. Complete the method tree2listaux, you should not write more than four statements and you may not modify the code in tree2list. * Return sorted list containing same values stored in search tree t. t is a search tree sorted list containing same values in t public static ArrayList tree2list(treenode t){ ArrayList list = new ArrayList(); tree2listaux(t,list); return list; * Add values of tree to list in sorted order. list stores values (in order) already visited root is the root of the (sub) tree to be added to list private static void tree2listaux(treenode root, ArrayList list){ if (root!= null){ 7
8 Part B (5 points) The general algorithm for converting a list to a tree is: Find the root of the tree, which is the middle element of the list. Make a node for the root, and recursively make left and right subtrees. The method list2tree calls a helper method that does the work, the helper method has parameters indicating the range in the list that is converted to a tree. Complete list2treeaux so that it works as specified. * Returns balanced tree from sorted list. list is sorted balanced search tree containing same values in list public static TreeNode list2tree(arraylist list){ return list2treeaux(list,0,list.size()-1); * Return balanced tree consisting of values in list in range * list[first]..list[last], including first and last, where list * is sorted. Returns null if first > last. list is sorted first is first index of list to be put into tree last is last index of list to be put into tree balanced tree containing values list[first]..list[last] private static TreeNode list2treeaux(arraylist list, int first, int last){ if (first > last) return null; int mid = (first + last)/2; String rootvalue = (String) list.get(mid); // add code here 8
9 Part C (3 points) Write a recurrence relation for the code you wrote for Part A. Justify the recurrence and indicate what its big-oh solution is. Part D (3 points) Write a recurrence relation for the code you wrote for Part B. Justify the recurrence. (If you wrote the simplest code for Part B the solution should be O(n) for an n-element array.) Part E (4 points) Suppose you want to convert a sorted linked-list into a search tree. Using the algorithm for Part B above yields an O(n log n) solution because finding the middle element takes O(n) time. Explain why this results in an O(n log n) algorithm and explain how to do the conversion in O(n) time by first creating an array from the linked list. 9
10 PROBLEM 3 : (Mercator Projection (22 points)) The code handout at the end of this test shows a main that reads a file and creates a map in which keys are the words in the file and the value corresponding to a key is a Counter that indicates how many time the word occurs in the file. Part of the code is reproduced below. Part A (4 points) Scanner s = new Scanner(f); Map m = new TreeMap(); while (s.hasnext()){ String str = (String) s.next(); Counter c = (Counter) m.get(str); if (c == null){ m.put(str, new Counter()); else { c.increment(); Complete the code fragment below so that it correctly stores in smax the word that occurs most frequently, and stores the number of occurrences of this word in max. int max = 0; String smax = null; // most frequent occurrences // most frequently occurring word Iterator it = m.keyset().iterator(); while (it.hasnext()){ String str = (String) it.next(); System.out.println("most frequent "+smax + " "+max); 10
11 Three methods are shown in the code at the end of the test: topthirty1, topthirty2, and topthirty3. Each does the same thing: returns an array of the 30 most-frequently occurring words in order so that the first element in the returned array is the most frequently occurring word, the second element in the array is the second most frequently occurring word, and so on. Each of the three methods works correctly. You ll be asked questions about each method which are reproduced below. Part B (6 points) Recall that the class Map.Entry stores both the key and the corresponding value of an entry in a map; both the key and the value can be obtained as shown in the code below. Explain in words why the method topthirty1 returns an array with the most frequently occurring word in the map stored at index 0 of the array, the second most frequently occurring word stored at index 1, and so on. You should mention how the Comparator works in the code. private static class EntryComparator implements Comparator{ public int compare(object o1, Object o2) { Map.Entry me1 = (Map.Entry) o1; Map.Entry me2 = (Map.Entry) o2; Counter c1 = (Counter) me1.getvalue(); Counter c2 = (Counter) me2.getvalue(); return c2.getvalue() - c1.getvalue(); public static String[] topthirty1(map m){ ArrayList list = new ArrayList(m.entrySet()); Collections.sort(list, new EntryComparator()); String[] a = new String[30]; for(int k=0; k < 30; k++){ Map.Entry entry = (Map.Entry) list.get(k); a[k] = (String)entry.getKey(); return a; 11
12 Part C (6 points) The method topthirty2 below uses a PriorityQueue to obtain the 30 most frequently occurring words in a map. Explain in words why the EntryComparator is needed when creating the priority queue and what the big-oh complexity of the method below is for finding the top 30 words in a map with N elements. Justify your answer. public static String[] topthirty2(map m){ PriorityQueue pq = new PriorityQueue(new EntryComparator()); pq.addall(m.entryset()); String[] list = new String[30]; for(int k=0; k < 30; k++){ Map.Entry entry = (Map.Entry) pq.remove(); list[k] = (String)entry.getKey(); return list; 12
13 Part D (6 points) The code below also uses a PriorityQueue, but never stores more than 30 elements in the queue. Explain three things: (A) why the class RevComp is used in the code; (B) why the index 30-k-1 is used in the statement below list[30-k-1] = (String) entry.getkey(); instead of using list[k]; and (C) why this method is more efficient than the other two methods. Justify your answers. private static class RevComp implements Comparator{ Comparator mycomp; public RevComp(Comparator c){ mycomp = c; public int compare(object o1, Object o2){ return -1*myComp.compare(o1,o2); public static String[] topthirty3(map m){ PriorityQueue pq = new PriorityQueue(new RevComp(new EntryComparator())); Iterator it = m.entryset().iterator(); while (it.hasnext()){ pq.add(it.next()); if (pq.size() > 30){ pq.remove(); String[] list = new String[30]; for(int k=0; k < 30; k++){ Map.Entry entry = (Map.Entry) pq.remove(); list[30-k-1] = (String) entry.getkey(); return list; 13
14 nothing on this page 14
15 import java.io.file; import java.util.*; import javax.swing.jfilechooser; class Counter { Nov 10, 04 1:24 Test2.java Page 1/3 private int mycount; * Construct a counter whose value is zero public Counter() { this(1); public Counter(int value) { mycount = value; * Returns the value of the counter. the value of the counter public int getvalue() { return mycount; * Zeros the counter so getvalue() == 0. public void clear() { mycount = 0; * Increase the value of the counter by one. public void increment() { mycount++; * Return a string representing the value of this counter. public String tostring(){ return ""+mycount; public class Test2 { private static JFileChooser ourchooser = new JFileChooser("."); private static class TreeNode { String info; TreeNode left; TreeNode right; TreeNode(String val, TreeNode lptr, TreeNode rptr) { info = val; left = lptr; right = rptr; private static class EntryComparator implements Comparator{ ); Map.Entry me2 = (Map.Entry) o2; Counter c1 = (Counter) me1.getvalue(); Counter c2 = (Counter) me2.getvalue(); return c2.getvalue() c1.getvalue(); private static class RevComp implements Comparator{ Comparator mycomp; public RevComp(Comparator c){ mycomp = c; public int compare(object o1, Object o2){ return 1*myComp.compare(o1,o2); public static String[] topthirty2(map m){ PriorityQueue pq = new PriorityQueue(new EntryComparator()); pq.addall(m.entryset()); String[] list = new String[30]; for(int k=0; k < 30; k++){ Map.Entry entry = (Map.Entry) pq.remove(); list[k] = (String)entry.getKey(); return list; public static String[] topthirty3(map m){ PriorityQueue pq = new PriorityQueue(new RevComp(new EntryComparator()) Iterator it = m.entryset().iterator(); while (it.hasnext()){ pq.add(it.next()); if (pq.size() > 30){ pq.remove(); String[] list = new String[30]; for(int k=0; k < 30; k++){ Map.Entry entry = (Map.Entry) pq.remove(); list[30 k 1] = (String)entry.getKey(); return list; public static String[] topthirty1(map m){ ArrayList list = new ArrayList(m.entrySet()); Collections.sort(list, new EntryComparator()); String[] a = new String[30]; for(int k=0; k < 30; k++){ Map.Entry entry = (Map.Entry) list.get(k); a[k] = (String)entry.getKey(); return a; Printed by Owen L. Astrachan Nov 10, 04 1:24 Test2.java Page 2/3 public int compare(object o1, Object o2) { Map.Entry me1 = (Map.Entry) o1; Wednesday November 10, 2004 Test2.java 1/2
16 Nov 10, 04 1:24 Test2.java Page 3/3 Printed by Owen L. Astrachan public static void main(string[] args){ int retval = ourchooser.showopendialog(null); if (retval == JFileChooser.APPROVE_OPTION){ File f = ourchooser.getselectedfile(); Scanner s = new Scanner(f); Map m = new TreeMap(); while (s.hasnext()){ String str = (String) s.next(); Counter c = (Counter) m.get(str); if (c == null){ m.put(str, new Counter()); else { c.increment(); String[] list1 = topthirty1(m); String[] list2 = topthirty2(m); String[] list3 = topthirty3(m); Wednesday November 10, 2004 Test2.java 2/2
Test 2: Compsci 100. Owen Astrachan. April 2, 2008
Test 2: Compsci 100 Owen Astrachan April 2, 2008 Name: (2 points) Login: Honor code acknowledgment (signature) Problem 1 Problem 2 Problem 3 Problem 4 TOTAL: value 32 pts. 6 pts. 22 pts. 20 pts. 80 pts.
More informationTest 2: Compsci 100. Owen Astrachan. November 12, 2008
Test 2: Compsci 100 Owen Astrachan November 12, 2008 Name: Login: Honor code acknowledgment (signature) (2 points) Problem 1 Problem 2 Problem 3 Problem 4 TOTAL: value 15 pts. 24 pts. 16 pts. 8 pts. 65
More informationTest 2: Compsci 100. Owen Astrachan. November 14, 2006
Test 2: Compsci 100 Owen Astrachan November 14, 2006 Name: Login: Honor code acknowledgment (signature) Problem 1 value 30 pts. grade Problem 2 22 pts. Problem 3 18 pts. Problem 4 22 pts. TOTAL: 92 pts.
More informationTest 1: Compsci 100. Owen Astrachan. February 15, 2006
Test 1: Compsci 100 Owen Astrachan February 15, 2006 Name: (2 points) Login: Honor code acknowledgment (signature) Problem 1 value 15 pts. grade Problem 2 12 pts. Problem 3 25 pts. Problem 4 21 pts. TOTAL:
More information"sort A" "sort B" "sort C" time (seconds) # of elements
Test 2: CPS 100 Owen Astrachan and Dee Ramm April 9, 1997 Name: Honor code acknowledgment (signature) Problem 1 value 15 pts. grade Problem 2 12 pts. Problem 3 17 pts. Problem 4 13 pts. Problem 5 12 pts.
More informationTest 1: CPS 100. Owen Astrachan. October 11, 2000
Test 1: CPS 100 Owen Astrachan October 11, 2000 Name: Login: Honor code acknowledgment (signature) Problem 1 Problem 2 Problem 3 Problem 4 TOTAL: value 30 pts. 16 pts. 12 pts. 20 pts. 78 pts. grade This
More informationCompsci 100. Owen Astrachan April 14, 2010
Compsci 100 Owen Astrachan April 14, 2010 Name: Login: Honor code acknowledgment (signature) Problem 1 Problem 2 Problem 3 Problem 4 Problem 5 TOTAL: value 10 pts. 24 pts. 22 pts. 16 pts. 16 pts. 88 pts.
More informationTest 2 Practice : Compsci 201
Test 2 Practice : Compsci 201 Owen Astrachan October 24, 2018 Name: NetID/Login: Community standard acknowledgment (signature) NetID value 1 pt. grade Problem 1 8 pts. Problem 2 18 pts. Problem 3 16 pts.
More informationTest 2: Compsci 100. Owen Astrachan. November 11, 2009
Test 2: Compsci 100 Owen Astrachan November 11, 2009 Name: NetID/Login: Honor code acknowledgment (signature) Problem 1 Problem 2 Problem 3 Problem 4 TOTAL: value 14 pts. 16 pts. 10 pts. 25 pts. 65 pts.
More informationTest 2: CPS 100. Owen Astrachan. April 3, Name: Login: (1 pt)
Test 2: CPS 00 Owen Astrachan April 3, 2003 Name: Login: ( pt) Honor code acknowledgment (signature) Problem value 7 pts. grade Problem 2 2 pts. Problem 3 22 pts. Problem 4 28 pts. TOTAL: 80 pts. This
More informationTest 1: CPS 100. Owen Astrachan. October 1, 2004
Test 1: CPS 100 Owen Astrachan October 1, 2004 Name: Login: Honor code acknowledgment (signature) Problem 1 value 20 pts. grade Problem 2 30 pts. Problem 3 20 pts. Problem 4 20 pts. TOTAL: 90 pts. This
More informationTest 2: CPS 100. Owen Astrachan. November 15, 2000
Test 2: CPS 100 Owen Astrachan November 15, 2000 Name: Login: Honor code acknowledgment (signature) Problem 1 Problem 2 Problem 3 Problem 4 Problem 5 TOTAL: value 12 pts. 30 pts. 8 pts. 20 pts. 16 pts.
More informationTest 1: CPS 100. Owen Astrachan. February 23, 2000
Test 1: CPS 100 Owen Astrachan February 23, 2000 Name: Login: Honor code acknowledgment (signature) Problem 1 value 19 pts. grade Problem 2 24 pts. Problem 3 8 pts. Problem 4 9 pts. Problem 5 6 pts. TOTAL:
More informationPROBLEM 1 : (ghiiknnt abotu orsst (9 points)) 1. In the Anagram program at the beginning of the semester it was suggested that you use selection sort
Test 2: CPS 100 Owen Astrachan November 19, 1997 Name: Honor code acknowledgment (signature) Problem 1 Problem 2 Problem 3 Problem 4 Problem 5 Problem 6 TOTAL: value 9 pts. 12 pts. 10 pts. 15 pts. 10 pts.
More informationPROBLEM 1 : (I'll huff and I'll puff and I'll... (10 pts)) The Huffman tree below is used for this problem. e s r o t Part A(4 points) Using this tree
Test 2: CPS 100 Owen Astrachan April 4, 2002 Name: (1 pt) Login: Honor code acknowledgment (signature) Problem 1 Problem 2 Problem 3 Problem 4 Problem 5 Problem 6 TOTAL: value 10 pts. 12 pts. 8 pts. 10
More informationDUKE UNIVERSITY Department of Computer Science. Test 2: CompSci 100
DUKE UNIVERSITY Department of Computer Science Test 2: CompSci 100 Name (print): Community Standard acknowledgment (signature): Problem 1 value 14 pts. grade Problem 2 9 pts. Problem 3 7 pts. Problem 4
More information// a stack is printed from bottom (leftmost) to top (rightmost) System.out.println(stk);
CompSci 100 Test 2 Spring 2011 Prof. Rodger April 14, 2011 Some common recurrence relations T(n) = T(n/2) +O(1) O(log n) T(n) = T(n/2) +O(n) O(n) T(n) = 2T(n/2) +O(1) O(n) T(n) = 2T(n/2) +O(n) O(n log
More informationTest #2. Login: 2 PROBLEM 1 : (Balance (6points)) Insert the following elements into an AVL tree. Make sure you show the tree before and after each ro
DUKE UNIVERSITY Department of Computer Science CPS 100 Fall 2003 J. Forbes Test #2 Name: Login: Honor code acknowledgment (signature) Name Problem 1 Problem 2 Problem 3 Problem 4 Problem 5 Problem 6 Problem
More informationCompSci 201 Tree Traversals & Heaps
CompSci 201 Tree Traversals & Heaps Jeff Forbes March 28, 2018 3/28/18 CompSci 201, Spring 2018, Heaps 1 R is for R Programming language of choice in Stats Random From Monte-Carlo to [0,1) Recursion Base
More information"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 informationCSCI-401 Examlet #5. Name: Class: Date: True/False Indicate whether the sentence or statement is true or false.
Name: Class: Date: CSCI-401 Examlet #5 True/False Indicate whether the sentence or statement is true or false. 1. The root node of the standard binary tree can be drawn anywhere in the tree diagram. 2.
More informationTest 2: CPS 103 Owen Astrachan November 19, 1993 Name: Honor code acknowledgement (signature) Problem 1 value 9 pts. grade Problem 2 12 pts. Problem 3
Test 2: CPS 103 Owen Astrachan November 19, 1993 Name: Honor code acknowledgement (signature) Problem 1 value 9 pts. grade Problem 2 12 pts. Problem 3 6 pts. Problem 4 12 pts. Problem 5 12 pts. Problem
More informationFriday Four Square! 4:15PM, Outside Gates
Binary Search Trees Friday Four Square! 4:15PM, Outside Gates Implementing Set On Monday and Wednesday, we saw how to implement the Map and Lexicon, respectively. Let's now turn our attention to the Set.
More informationSuppose we want to create a data structure called DataStore that has the following operations:
CompSci 100 Test 2 Fall 2010 Prof. Rodger Nov 18, 2010 Some common recurrence relations T(n) = T(n/2) +O(1) O(log n) T(n) = T(n/2) +O(n) O(n) T(n) = 2T(n/2) +O(1) O(n) T(n) = 2T(n/2) +O(n) O(n log n) T(n)
More informationPROBLEM 1 : (Short Answer: 13 points) Three points each, except for last two which are two points 1. Both bubble-sort and selection sort are O(n 2 ) s
Test 2: CPS 100 Owen Astrachan April 3, 1996 Name: Honor code acknowledgement (signature) Problem 1 Problem 2 Problem 3 Problem 4 Problem 5 EXTRA TOTAL: value 13 pts. 14 pts. 13 pts. 12 pts. 15 pts. 8
More informationDUKE UNIVERSITY Department of Computer Science. Test 2: CompSci 100e
DUKE UNIVERSITY Department of Computer Science Test 2: CompSci 100e Name (print): Community Standard acknowledgment (signature): Problem 1 value 14 pts. grade Problem 2 9 pts. Problem 3 10 pts. Problem
More informationCS61B Spring 2016 Guerrilla Section 3 Worksheet. 12 March 2016
Spring 2016 12 March 2016 Directions: In groups of 4-5, work on the following exercises. Do not proceed to the next exercise until everyone in your group has the answer and understands why the answer is
More informationSTUDENT LESSON AB30 Binary Search Trees
STUDENT LESSON AB30 Binary Search Trees Java Curriculum for AP Computer Science, Student Lesson AB30 1 STUDENT LESSON AB30 Binary Search Trees INTRODUCTION: A binary tree is a different kind of data structure
More informationclass for simulating a die (object "rolled" to generate a random number) Dice(int sides) -- constructor, sides specifies number of "sides" for the die
CPS 100, Ramm/Duvall Hour Exam #2 (4/1/98) Spring, 1998 NAME (print): Honor Acknowledgment (signature): DO NOT SPEND MORE THAN 10 MINUTES ON ANY OF THE OTHER QUESTIONS! If you don't see the solution to
More informationCS134 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 informationPROBLEM 1 : (Vocabulary: 8 points) For each of the words/phrases below, circle the denition that is the best description as it pertains in the context
Test 1: CPS 100 Owen Astrachan February 12, 1996 Name: Honor code acknowledgement (signature) Problem 1 Problem 2 Problem 3 Problem 4 Extra TOTAL: value 8 pts. 18 pts. 13 pts. 16 pts. 6 pts. 57 pts. grade
More informationAPCS :: Winter Quarter Exam Review Packet
APCS :: Winter Quarter 2007 -- Exam Review Packet O(n 2 ) Sorting algorithms. You should be able to derive the code for any of the three O(n 2 ) sorting algorithms in the following manner: 1. Assume you
More informationCS 231 Data Structures and Algorithms Fall Binary Search Trees Lecture 23 October 29, Prof. Zadia Codabux
CS 231 Data Structures and Algorithms Fall 2018 Binary Search Trees Lecture 23 October 29, 2018 Prof. Zadia Codabux 1 Agenda Ternary Operator Binary Search Tree Node based implementation Complexity 2 Administrative
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 informationCompsci 201 Recursion, Recurrences, & Trees
Compsci 201 Recursion, Recurrences, & Trees Owen Astrachan Jeff Forbes October 25, 2017 10/25/17 Compsci 201, Fall 2017, Recurrences 1 P is for Parallel Better and more complicated than serial? Planning
More information: Advanced Programming Final Exam Summer 2008 June 27, 2008
15-111 : Advanced Programming Final Exam Summer 2008 June 27, 2008 Name: Andrew ID: Answer the questions in the space provided following each question. We must be able to clearly understand your answer.
More informationQ1 Q2 Q3 Q4 Q5 Q6 Total
Name: SSN: Computer Science Foundation Exam May 5, 006 Computer Science Section 1A Q1 Q Q3 Q4 Q5 Q6 Total KNW KNW KNW ANL,DSN KNW DSN You have to do all the 6 problems in this section of the exam. Partial
More informationCS210 (161) with Dr. Basit Qureshi Final Exam Weight 40%
CS210 (161) with Dr. Basit Qureshi Final Exam Weight 40% Name ID Directions: There are 9 questions in this exam. To earn a possible full score, you must solve all questions. Time allowed: 180 minutes Closed
More information- 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 informationDiscussion 2C Notes (Week 8, February 25) TA: Brian Choi Section Webpage:
Discussion 2C Notes (Week 8, February 25) TA: Brian Choi (schoi@cs.ucla.edu) Section Webpage: http://www.cs.ucla.edu/~schoi/cs32 Trees Definitions Yet another data structure -- trees. Just like a linked
More informationCSE 332 Autumn 2013: Midterm Exam (closed book, closed notes, no calculators)
Name: Email address: Quiz Section: CSE 332 Autumn 2013: Midterm Exam (closed book, closed notes, no calculators) Instructions: Read the directions for each question carefully before answering. We will
More informationCS24 Week 8 Lecture 1
CS24 Week 8 Lecture 1 Kyle Dewey Overview Tree terminology Tree traversals Implementation (if time) Terminology Node The most basic component of a tree - the squares Edge The connections between nodes
More informationCSE 373 Winter 2009: Midterm #1 (closed book, closed notes, NO calculators allowed)
Name: Email address: CSE 373 Winter 2009: Midterm #1 (closed book, closed notes, NO calculators allowed) Instructions: Read the directions for each question carefully before answering. We may give partial
More informationTREES Lecture 12 CS2110 Spring 2018
TREES Lecture 12 CS2110 Spring 2018 Important Announcements 2 A4 is out now and due two weeks from today. Have fun, and start early! Data Structures 3 There are different ways of storing data, called data
More informationUniversity of Illinois at Urbana-Champaign Department of Computer Science. Second Examination
University of Illinois at Urbana-Champaign Department of Computer Science Second Examination CS 225 Data Structures and Software Principles Fall 2011 9a-11a, Wednesday, November 2 Name: NetID: Lab Section
More informationcameron grace derek cameron
Test 1: CPS 100E Owen Astrachan and Dee Ramm November 19, 1996 Name: Honor code acknowledgement (signature) Problem 1 Problem 2 Problem 3 Problem 4 Problem 5 Extra TOTAL: value 15 pts. 15 pts. 8 pts. 12
More information(b) int count = 0; int i = 1; while (i<m) { for (int j=i; j<n; j++) { count = count + 1; i = i + 1; O(M + N 2 ) (c) int count = 0; int i,j,k; for (i=1
CPS 100 Exam 2 Solutions Spring 199 Dr Rodger 1 (3 pts) A virtual function in C++ is bound dynamically or statically? dynamic 2 (3 pts) When does one use a class template in C++? Templates are used to
More informationINF2220: algorithms and data structures Series 1
Universitetet i Oslo Institutt for Informatikk A. Maus, R.K. Runde, I. Yu INF2220: algorithms and data structures Series 1 Topic Trees & estimation of running time (Exercises with hints for solution) Issued:
More informationCompsci 201 Binary Trees Dna Linked Assignment
Compsci 201 Dna Linked Assignment Owen Astrachan ola@cs.duke.edu October 19, 2018 1 N is for new Allocating memory from the heap null Value when nothing has been allocated next Iterating if hasnext 10/18/17
More informationTree Travsersals and BST Iterators
Tree Travsersals and BST Iterators PIC 10B May 25, 2016 PIC 10B Tree Travsersals and BST Iterators May 25, 2016 1 / 17 Overview of Lecture 1 Sorting a BST 2 In-Order Travsersal 3 Pre-Order Traversal 4
More informationDUKE UNIVERSITY Department of Computer Science. Test 1: CompSci 100
DUKE UNIVERSITY Department of Computer Science Test 1: CompSci 100 Name (print): Community Standard acknowledgment (signature): Problem 1 value 9 pts. grade Problem 2 9 pts. Problem 3 6 pts. Problem 4
More informationTree: non-recursive definition. Trees, Binary Search Trees, and Heaps. Tree: recursive definition. Tree: example.
Trees, Binary Search Trees, and Heaps CS 5301 Fall 2013 Jill Seaman Tree: non-recursive definition Tree: set of nodes and directed edges - root: one node is distinguished as the root - Every node (except
More informationBinary search trees (chapters )
Binary search trees (chapters 18.1 18.3) Binary search trees In a binary search tree (BST), every node is greater than all its left descendants, and less than all its right descendants (recall that this
More informationCmpSci 187: Programming with Data Structures Spring 2015
CmpSci 187: Programming with Data Structures Spring 2015 Lecture #17, Implementing Binary Search Trees John Ridgway April 2, 2015 1 Implementing Binary Search Trees Review: The BST Interface Binary search
More information! 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 informationComputer Science 136 Spring 2004 Professor Bruce. Final Examination May 19, 2004
Computer Science 136 Spring 2004 Professor Bruce Final Examination May 19, 2004 Question Points Score 1 10 2 8 3 15 4 12 5 12 6 8 7 10 TOTAL 65 Your name (Please print) I have neither given nor received
More informationChapter 20: Binary Trees
Chapter 20: Binary Trees 20.1 Definition and Application of Binary Trees Definition and Application of Binary Trees Binary tree: a nonlinear linked list in which each node may point to 0, 1, or two other
More informationProgramming II (CS300)
1 Programming II (CS300) Chapter 11: Binary Search Trees MOUNA KACEM mouna@cs.wisc.edu Fall 2018 General Overview of Data Structures 2 Introduction to trees 3 Tree: Important non-linear data structure
More informationBinary Search Trees. Contents. Steven J. Zeil. July 11, Definition: Binary Search Trees The Binary Search Tree ADT...
Steven J. Zeil July 11, 2013 Contents 1 Definition: Binary Search Trees 2 1.1 The Binary Search Tree ADT.................................................... 3 2 Implementing Binary Search Trees 7 2.1 Searching
More informationBinary Trees, Binary Search Trees
Binary Trees, Binary Search Trees Trees Linear access time of linked lists is prohibitive Does there exist any simple data structure for which the running time of most operations (search, insert, delete)
More informationTrees. A tree is a directed graph with the property
2: Trees Trees A tree is a directed graph with the property There is one node (the root) from which all other nodes can be reached by exactly one path. Seen lots of examples. Parse Trees Decision Trees
More informationBinary Search Trees Treesort
Treesort CS 311 Data Structures and Algorithms Lecture Slides Friday, November 13, 2009 Glenn G. Chappell Department of Computer Science University of Alaska Fairbanks CHAPPELLG@member.ams.org 2005 2009
More informationc) A perfect ternary tree of height h? (In a ternary tree, each node may have up to three children.)
Spring 2007 C343 Final Name: Username: Question 1 (10 points): How many nodes can there be in: a) A complete binary tree of height h? b) A perfect binary tree of height h? c) A perfect ternary tree of
More informationCS171 Final Practice Exam
CS171 Final Practice Exam Name: You are to honor the Emory Honor Code. This is a closed-book and closed-notes exam. You have 150 minutes to complete this exam. Read each problem carefully, and review your
More informationComputer Science E-22 Practice Final Exam
name Computer Science E-22 This exam consists of three parts. Part I has 10 multiple-choice questions that you must complete. Part II consists of 4 multi-part problems, of which you must complete 3, and
More informationCMPSCI 187: Programming With Data Structures. Lecture #26: Binary Search Trees David Mix Barrington 9 November 2012
CMPSCI 187: Programming With Data Structures Lecture #26: Binary Search Trees David Mix Barrington 9 November 2012 Binary Search Trees Why Binary Search Trees? Trees, Binary Trees and Vocabulary The BST
More informationCS 216 Exam 1 Fall SOLUTION
CS 216 Exam 1 Fall 2004 - SOLUTION Name: Lab Section: Email Address: Student ID # This exam is closed note, closed book. You will have an hour and fifty minutes total to complete the exam. You may NOT
More informationEXAMINATIONS 2006 SUMMER TRIMESTER. COMP103 Introduction to Data Structures and Algorithms
T E W H A R E W Ā N A N G A O T E Ū P O K O O T E I K A A M Ā U I ÎÍÏ V I C T O R I A UNIVERSITY OF WELLINGTON EXAMINATIONS 2006 SUMMER TRIMESTER COMP103 Introduction to Data Structures and Algorithms
More informationAdvanced Java Concepts Unit 5: Trees. Notes and Exercises
Advanced Java Concepts Unit 5: Trees. Notes and Exercises A Tree is a data structure like the figure shown below. We don t usually care about unordered trees but that s where we ll start. Later we will
More information! 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 Fall 2018 Jill Seaman!1 Tree: non-recursive definition! Tree: set of nodes and directed edges - root: one node is distinguished as the root - Every
More informationCOMP : Trees. COMP20012 Trees 219
COMP20012 3: Trees COMP20012 Trees 219 Trees Seen lots of examples. Parse Trees Decision Trees Search Trees Family Trees Hierarchical Structures Management Directories COMP20012 Trees 220 Trees have natural
More informationUniversity of Illinois at Urbana-Champaign Department of Computer Science. Second Examination
University of Illinois at Urbana-Champaign Department of Computer Science Second Examination CS 225 Data Structures and Software Principles Sample Exam 1 75 minutes permitted Print your name, netid, and
More informationComputer Science Foundation Exam
Computer Science Foundation Exam August 8, 2014 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 Passing
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 informationWeek 10. Sorting. 1 Binary heaps. 2 Heapification. 3 Building a heap 4 HEAP-SORT. 5 Priority queues 6 QUICK-SORT. 7 Analysing QUICK-SORT.
Week 10 1 2 3 4 5 6 Sorting 7 8 General remarks We return to sorting, considering and. Reading from CLRS for week 7 1 Chapter 6, Sections 6.1-6.5. 2 Chapter 7, Sections 7.1, 7.2. Discover the properties
More informationBinary search trees (chapters )
Binary search trees (chapters 18.1 18.3) Binary search trees In a binary search tree (BST), every node is greater than all its left descendants, and less than all its right descendants (recall that this
More informationName Section Number. CS210 Exam #3 *** PLEASE TURN OFF ALL CELL PHONES*** Practice
Name Section Number CS210 Exam #3 *** PLEASE TURN OFF ALL CELL PHONES*** Practice All Sections Bob Wilson OPEN BOOK / OPEN NOTES: You will have all 90 minutes until the start of the next class period.
More informationLecture 13: AVL Trees and Binary Heaps
Data Structures Brett Bernstein Lecture 13: AVL Trees and Binary Heaps Review Exercises 1. ( ) Interview question: Given an array show how to shue it randomly so that any possible reordering is equally
More informationCS171 Final Practice Exam
CS171 Final Practice Exam Name: You are to honor the Emory Honor Code. This is a closed-book and closed-notes exam. You have 150 minutes to complete this exam. Read each problem carefully, and review your
More informationSolution printed. Do not start the test until instructed to do so! CS 2604 Data Structures Midterm Spring Instructions:
VIRG INIA POLYTECHNIC INSTITUTE AND STATE U T PROSI M UNI VERSI TY Instructions: Print your name in the space provided below. This examination is closed book and closed notes, aside from the permitted
More informationBinary Trees. College of Computing & Information Technology King Abdulaziz University. CPCS-204 Data Structures I
Binary Trees College of Computing & Information Technology King Abdulaziz University CPCS-204 Data Structures I Outline Tree Stuff Trees Binary Trees Implementation of a Binary Tree Tree Traversals Depth
More informationTREES. Trees - Introduction
TREES Chapter 6 Trees - Introduction All previous data organizations we've studied are linear each element can have only one predecessor and successor Accessing all elements in a linear sequence is O(n)
More informationCOSC 2007 Data Structures II Final Exam. Part 1: multiple choice (1 mark each, total 30 marks, circle the correct answer)
COSC 2007 Data Structures II Final Exam Thursday, April 13 th, 2006 This is a closed book and closed notes exam. There are total 3 parts. Please answer the questions in the provided space and use back
More informationCMPSCI 187: Programming With Data Structures. Review for Final Exam David Mix Barrington 10 December 2012
CMPSCI 187: Programming With Data Structures Review for Final Exam David Mix Barrington 10 December 2012 Exam Overview Thursday 13 December, 1:30-3:30 p.m., Marcus 131 Format is the same as the Fall 2011
More informationTREES 11/1/18. Prelim Updates. Data Structures. Example Data Structures. Tree Overview. Tree. Singly linked list: Today: trees!
relim Updates Regrades are live until next Thursday @ :9M A few rubric changes are happening Recursion question: -0pts if you continued to print Exception handling write the output of execution of that
More information3137 Data Structures and Algorithms in C++
3137 Data Structures and Algorithms in C++ Lecture 4 July 17 2006 Shlomo Hershkop 1 Announcements please make sure to keep up with the course, it is sometimes fast paced for extra office hours, please
More informationLecture Notes on Binary Search Trees
Lecture Notes on Binary Search Trees 15-122: Principles of Imperative Computation Frank Pfenning André Platzer Lecture 16 March 17, 2015 1 Introduction In this lecture, we will continue considering ways
More informationFinal Exam. Name: Student ID: Section: Signature:
Final Exam PIC 10B, Spring 2016 Name: Student ID: Section: Discussion 3A (2:00 2:50 with Kelly) Discussion 3B (3:00 3:50 with Andre) I attest that the work presented in this exam is my own. I have not
More informationCS61BL: Data Structures & Programming Methodology Summer 2014
CS61BL: Data Structures & Programming Methodology Summer 2014 Instructor: Edwin Liao Midterm 2 July 30, 2014 Name: Student ID Number: Section Time: TA: Course Login: cs61bl-?? Person on Left: Possibly
More informationCS 307 Final Spring 2009
Points off 1 2 3 4 5 Total off Net Score CS 307 Final Spring 2009 Name UTEID login name Instructions: 1. Please turn off your cell phones. 2. There are 5 questions on this test. 3. You have 3 hours to
More informationWeek 10. Sorting. 1 Binary heaps. 2 Heapification. 3 Building a heap 4 HEAP-SORT. 5 Priority queues 6 QUICK-SORT. 7 Analysing QUICK-SORT.
Week 10 1 Binary s 2 3 4 5 6 Sorting Binary s 7 8 General remarks Binary s We return to sorting, considering and. Reading from CLRS for week 7 1 Chapter 6, Sections 6.1-6.5. 2 Chapter 7, Sections 7.1,
More informationCSE373 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 informationFINAL EXAMINATION. COMP-250: Introduction to Computer Science - Fall 2011
STUDENT NAME: STUDENT ID: McGill University Faculty of Science School of Computer Science FINAL EXAMINATION COMP-250: Introduction to Computer Science - Fall 2011 December 13, 2011 2:00-5:00 Examiner:
More informationINFO1x05 Tutorial 6. Exercise 1: Heaps and Priority Queues
INFO1x05 Tutorial 6 Heaps and Priority Queues Exercise 1: 1. How long would it take to remove the log n smallest elements from a heap that contains n entries, using the operation? 2. Suppose you label
More informationJava 1996 AP Computer Science Question 3
Java 1996 AP Computer Science Question 3 http://www.cs.duke.edu/csed/ap/exams/1996/ab3.html 1 of 2 7/8/2003 5:07 PM Java 1996 AP Computer Science Question 3 Assume that binary trees are implemented using
More informationLecture 15 Notes Binary Search Trees
Lecture 15 Notes Binary Search Trees 15-122: Principles of Imperative Computation (Spring 2016) Frank Pfenning, André Platzer, Rob Simmons 1 Introduction In this lecture, we will continue considering ways
More informationSuppose that the following is from a correct C++ program:
All multiple choice questions are equally weighted. You can generally assume that code shown in the questions is intended to be syntactically correct, unless something in the question or one of the answers
More informationCSI33 Data Structures
Outline Department of Mathematics and Computer Science Bronx Community College November 13, 2017 Outline Outline 1 C++ Supplement.1: Trees Outline C++ Supplement.1: Trees 1 C++ Supplement.1: Trees Uses
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 informationSelf-Balancing Search Trees. Chapter 11
Self-Balancing Search Trees Chapter 11 Chapter Objectives To understand the impact that balance has on the performance of binary search trees To learn about the AVL tree for storing and maintaining a binary
More information