Programming Languages ML Programming Project Due 9/28/2001, 5:00 p.m.
|
|
- Luke Stephens
- 5 years ago
- Views:
Transcription
1 Programming Languages ML Programming Project Due 9/28/2001, 5:00 p.m. Functional Suite Instead of writing a single ML program, you are going to write a suite of ML functions to complete various tasks. You must write all of the required functions, plus any helper functions that are needed to get your main functions working. Lists and Sorting Write the following functions, that deal with lists: zip: 'a list * b list -> ('a * 'b) list input: an ordered pair of lists. output: a list of ordered pairs. For example: - zip ([1, 2, 3],["a", "b", "c"]); val it = [(1,"a"),(2,"b"),(3,"c")] : (int * string) list - zip ([false, true],[4,9]); val it = [(false, 4),(true, 9)] : ( bool * string) list zip should raise an exception if called with lists that are not of equal length unzip : ('a * 'b) list -> 'a list * 'b list input: a list of ordered pairs output: an ordered pair of lists unzip is (unsurprisingly) an inverse zip function. Some examples: - unzip [(1, true), (3, false)]; val it = ([1, 3], [true, false]) : int list * bool list - unzip [("a", 3), ("c", 2), ("b", 1)]; val it = (["a", "c", "b"], [3, 2, 1]) : sting list * int list split : 'a list -> 'a list * 'a list input: a list of anything output: an ordered pair of lists, which consist if the original list split into even and odd indices. Some examples: split [1,2,3,4,5]; val it = ([1,3,5],[2,4]) : int list * int list - split ["a", "b", "c", "d"]; val it = (["a", "c"], ["b", "d"]); merge : ('a * 'a -> bool) -> ('a list * 'a list) -> 'a list intput: a less than function, and an ordered pair of lists (each sorted according to the less than function) output: a single list, sorted according to the less than function
2 - merge (op <) ([1,3,5],[2,9,12]); val it = [1,2,3,5,9,12] : int list mergesort : ('a * 'a -> bool) -> 'a list -> 'a list input: a less-than function and a list of elements output: the list sorted according to the less-than function mergesort uses split and merge to sort a list. The let val <varname> = <expression> in <expression> end construct might be useful here, as well as the functions: fun first(x,_) = x; and fun second(_,x) = x; Some examples: - mergesort (op <) [5,4,3,2,1]; val it = [1,2,3,4,5] int list - mergesort (op >) [4,2,3,1,5]; val it = [5,4,3,2,1] int list Trees The following datatype can be used to store any binary tree datatype 'a btree = empty node of 'a * 'a btree * 'a btree; Each tree node is either empty, or stores some data element, a left subtree and a right subtree. Write the following functions that manipulate binary trees: numnodes : 'a btree -> int input: a general binary tree output: the total number of nodes in the tree Some examples: - numnodes empty; val it = 0 : int - numnodes (node("a", node("b", empty, node("e", empty empty)), empty)); val it = 3 : int - numnodes (node(4, empty, empty)); val it = 3 : int maxvalue : ('a * 'a -> bool) -> 'a btree -> 'a input: a less than function and a general binary tree (not necessarily a Binary Search Tree) output: the largest value in the tree, according to the less than function. - maxvalue (op <) (node(1, node(3, empty, node(4, empty empty)), empty)); val it = 4 : integer; - maxvalue (op >) (node(1, node(3, empty, node(4, empty empty)), empty)); val it = 1 : integer; preorder : 'a btree -> 'a list output: the nodes of the binary tree, in the order that they would be visited in a preorder traversal
3 example: - preorder (node(2, node(1, empty, empty), node(3, empty, empty))); val it = [2,1,3] : int list postorder : 'a btree -> 'a list output: the nodes of the binary tree, in the order that they would be visited in a postorder traversal example: - postorder (node(2, node(1, empty, empty), node(3, empty, empty))); val it = [1,3,2] : int list inorder : 'a btree -> 'a list output: the nodes of the binary tree, in the order that they would be visited in an inorder traversal - inorder (node(2, node(1, empty, empty), node(3, empty, empty))); val it = [1,2,3] : int list insert: ('a * 'a -> bool) -> 'a btree -> 'a ->'a btree input: a less than function, a Binary Search Tree T, and an element e output: the binary search tree T with e inserted into the correct location - insert (op <) (node(2, node(1, empty, empty), node(3, empty, empty))) 4; val it = node(2, node(1, empty, empty), node(3, empty, node(4, empty, empty))) : int btree Note the ML interpreter may truncate the output when printed to the screen, just so that it can fit on one line. A # in the output is the ML interpreter's way of saying "...". It does not mean that the interpreter is returning a truncated value, just that the value is truncated when it is printed to the screen. So the interpreter may print out the following for the above output: val it = node(2, node(1, empty, empty), node(3, empty, # )) btreesort ('a * 'a -> bool) -> 'a list -> 'a list input: a less than function, and a list of elements output: the list of elements, sorted according to the less than function, using Binary Search Trees - btreesort (op <) [5,4,3,2,1]; val it = [1,2,3,4,5] int list - btreesort (op >) [4,2,3,1,5]; val it = [5,4,3,2,1] int list
4 Graphs Consider the following graph: a b c d We can represent this graph (among other ways) as an adjacency list, or as a set of edges: Adjacency list: [("a", ["b", "c", "d"]), ("b", ["c"]), ("c",[]), ("d",["c","b"])] Edge list: [("a","b"), ("b","c"), ("a","c"), ("a","d"), ("d","c"), ("d","b")] adjlist2edgelist: string * (string list) list -> string * string list input: an adjacency list representation of a graph output: an edge list representation of the graph - adjlist2edgelist [("a", ["b", "c", "d"]), ("b", ["c"]), ("c",[]), =("d",["c","b"])]; val it = [("a","b"), ("b","c"), ("a","c"), ("a","d"), ("d","c"), ("d","b")] : (string * string) list edgelist2adjlist: (string * string) list -> (string * (string list )) list input: an edge list representation of a graph output: an adjacency representation of a graph - edgelist2adjlist [("a","b"), ("b","c"), ("a","c"), ("a","d"), ("d","c"), =("d","b")]; val it = [("a", ["b", "c", "d"]), ("b", ["c"]), ("c",[]), =("d",[" c","b"])] : (string * string list) list Note that the item ("c",[]) is necessary! Programming Style Your code will need to have an introductory comment in the following format: (* <Your name> * CS 345 * Project 1 *)
5 Each of your functions should have a header comment that describes: The function's purpose What all the input parameters are (and any restrictions on the input parameters!!) What the function returns I should be able to use each function correctly after looking only at the header comment for that function. Remember that comments in ML are surrounded by (* and *) What to turn in A hardcopy of your ml source, with the code for all of the following functions (plus any helper functions): zip: 'a list * b list -> ('a * 'b) list unzip : ('a * 'b) list -> 'a list * 'b list split : 'a list -> 'a list * 'a list merge : ('a * 'a -> bool) -> ('a list * 'a list) -> 'a list mergesort : ('a * 'a -> bool) -> 'a list -> 'a list numnodes : 'a btree -> int maxvalue : ('a * 'a -> bool) -> 'a btree -> 'a preorder : 'a btree -> 'a list postorder : 'a btree -> 'a list inorder : 'a btree -> 'a list adjlist2edgelist: string * (string list) list -> string * string list edgelist2adjlist: (string * string) list -> (string * (string list )) list insert: ('a * 'a -> bool) -> 'a btree -> 'a ->'a btree btreesort ('a * 'a -> bool) -> 'a list -> 'a list note that you must use these exact names. You should also submit an electronic copy, copied to your submit directory. The filename of your electronic submission should be "prog1.ml". Do not use subdirectories in your submit directory, and be sure that the permissions are set correctly! Project Notes & Hints Note that you have 14 functions to write in 3 weeks which is ~5 functions / week, or a function every weekday. Start early, and work consistently for a pain-free assignment. Some of these functions are a little tricky, and will take some thinking time. The tree functions are probably the most straightforward, and the graph functions are probably the most tricky (though unzip might also take awhile to get completely correct).
Chapter 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 informationCSE 143 Final Exam Part 1 - August 18, 2011, 9:40 am
CSE 143 Final Exam Part 1 - August 18, 2011, 9:40 am Name Student ID # Section TA Name The exam is closed book, closed notes, closed devices, except that you may have a 5x8 card with handwritten notes
More informationSection 5.5. Left subtree The left subtree of a vertex V on a binary tree is the graph formed by the left child L of V, the descendents
Section 5.5 Binary Tree A binary tree is a rooted tree in which each vertex has at most two children and each child is designated as being a left child or a right child. Thus, in a binary tree, each vertex
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 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 informationCS Divide and Conquer
CS483-07 Divide and Conquer Instructor: Fei Li Room 443 ST II Office hours: Tue. & Thur. 1:30pm - 2:30pm or by appointments lifei@cs.gmu.edu with subject: CS483 http://www.cs.gmu.edu/ lifei/teaching/cs483_fall07/
More informationComputer Science 302 Spring 2007 Practice Final Examination: Part I
Computer Science 302 Spring 2007 Practice Final Examination: Part I Name: This practice examination is much longer than the real final examination will be. If you can work all the problems here, you will
More informationPrelim 2, CS2110. SOLUTION
Prelim 2, CS2110. SOLUTION 7:30 PM, 25 April 2017 1. Name (1 point) Write your name and NetID at the top of every page of this exam. 2. Short Answer (26 points.) (a) Asymptotic complexity. 8 points. Be
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 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 informationCSE 143 Final Part 1, August 18, 2011 Sample Solution
Question 1. (16 points) Binary Search Trees. (a) Draw a picture that shows the integer binary search tree that results when the following numbers are inserted into a new, empty binary search tree in the
More informationBRONX COMMUNITY COLLEGE of the City University of New York DEPARTMENT OF MATHEMATICS AND COMPUTER SCIENCE. Sample Final Exam
BRONX COMMUNITY COLLEGE of the City University of New York DEPARTMENT OF MATHEMATICS AND COMPUTER SCIENCE CSI33 Sample Final Exam NAME Directions: Solve problems 1 through 5 of Part I and choose 5 of the
More informationCS Divide and Conquer
CS483-07 Divide and Conquer Instructor: Fei Li Room 443 ST II Office hours: Tue. & Thur. 1:30pm - 2:30pm or by appointments lifei@cs.gmu.edu with subject: CS483 http://www.cs.gmu.edu/ lifei/teaching/cs483_fall07/
More informationCS 320 Homework One Due 2/5 11:59pm
Name: BU ID (no dashes): CS 320 Homework One Due 2/5 11:59pm Write your answers to the problems in the space indicated. Scan your solution and submit to Gradescope as a PDF file. You will receive an email
More informationTrees. Dr. Ronaldo Menezes Hugo Serrano Ronaldo Menezes, Florida Tech
Trees Dr. Ronaldo Menezes Hugo Serrano (hbarbosafilh2011@my.fit.edu) Introduction to Trees Trees are very common in computer science They come in different variations They are used as data representation
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 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 informationFall Lecture 8 Stephen Brookes
15-150 Fall 2018 Lecture 8 Stephen Brookes trees vs. lists Representing a collection as a (balanced) tree instead of a list may yield a parallel speed-up Using a sorted (balanced) tree may even yield faster
More informationUNIVERSITY OF MASSACHUSETTS LOWELL Department of Electrical and Computer Engineering. Program 8 EECE.3220 Data Structures Fall 2017
UNIVERSITY OF MASSACHUSETTS LOWELL Department of Electrical and Computer Engineering Program 8 EECE.3220 Data Structures Fall 2017 Binary Search Trees and Class Templates Word Counter Application The object
More informationFirst Semester - Question Bank Department of Computer Science Advanced Data Structures and Algorithms...
First Semester - Question Bank Department of Computer Science Advanced Data Structures and Algorithms.... Q1) What are some of the applications for the tree data structure? Q2) There are 8, 15, 13, and
More informationCSE 341, Autumn 2005, Assignment 3 ML - MiniML Interpreter
Due: Thurs October 27, 10:00pm CSE 341, Autumn 2005, Assignment 3 ML - MiniML Interpreter Note: This is a much longer assignment than anything we ve seen up until now. You are given two weeks to complete
More informationHomework 7: Subsets Due: 11:59 PM, Oct 23, 2018
CS17 Integrated Introduction to Computer Science Klein Contents Homework 7: Subsets Due: 11:59 PM, Oct 23, 2018 1 Bookends (Practice) 2 2 Subsets 3 3 Subset Sum 4 4 k-subsets 5 5 k-subset Sum 5 Objectives
More informationFall 2018 Lecture 7. Stephen Brookes
15-150 Fall 2018 Lecture 7 Stephen Brookes last time Sorting a list of integers Specifications and proofs helper functions that really help principles Every function needs a spec Every spec needs a proof
More informationBinary Trees
Binary Trees 4-7-2005 Opening Discussion What did we talk about last class? Do you have any code to show? Do you have any questions about the assignment? What is a Tree? You are all familiar with what
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 information* Due 11:59pm on Sunday 10/4 for Monday lab and Tuesday 10/6 Wednesday Lab
===Lab Info=== *100 points * Due 11:59pm on Sunday 10/4 for Monday lab and Tuesday 10/6 Wednesday Lab ==Assignment== In this assignment you will work on designing a class for a binary search tree. You
More informationCSC/MAT-220: Lab 6. Due: 11/26/2018
CSC/MAT-220: Lab 6 Due: 11/26/2018 In Lab 2 we discussed value and type bindings. Recall, value bindings bind a value to a variable and are intended to be static for the life of a program. Type bindings
More informationA Second Look At ML. Chapter Seven Modern Programming Languages, 2nd ed. 1
A Second Look At ML Chapter Seven Modern Programming Languages, 2nd ed. 1 Outline Patterns Local variable definitions A sorting example Chapter Seven Modern Programming Languages, 2nd ed. 2 Two Patterns
More informationRevision Statement while return growth rate asymptotic notation complexity Compare algorithms Linear search Binary search Preconditions: sorted,
[1] Big-O Analysis AVERAGE(n) 1. sum 0 2. i 0. while i < n 4. number input_number(). sum sum + number 6. i i + 1 7. mean sum / n 8. return mean Revision Statement no. of times executed 1 1 2 1 n+1 4 n
More informationSpring 2018 Lecture 8. Sorting Integer Trees
15-150 Spring 2018 Lecture 8 Sorting Integer Trees assessment msort(l) has O(n log n) work, where n is the length of L msort(l) has O(n) span So the speed-up factor obtainable by exploiting parallelism
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 informationCS52 - Assignment 8. Due Friday 4/15 at 5:00pm.
CS52 - Assignment 8 Due Friday 4/15 at 5:00pm https://xkcd.com/859/ This assignment is about scanning, parsing, and evaluating. It is a sneak peak into how programming languages are designed, compiled,
More informationCSC148-Section:L0301
Slides adapted from Professor Danny Heap course material winter17 CSC148-Section:L0301 Week#8-Friday Instructed by AbdulAziz Al-Helali a.alhelali@mail.utoronto.ca Office hours: Wednesday 11-1, BA2230.
More informationINF2220: algorithms and data structures Series 1
Universitetet i Oslo Institutt for Informatikk I. Yu, D. Karabeg INF2220: algorithms and data structures Series 1 Topic Function growth & estimation of running time, trees Issued: 24. 08. 2016 Exercise
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 informationA set of nodes (or vertices) with a single starting point
Binary Search Trees Understand tree terminology Understand and implement tree traversals Define the binary search tree property Implement binary search trees Implement the TreeSort algorithm 2 A set of
More informationPatterns The Essence of Functional Programming
Patterns The Essence of Functional Programming Up to now we have defined functions in a very traditional way: function name + variable name parameters Read Chap 7 In functional programming we can exploit
More informationProblem Set 3 Due: 11:59 pm on Thursday, September 25
CS235 Languages and Automata Handout # 6 Prof. Lyn Turbak September 18, 2008 Wellesley College Problem Set 3 Due: 11:59 pm on Thursday, September 25 Reading: Handout #4: Standard ML of New Jersey (SML/NJ)
More informationCS52 - Assignment 7. Due Friday 11/13 at 5:00pm. https://xkcd.com/538/
CS52 - Assignment 7 Due Friday 11/13 at 5:00pm https://xkcd.com/538/ For this assignment we will be writing code that allows us to encrypt and decrypt strings using RSA encryption. Put your solution in
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 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 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 informationPrelim 2 Solution. CS 2110, November 19, 2015, 5:30 PM Total. Sorting Invariants Max Score Grader
Prelim 2 CS 2110, November 19, 2015, 5:30 PM 1 2 3 4 5 6 Total Question True Short Complexity Searching Trees Graphs False Answer Sorting Invariants Max 20 15 13 14 17 21 100 Score Grader The exam is closed
More informationChapter 6 Abstract Datatypes
Plan Chapter 6 Abstract Datatypes (Version of 17 November 2005) 1. Application: correctly parenthesised texts...... 6.2 2. An abstract datatype for stacks................ 6.6 3. Realisation of the stack
More informationCS3114 (Fall 2013) PROGRAMMING ASSIGNMENT #2 Due Tuesday, October 11:00 PM for 100 points Due Monday, October 11:00 PM for 10 point bonus
CS3114 (Fall 2013) PROGRAMMING ASSIGNMENT #2 Due Tuesday, October 15 @ 11:00 PM for 100 points Due Monday, October 14 @ 11:00 PM for 10 point bonus Updated: 10/10/2013 Assignment: This project continues
More informationPrelim 2 SOLUTION. 5:30 PM, 25 April Total Question Name Short Search/ Collections Trees Graphs
Prelim 2 SOLUTION 5:30 PM, 25 April 2017 1 2 3 4 5 6 Total Question Name Short Search/ Collections Trees Graphs answer sort stuff Max 1 26 18 15 20 20 100 Score Grader 1. Name (1 point) Write your name
More information銘傳大學九十二學年度轉學生招生考試 七月二十六日第三節 資料結構試題
銘傳大學九十二學年度轉學生招生考試 七月二十六日第三節 資料結構試題 一 (60%) Multiple choice, For each question, choose the best answer. 1. Let T be an extended binary search tree. Assume that the internal path length I of T is 25, and
More informationCOMP 250 Fall recurrences 2 Oct. 13, 2017
COMP 250 Fall 2017 15 - recurrences 2 Oct. 13, 2017 Here we examine the recurrences for mergesort and quicksort. Mergesort Recall the mergesort algorithm: we divide the list of things to be sorted into
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 informationBinary Tree Node Relationships. Binary Trees. Quick Application: Expression Trees. Traversals
Binary Trees 1 Binary Tree Node Relationships 2 A binary tree is either empty, or it consists of a node called the root together with two binary trees called the left subtree and the right subtree of the
More informationBinary Trees. For example: Jargon: General Binary Trees. root node. level: internal node. edge. leaf node. Data Structures & File Management
Binary Trees 1 A binary tree is either empty, or it consists of a node called the root together with two binary trees called the left subtree and the right subtree of the root, which are disjoint from
More informationHigher-Order Functions
Higher-Order Functions Tjark Weber Functional Programming 1 Based on notes by Pierre Flener, Jean-Noël Monette, Sven-Olof Nyström Tjark Weber (UU) Higher-Order Functions 1 / 1 Tail Recursion http://xkcd.com/1270/
More informationA Third Look At ML. Chapter Nine Modern Programming Languages, 2nd ed. 1
A Third Look At ML Chapter Nine Modern Programming Languages, 2nd ed. 1 Outline More pattern matching Function values and anonymous functions Higher-order functions and currying Predefined higher-order
More informationFormal Languages and Automata Theory, SS Project (due Week 14)
Formal Languages and Automata Theory, SS 2018. Project (due Week 14) 1 Preliminaries The objective is to implement an algorithm for the evaluation of an arithmetic expression. As input, we have a string
More informationCS 1110: Introduction to Computing Using Python Loop Invariants
CS 1110: Introduction to Computing Using Python Lecture 21 Loop Invariants [Andersen, Gries, Lee, Marschner, Van Loan, White] Announcements Prelim 2 conflicts due by midnight tonight Lab 11 is out Due
More informationPrelim 2, CS :30 PM, 25 April Total Question Name Short Search/ Collections Trees Graphs
Prelim 2, CS2110 7:30 PM, 25 April 2017 1 2 3 4 5 6 Total Question Name Short Search/ Collections Trees Graphs answer sort stuff Max 1 26 18 15 20 20 100 Score Grader The exam is closed book and closed
More informationData Structures and Algorithms
Data Structures and Algorithms CS245-2008S-19 B-Trees David Galles Department of Computer Science University of San Francisco 19-0: Indexing Operations: Add an element Remove an element Find an element,
More informationBinary Trees. BSTs. For example: Jargon: Data Structures & Algorithms. root node. level: internal node. edge.
Binary Trees 1 A binary tree is either empty, or it consists of a node called the root together with two binary trees called the left subtree and the right subtree of the root, which are disjoint from
More informationProblem Set 6 Due: 11:59 Sunday, April 29
CS230 Data Structures Handout # 36 Prof. Lyn Turbak Monday, April 23 Wellesley College Problem Set 6 Due: 11:59 Sunday, April 29 Reading: You are expected to read and understand all of the following handouts,
More informationCSE143 Summer 2008 Final Exam Part B KEY August 22, 2008
CSE143 Summer 2008 Final Exam Part B KEY August 22, 2008 Name : Section (eg. AA) : TA : This is an open-book/open-note exam. Space is provided for your answers. Use the backs of pages if necessary. The
More informationUniversity of Toronto Department of Electrical and Computer Engineering. Midterm Examination. ECE 345 Algorithms and Data Structures Fall 2010
University of Toronto Department of Electrical and Computer Engineering Midterm Examination ECE 345 Algorithms and Data Structures Fall 2010 Print your name and ID number neatly in the space provided below;
More informationCS2110 Assignment 3 Inheritance and Trees, Summer 2008
CS2110 Assignment 3 Inheritance and Trees, Summer 2008 Due Sunday July 13, 2008, 6:00PM 0 Introduction 0.1 Goals This assignment will help you get comfortable with basic tree operations and algorithms.
More informationData Structures and Algorithms
Data Structures and Algorithms CS245-2017S-06 Binary Search Trees David Galles Department of Computer Science University of San Francisco 06-0: Ordered List ADT Operations: Insert an element in the list
More information1 Ordered Sets and Tables
Lecture 21 Fun With Trees Parallel and Sequential Data Structures and Algorithms, 15-210 (Fall 2013) Lectured by Danny Sleator Nov 7, 2013 Today: - Ordered Sets - Augmenting Balanced Trees 1 Ordered Sets
More informationCode No: R Set No. 1
Code No: R05010106 Set No. 1 1. (a) Draw a Flowchart for the following The average score for 3 tests has to be greater than 80 for a candidate to qualify for the interview. Representing the conditional
More informationPrelim 2. 5:30 PM, 25 April Total Question Name Short Search/ Collections Trees Graphs. Max Score Grader
Prelim 2 5:30 PM, 25 April 2017 1 2 3 4 5 6 Total Question Name Short Search/ Collections Trees Graphs answer sort stuff Max 1 26 18 15 20 20 100 Score Grader The exam is closed book and closed notes.
More informationPlan (next 4 weeks) 1. Fast forward. 2. Rewind. 3. Slow motion. Rapid introduction to what s in OCaml. Go over the pieces individually
Plan (next 4 weeks) 1. Fast forward Rapid introduction to what s in OCaml 2. Rewind 3. Slow motion Go over the pieces individually History, Variants Meta Language Designed by Robin Milner @ Edinburgh Language
More informationCIS 194: Homework 3. Due Wednesday, February 11, Interpreters. Meet SImPL
CIS 194: Homework 3 Due Wednesday, February 11, 2015 Interpreters An interpreter is a program that takes another program as an input and evaluates it. Many modern languages such as Java 1, Javascript,
More informationPrelim 2. CS 2110, 16 November 2017, 7:30 PM Total Question Name Short Heaps Tree Collections Sorting Graph
Prelim 2 CS 2110, 16 November 2017, 7:30 PM 1 2 3 4 5 6 7 Total Question Name Short Heaps Tree Collections Sorting Graph answer Max 1 18 10 25 10 16 20 100 Score Grader The exam is closed book and closed
More informationData Structures Brett Bernstein
Data Structures Brett Bernstein Final Review 1. Consider a binary tree of height k. (a) What is the maximum number of nodes? (b) What is the maximum number of leaves? (c) What is the minimum number of
More informationMath 15 - Spring Homework 5.2 Solutions
Math 15 - Spring 2017 - Homework 5.2 Solutions 1. (5.2 # 14 (not assigned)) Use Prim s algorithm to construct a minimal spanning tree for the following network. Draw the minimal tree and compute its total
More informationMarch 20/2003 Jayakanth Srinivasan,
Definition : A simple graph G = (V, E) consists of V, a nonempty set of vertices, and E, a set of unordered pairs of distinct elements of V called edges. Definition : In a multigraph G = (V, E) two or
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 informationCS 11 Ocaml track: lecture 4. Today: modules
CS 11 Ocaml track: lecture 4 Today: modules The idea of modules What's the idea behind a "module"? Package up code so other people/programs can use it Control what parts of code are part of the interface
More informationAbstract Data Structures IB Computer Science. Content developed by Dartford Grammar School Computer Science Department
Abstract Data Structures IB Computer Science Content developed by Dartford Grammar School Computer Science Department HL Topics 1-7, D1-4 1: System design 2: Computer Organisation 3: Networks 4: Computational
More informationName: Entry: Gp: 1. CSL 102: Introduction to Computer Science. Minor 2 Mon 21 Mar 2005 VI 301(Gps 1-6)& VI 401(Gps 7-8) 9:30-10:30 Max Marks 40
Name: Entry: Gp: 1 CSL 102: Introduction to Computer Science Minor 2 Mon 21 Mar 2005 VI 301(Gps 1-6)& VI 401(Gps 7-8) 9:30-10:30 Max Marks 40 1. Answer in the space provided on the question paper. 2. The
More informationCS 2223 B15 Term. Homework 4
CS 2223 B15 Term. Homework 4 Homework Instructions This homework is to be completed individually. If you have any questions as to what constitutes improper behavior, review the examples as I have posted
More informationTrees. (Trees) Data Structures and Programming Spring / 28
Trees (Trees) Data Structures and Programming Spring 2018 1 / 28 Trees A tree is a collection of nodes, which can be empty (recursive definition) If not empty, a tree consists of a distinguished node r
More informationCourse goals. exposure to another language. knowledge of specific data structures. impact of DS design & implementation on program performance
Course goals exposure to another language C++ Object-oriented principles knowledge of specific data structures lists, stacks & queues, priority queues, dynamic dictionaries, graphs impact of DS design
More informationLAB 5, THE HIDDEN DELIGHTS OF LINKED LISTS
LAB 5, THE HIDDEN DELIGHTS OF LINKED LISTS Questions are based on the Main and Savitch review questions for chapter 5 in the Exam Preparation section of the webct course page. In case you haven t observed
More informationPrelim 2. CS 2110, November 20, 2014, 7:30 PM Extra Total Question True/False Short Answer
Prelim 2 CS 2110, November 20, 2014, 7:30 PM 1 2 3 4 5 Extra Total Question True/False Short Answer Complexity Induction Trees Graphs Extra Credit Max 20 10 15 25 30 5 100 Score Grader The exam is closed
More informationDay 10. COMP1006/1406 Summer M. Jason Hinek Carleton University
Day 10 COMP1006/1406 Summer 2016 M. Jason Hinek Carleton University today s agenda assignments Only the Project is left! Recursion Again Efficiency 2 last time... recursion... binary trees... 3 binary
More informationBinary Search Trees. See Section 11.1 of the text.
Binary Search Trees See Section 11.1 of the text. Consider the following Binary Search Tree 17 This tree has a nice property: for every node, all of the nodes in its left subtree have values less than
More informationLab 10: OCaml sequences, comparators, stable sorting 12:00 PM, Nov 12, 2017
Integrated Introduction to Computer Science Hughes Lab 10: OCaml sequences, comparators, stable sorting 12:00 PM, Nov 12, 2017 Contents 1 A last OCaml type, and its utility 1 1.1 Sequences in OCaml....................................
More informationCS 231 Data Structures and Algorithms Fall Binary Trees, Comparator Lecture 22 October 26, Prof. Zadia Codabux
CS 231 Data Structures and Algorithms Fall 2018 Binary Trees, Comparator Lecture 22 October 26, 2018 Prof. Zadia Codabux 1 Agenda Binary Tree Traversal Comparator Tenary Operator 2 Administrative None.
More informationComputer Science CSC324 Wednesday February 13, Homework Assignment #3 Due: Thursday February 28, 2013, by 10 p.m.
Computer Science CSC324 Wednesday February 13, 2013 St. George Campus University of Toronto Homework Assignment #3 Due: Thursday February 28, 2013, by 10 p.m. Silent Policy A silent policy takes effect
More informationOverview. CS301 Session 3. Problem set 1. Thinking recursively
Overview CS301 Session 3 Review of problem set 1 S-expressions Recursive list processing Applicative programming A look forward: local variables 1 2 Problem set 1 Don't use begin unless you need a side
More informationCS F-11 B-Trees 1
CS673-2016F-11 B-Trees 1 11-0: Binary Search Trees Binary Tree data structure All values in left subtree< value stored in root All values in the right subtree>value stored in root 11-1: Generalizing BSTs
More informationData Structure and Algorithm, Spring 2013 Midterm Examination 120 points Time: 2:20pm-5:20pm (180 minutes), Tuesday, April 16, 2013
Data Structure and Algorithm, Spring 2013 Midterm Examination 120 points Time: 2:20pm-5:20pm (180 minutes), Tuesday, April 16, 2013 Problem 1. In each of the following question, please specify if the statement
More informationProgramming Standards: You must conform to good programming/documentation standards. Some specifics:
CS3114 (Spring 2011) PROGRAMMING ASSIGNMENT #3 Due Thursday, April 7 @ 11:00 PM for 100 points Early bonus date: Wednesday, April 6 @ 11:00 PM for a 10 point bonus Initial Schedule due Thursday, March
More informationDATA STRUCTURES AND ALGORITHMS. Hierarchical data structures: AVL tree, Bayer tree, Heap
DATA STRUCTURES AND ALGORITHMS Hierarchical data structures: AVL tree, Bayer tree, Heap Summary of the previous lecture TREE is hierarchical (non linear) data structure Binary trees Definitions Full tree,
More informationCourse Name: B.Tech. 3 th Sem. No of hours allotted to complete the syllabi: 44 Hours No of hours allotted per week: 3 Hours. Planned.
Course Name: B.Tech. 3 th Sem. Subject: Data Structures No of hours allotted to complete the syllabi: 44 Hours No of hours allotted per week: 3 Hours Paper Code: ETCS-209 Topic Details No of Hours Planned
More informationProblem Set 1 Due: 11:59pm Wednesday, February 7
CS251 Programming Languages Handout # 13 Prof. Lyn Turbak January 31, 2007 Wellesley College Reading: Problem Set 1 Due: 11:59pm Wednesday, February 7 Handouts #1 #12 (only Chapters 1 5 of Handout #9 =
More informationAssignment 0. Computer Science 52. Due Friday, September 7, 2018, at 5:00 pm
Computer Science 52 Assignment 0 Due Friday, September 7, 2018, at 5:00 pm This assignment is simply to check out that you have access to and can use the SML system. It is not factored into your course
More informationComputer Science E-119 Fall Problem Set 4. Due prior to lecture on Wednesday, November 28
Computer Science E-119 Fall 2012 Due prior to lecture on Wednesday, November 28 Getting Started To get the files that you will need for this problem set, log into nice.harvard.edu and enter the following
More information2-3 and Trees. COL 106 Shweta Agrawal, Amit Kumar, Dr. Ilyas Cicekli
2-3 and 2-3-4 Trees COL 106 Shweta Agrawal, Amit Kumar, Dr. Ilyas Cicekli Multi-Way Trees A binary search tree: One value in each node At most 2 children An M-way search tree: Between 1 to (M-1) values
More informationCS Lecture 19: Loop invariants
CS 1110 Lecture 19: Loop invariants Announcements Prelim 2 conflicts Today (April 2) is two weeks before the prelim, and the deadline for submitting prelim conflicts. Instructor travel This week and the
More informationCS302 - Data Structures using C++
CS302 - Data Structures using C++ Topic: Trees Kostas Alexis Trees List, stacks, and queues are linear in their organization of data. Items are one after another In this section, we organize data in a
More information3137 Data Structures and Algorithms in C++
3137 Data Structures and Algorithms in C++ Lecture 3 July 12 2006 Shlomo Hershkop 1 Announcements Homework 2 out tonight Please make sure you complete hw1 asap if you have issues, please contact me will
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 information