Lecture 25. Sequence Algorithms (Continued)
|
|
- Bathsheba Riley
- 6 years ago
- Views:
Transcription
1 Lecture 25 Sequence Algoritms (Continued)
2 Announcements for Tis Lecture Assignment & Lab A6 is not graded yet Done by end of classes A7 due Wed, Dec. 10 Wednesday after classes Keep on top of milestones Is your paddle moving? Lab Today: Office Hours Get elp on A7 paddle Anyone can go to any lab Next Wee Last Wee of Class! Finis sorting algoritms Special final lecture Lab eld, but is optional More invariant practice Also use lab time on A7 Details about te exam Multiple review sessions 11/25/14 Sequences (Continued) 2
3 Recall: Horizontal Notation 0 len(b) b <= sorted >= Example of an assertion about an sequence b. It asserts tat: 1. b[0.. 1] is sorted (i.e. its values are in ascending order) 2. Everyting in b[0.. 1] is everyting in b[..len(b) 1] b 0 Given index of te first element of a segment and index of te element tat follows tat segment, te number of values in te segment is. b[.. 1] as elements in it. +1 (+1) = 1 11/25/14 Sequences (Continued) 3
4 Partition Algoritm Given a sequence b[..] wit some value x in b[]: pre: b x? Swap elements of b[..] and store in j to trutify post: i i+1 post: b <= x x >= x inv: b i j <= x x? >= x Agrees wit precondition wen i =, j = +1 Agrees wit postcondition wen j = i+1 11/25/14 Sequences (Continued) 4
5 Partition Algoritm Implementation def partition(b,, ): """Partition list b[..] around a pivot x = b[]""" i = ; j = +1; x = b[] # invariant: b[..i-1] < x, b[i] = x, b[j..] >= x wile i < j-1: if b[i+1] >= x: # Move to end of bloc. _swap(b,i+1,j-1) j = j - 1 else: # b[i+1] < x _swap(b,i,i+1) i = i + 1 # post: b[..i-1] < x, b[i] is x, and b[i+1..] >= x return i partition(b,,), not partition(b[:+1]) Remember, slicing always copies te list! We want to partition te original list 11/25/14 Sequences (Continued) 5
6 Partition Algoritm Implementation def partition(b,, ): """Partition list b[..] around a pivot x = b[]""" i = ; j = +1; x = b[] # invariant: b[..i-1] < x, b[i] = x, b[j..] >= x wile i < j-1: if b[i+1] >= x: # Move to end of bloc. _swap(b,i+1,j-1) j = j - 1 else: # b[i+1] < x _swap(b,i,i+1) i = i + 1 # post: b[..i-1] < x, b[i] is x, and b[i+1..] >= x return i <= x x? >= x i i+1 j /25/14 Sequences (Continued) 6
7 Partition Algoritm Implementation def partition(b,, ): """Partition list b[..] around a pivot x = b[]""" i = ; j = +1; x = b[] # invariant: b[..i-1] < x, b[i] = x, b[j..] >= x wile i < j-1: if b[i+1] >= x: # Move to end of bloc. _swap(b,i+1,j-1) j = j - 1 else: # b[i+1] < x _swap(b,i,i+1) i = i + 1 # post: b[..i-1] < x, b[i] is x, and b[i+1..] >= x return i <= x x? >= x i i+1 j i i+1 j /25/14 Sequences (Continued) 7
8 Partition Algoritm Implementation def partition(b,, ): """Partition list b[..] around a pivot x = b[]""" i = ; j = +1; x = b[] # invariant: b[..i-1] < x, b[i] = x, b[j..] >= x wile i < j-1: if b[i+1] >= x: # Move to end of bloc. _swap(b,i+1,j-1) j = j - 1 else: # b[i+1] < x _swap(b,i,i+1) i = i + 1 # post: b[..i-1] < x, b[i] is x, and b[i+1..] >= x return i <= x x? >= x i i+1 j i i+1 j i j /25/14 Sequences (Continued) 8
9 Partition Algoritm Implementation def partition(b,, ): """Partition list b[..] around a pivot x = b[]""" i = ; j = +1; x = b[] # invariant: b[..i-1] < x, b[i] = x, b[j..] >= x wile i < j-1: if b[i+1] >= x: # Move to end of bloc. _swap(b,i+1,j-1) j = j - 1 else: # b[i+1] < x _swap(b,i,i+1) i = i + 1 # post: b[..i-1] < x, b[i] is x, and b[i+1..] >= x return i <= x x? >= x i i+1 j i i+1 j i j i j /25/14 Sequences (Continued) 9
10 Dutc National Flag Variant Sequence of integer values red = negatives, wite = 0, blues = positive Only rearrange part of te list, not all pre: b post: b? < 0 = 0 > 0 t i j inv: b < 0? = 0 > 0 11/25/14 Sequences (Continued) 10
11 Dutc National Flag Variant Sequence of integer values red = negatives, wite = 0, blues = positive Only rearrange part of te list, not all pre: b? post: b < 0 = 0 > 0 t i j inv: b < 0? = 0 > 0 pre: t =, i = +1, j = post: t = i 11/25/14 Sequences (Continued) 11
12 Dutc National Flag Algoritm def dnf(b,, ): """Returns: partition points as a tuple (i,j)""" t = ; i = +1, j = ; # inv: b[..t-1] < 0, b[t..i-1]?, b[i..j] = 0, b[j+1..] > 0 wile t < i: if b[i-1] < 0: swap(b,i-1,t) t = t+1 elif b[i-1] == 0: i = i-1 else: swap(b,i-1,j) i = i-1; j = j-1 # post: b[..i-1] < 0, b[i..j] = 0, b[j+1..] > 0 return (i, j) < 0? = 0 > 0 t i j /25/14 Sequences (Continued) 12
13 Dutc National Flag Algoritm def dnf(b,, ): """Returns: partition points as a tuple (i,j)""" t = ; i = +1, j = ; # inv: b[..t-1] < 0, b[t..i-1]?, b[i..j] = 0, b[j+1..] > 0 wile t < i: if b[i-1] < 0: swap(b,i-1,t) t = t+1 elif b[i-1] == 0: i = i-1 else: swap(b,i-1,j) i = i-1; j = j-1 # post: b[..i-1] < 0, b[i..j] = 0, b[j+1..] > 0 return (i, j) < 0? = 0 > 0 t i j t i j /25/14 Sequences (Continued) 13
14 Dutc National Flag Algoritm def dnf(b,, ): """Returns: partition points as a tuple (i,j)""" t = ; i = +1, j = ; # inv: b[..t-1] < 0, b[t..i-1]?, b[i..j] = 0, b[j+1..] > 0 wile t < i: if b[i-1] < 0: swap(b,i-1,t) t = t+1 elif b[i-1] == 0: i = i-1 else: swap(b,i-1,j) i = i-1; j = j-1 # post: b[..i-1] < 0, b[i..j] = 0, b[j+1..] > 0 return (i, j) < 0? = 0 > 0 t i j t i j t i j /25/14 Sequences (Continued) 14
15 Dutc National Flag Algoritm def dnf(b,, ): """Returns: partition points as a tuple (i,j)""" t = ; i = +1, j = ; # inv: b[..t-1] < 0, b[t..i-1]?, b[i..j] = 0, b[j+1..] > 0 wile t < i: if b[i-1] < 0: swap(b,i-1,t) t = t+1 elif b[i-1] == 0: i = i-1 else: swap(b,i-1,j) i = i-1; j = j-1 # post: b[..i-1] < 0, b[i..j] = 0, b[j+1..] > 0 return (i, j) < 0? = 0 > 0 t i j t i j t i j t j /25/14 Sequences (Continued) 15
16 Linear Searc Vague: Find first occurrence of v in b[..-1]. 11/25/14 Sequences (Continued) 16
17 Linear Searc Vague: Find first occurrence of v in b[..-1]. Better: Store an integer in i to trutify result condition post: post: 1. v is not in b[..i-1] 2. i = OR v = b[i] 11/25/14 Sequences (Continued) 17
18 Linear Searc Vague: Find first occurrence of v in b[..-1]. Better: Store an integer in i to trutify result condition post: post: 1. v is not in b[..i-1] 2. i = OR v = b[i] pre: b? post: b i v not ere v? 11/25/14 Sequences (Continued) 18
19 Linear Searc Vague: Find first occurrence of v in b[..-1]. Better: Store an integer in i to trutify result condition post: post: 1. v is not in b[..i-1] 2. i = OR v = b[i] pre: b? post: b i v not ere v? OR b v not ere i 11/25/14 Sequences (Continued) 19
20 Linear Searc pre: b? post: b i v not ere v? OR i b v not ere inv: b i v not ere? 11/25/14 Sequences (Continued) 20
21 Linear Searc def linear_searc(b,c,): """Returns: first occurrence of c in b[..]""" # Store in i te index of te first c in b[..] i = # invariant: c is not in b[0..i-1] wile i < len(b) and b[i]!= c: i = i + 1 # post: c is not in b[..i-1] # i >= len(b) or b[i] == c return i if i < len(b) else -1 Analyzing te Loop 1. Does te initialization mae inv true? 2. Is post true wen inv is true and condition is false? 3. Does te repetend mae progress? 4. Does te repetend eep te invariant inv true? 11/25/14 Sequences (Continued) 21
22 Binary Searc Vague: Loo for v in sorted sequence segment b[..]. 11/25/14 Sequences (Continued) 22
23 Binary Searc Vague: Loo for v in sorted sequence segment b[..]. Better: Precondition: b[..-1] is sorted (in ascending order). Postcondition: b[..i] <= v and v < b[i+1..-1] Below, te array is in non-descending order: pre: b? post: b i <= v > v 11/25/14 Sequences (Continued) 23
24 Binary Searc Vague: Loo for v in sorted sequence segment b[..]. Better: Precondition: b[..-1] is sorted (in ascending order). Postcondition: b[..i] <= v and v < b[i+1..-1] Below, te array is in non-descending order: pre: b post: b inv: b <= v? i > v i j < v? > v Called binary searc because eac iteration of te loop cuts te array segment still to be processed in alf 11/25/14 Sequences (Continued) 24
25 Extras Not Covered in Class 11/25/14 Sequences (Continued) 25
26 Loaded Dice Sequence p of lengt n represents n-sided die Contents of p sum to 1 p[] is probability die rolls te number weigted d6, favoring 5, 6 Goal: Want to roll te die Generate random number r between 0 and 1 Pic p[i] suc tat p[i-1] < r p[i] /25/14 Sequences (Continued) 26
27 Loaded Dice Want: Value i suc tat p[i-1] < r <= p[i] pre: b post: b 0 n? 0 i n r > sum r <= sum 0 i n inv: b r > sum? Same as precondition if i = 0 Postcondition is invariant + false loop condition 11/25/14 Sequences (Continued) 27
28 Loaded Dice def roll(p): """Returns: randint in 0..len(p)-1; i returned wit prob. p[i] Precondition: p list of positive floats tat sum to 1.""" r = random.random() # r in [0,1) # Tin of interval [0,1] divided into segments of size p[i] # Store into i te segment number in wic r falls. i = 0; sum_of = p[0] # inv: r >= sum of p[0].. p[i 1]; pend = sum of p[0].. p[i] wile r >= sum_of: sum_of = sum_of + p[i+1] i = i + 1 # post: sum of p[0].. p[i 1] <= r < sum of p[0].. p[i] return i r < sum Analyzing te Loop 1. Does te initialization mae inv true? 2. Is post true wen inv is true and condition is false? 3. Does te repetend mae progress? 4. Does te repetend eep inv true? 0 r is not ere p[0] p[1] pend p[i] p[n 1] inv 1 11/25/14 Sequences (Continued) 28 0 p[0] p[1] r p[i] p[n 1] post 1
29 Reversing a Sequence pre: b not reversed post: b reversed cange: b into b i j inv: b swapped not reversed swapped 11/25/14 Sequences (Continued) 29
Sorting and Searching
CS 1110: Introduction to Computing Using Pyton Lecture 23 Sorting and Searcing [Andersen, Gries, Lee, Marscner, Van Loan, Wite] Announcements Final Exam conflicts due tonigt at 11:59pm Final Exam review
More informationCS 1110, LAB 13: SEQUENCE ALGORITHMS
CS 1110, LAB 13: SEQUENCE ALGORITHMS http://www.cs.cornell.edu/courses/cs1110/2017fa/labs/lab13/ First Name: Last Name: NetID: This final lab of the course helps you practice with more complicated invariants
More informationCS211 Spring 2004 Lecture 06 Loops and their invariants. Software engineering reason for using loop invariants
CS211 Spring 2004 Lecture 06 Loops and teir invariants Reading material: Tese notes. Weiss: Noting on invariants. ProgramLive: Capter 7 and 8 O! Tou ast damnale iteration and art, indeed, ale to corrupt
More informationLecture 26: Sorting CS 1110 Introduction to Computing Using Python
http://www.cs.cornell.edu/courses/cs1110/2018sp Lecture 26: Sorting CS 1110 Introduction to Computing Using Python [E. Andersen, A. Bracy, D. Gries, L. Lee, S. Marschner, C. Van Loan, W. White] Academic
More informationSORTING 9/26/18. Prelim 1. Prelim 1. Why Sorting? InsertionSort. Some Sorting Algorithms. Tonight!!!! Two Sessions:
Prelim 1 2 "Organizing is wat you do efore you do someting, so tat wen you do it, it is not all mixed up." ~ A. A. Milne SORTING Tonigt!!!! Two Sessions: You sould now y now wat room to tae te final. Jenna
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 informationCS 1110, LAB 12: SEQUENCE ALGORITHMS First Name: Last Name: NetID:
CS 1110, LAB 12: SEQUENCE ALGORITHMS http://www.cs.cornell.edu/courses/cs1110/2014fa/labs/lab12.pdf First Name: Last Name: NetID: This last lab is extremely important. It helps you understand how to construct
More informationAnnouncements SORTING. Prelim 1. Announcements. A3 Comments 9/26/17. This semester s event is on Saturday, November 4 Apply to be a teacher!
Announcements 2 "Organizing is wat you do efore you do someting, so tat wen you do it, it is not all mixed up." ~ A. A. Milne SORTING Lecture 11 CS2110 Fall 2017 is a program wit a teac anyting, learn
More informationCS 1110 Final, December 17th, Question Points Score Total: 100
CS 1110 Final, December 17th, 2014 This 150-minute exam has 8 questions worth a total of 100 points. Scan the whole test before starting. Budget your time wisely. Use the back of the pages if you need
More informationLast Name: First: Netid: Section. CS 1110 Final, December 17th, 2014
CS 0 Final, December 7th, 204 SOLUTION This 50-minute exam has 8 questions worth a total of 00 points. Scan the whole test before starting. Budget your time wisely. Use the back of the pages if you need
More informationCS1110. Lecture 22: Prelim 2 Review Session. Announcements. Processed prelim regrade requests: on the front table.
CS1110 Lecture 22: Prelim 2 Review Session Announcements Processed prelim regrade requests: on the front table. Reminders: Exam: 7:30 9:00PM, Tuesday Apr 16 th Kennedy 116 (Call Auditorium, same as before).
More informationCS 1110: WORKED EXAMPLES REGARDING LOOPS AND INVARIANTS
CS 1110: WORKED EXAMPLES REGARDING LOOPS AND INVARIANTS http://www.cs.cornell.edu/courses/cs1110/2013sp/materials/loop_invariants.pdf D. GRIES, L. LEE, S. MARSCHNER, AND W. WHITE An invariant is, in the
More informationCS 1110 Final, December 8th, Question Points Score Total: 100
CS 1110 Final, December 8th, 2016 This 150-minute exam has 8 questions worth a total of 100 points. Scan the whole test before starting. Budget your time wisely. Use the back of the pages if you need more
More informationCORRECTNESS ISSUES AND LOOP INVARIANTS
Aout A2 and feedack. Recursion 2 CORRECTNESS ISSUES AND LOOP INVARIANTS S2 has een graded. If you got 30/30, you will proaly have no feedack. If you got less than full credit, there should e feedack showing
More informationCS 1110 Final, December 8th, Question Points Score Total: 100
CS 1110 Final, December 8th, 2016 This 150-minute exam has 8 questions worth a total of 100 points. Scan the whole test before starting. Budget your time wisely. Use the back of the pages if you need more
More informationMATH 5a Spring 2018 READING ASSIGNMENTS FOR CHAPTER 2
MATH 5a Spring 2018 READING ASSIGNMENTS FOR CHAPTER 2 Note: Tere will be a very sort online reading quiz (WebWork) on eac reading assignment due one our before class on its due date. Due dates can be found
More informationData Structures and Programming Spring 2014, Midterm Exam.
Data Structures and Programming Spring 2014, Midterm Exam. 1. (10 pts) Order te following functions 2.2 n, log(n 10 ), 2 2012, 25n log(n), 1.1 n, 2n 5.5, 4 log(n), 2 10, n 1.02, 5n 5, 76n, 8n 5 + 5n 2
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 informationCS 234. Module 6. October 16, CS 234 Module 6 ADT Dictionary 1 / 33
CS 234 Module 6 October 16, 2018 CS 234 Module 6 ADT Dictionary 1 / 33 Idea for an ADT Te ADT Dictionary stores pairs (key, element), were keys are distinct and elements can be any data. Notes: Tis is
More informationLecture 24: Loop Invariants
http://www.cs.cornell.edu/courses/cs1110/2018sp Lecture 24: Loop Invariants [Online Reading] CS 1110 Introduction to Computing Using Python [E. Andersen, A. Bracy, D. Gries, L. Lee, S. Marschner, C. Van
More informationSEARCHING AND SORTING HINT AT ASYMPTOTIC COMPLEXITY
SEARCHING AND SORTING HINT AT ASYMPTOTIC COMPLEXITY Lecture 10 CS2110 Fall 2016 Miscellaneous 2 A3 due Monday night. Group early! Only 325 views of the piazza A3 FAQ yesterday morning. Everyone should
More informationCS 1110 Prelim 2 April 22, 2014
CS 1110 Prelim 2 April 22, 2014 This 90-minute exam has 6 questions worth a total of 46 points. When permitted to begin, scan the whole test before starting. Budget your time wisely. Use the back of the
More informationASYMPTOTIC COMPLEXITY
Simplicity is a great virtue but it requires hard work to achieve it and education to appreciate it. And to make matters worse: complexity sells better. - Edsger Dijkstra ASYMPTOTIC COMPLEXITY Lecture
More informationASYMPTOTIC COMPLEXITY
Simplicity is a great virtue but it requires hard work to achieve it and education to appreciate it. And to make matters worse: complexity sells better. - Edsger Dijkstra ASYMPTOTIC COMPLEXITY Lecture
More informationLecture 22. While Loops
Lecture 22 While Loops Announcements for This Lecture Assignments Prelim 2 A5 is now graded Will be returned in lab Mean: 52 Median: 53 Std Dev: 5.5 Passing Grade: 30 A6 due next Tuesday Dataset should
More informationeach node in the tree, the difference in height of its two subtrees is at the most p. AVL tree is a BST that is height-balanced-1-tree.
Data Structures CSC212 1 AVL Trees A binary tree is a eigt-balanced-p-tree if for eac node in te tree, te difference in eigt of its two subtrees is at te most p. AVL tree is a BST tat is eigt-balanced-tree.
More informationFault Localization Using Tarantula
Class 20 Fault localization (cont d) Test-data generation Exam review: Nov 3, after class to :30 Responsible for all material up troug Nov 3 (troug test-data generation) Send questions beforeand so all
More informationAnnouncements. Lilian s office hours rescheduled: Fri 2-4pm HW2 out tomorrow, due Thursday, 7/7. CSE373: Data Structures & Algorithms
Announcements Lilian s office ours resceduled: Fri 2-4pm HW2 out tomorrow, due Tursday, 7/7 CSE373: Data Structures & Algoritms Deletion in BST 2 5 5 2 9 20 7 0 7 30 Wy migt deletion be arder tan insertion?
More information"Organizing is what you do before you do something, so that when you do it, it is not all mixed up." ~ A. A. Milne SORTING
"Organizing is what you do before you do something, so that when you do it, it is not all mixed up." ~ A. A. Milne SORTING Lecture 11 CS2110 Spring 2019 Prelim 1: Tuesday, 12 March 2 Visit exams page of
More informationisinstance and While Loops
CS 1110: Introduction to Computing Using Python Lecture 20 isinstance and While Loops [Andersen, Gries, Lee, Marschner, Van Loan, White] Announcements A4: Due 4/20 at 11:59pm Should only use our str method
More informationNumerical Derivatives
Lab 15 Numerical Derivatives Lab Objective: Understand and implement finite difference approximations of te derivative in single and multiple dimensions. Evaluate te accuracy of tese approximations. Ten
More informationSection 2.3: Calculating Limits using the Limit Laws
Section 2.3: Calculating Limits using te Limit Laws In previous sections, we used graps and numerics to approimate te value of a it if it eists. Te problem wit tis owever is tat it does not always give
More informationIteration and For Loops
CS 1110: Introduction to Computing Using Python Lecture 11 Iteration and For Loops [Andersen, Gries, Lee, Marschner, Van Loan, White] Rooms: Announcements: Prelim 1 aa200 jjm200 Baker Laboratory 200 jjm201
More information"Organizing is what you do before you do something, so that when you do it, it is not all mixed up." ~ A. A. Milne SORTING
"Organizing is what you do before you do something, so that when you do it, it is not all mixed up." ~ A. A. Milne SORTING Lecture 11 CS2110 Fall 2017 Announcements 2 is a program with a teach anything,
More information"Organizing is what you do before you do something, so that when you do it, it is not all mixed up." ~ A. A. Milne SORTING
"Organizing is what you do before you do something, so that when you do it, it is not all mixed up." ~ A. A. Milne SORTING Lecture 11 CS2110 Fall 2017 Prelim 1 2 It's on Tuesday Evening (3/13) Two Sessions:
More informationCS 1110 Final Exam Solutions May 15th, 2014
Last Name: First Name: Cornell NetID, all caps: The Important First Question: CS 1110 Final Exam Solutions May 15th, 2014 1. [2 points] When allowed to begin, write your last name, first name, and Cornell
More informationSORTING. Insertion sort Selection sort Quicksort Mergesort And their asymptotic time complexity
1 SORTING Insertion sort Selection sort Quicksort Mergesort And their asymptotic time complexity See lecture notes page, row in table for this lecture, for file searchsortalgorithms.zip Lecture 11 CS2110
More informationPREPARING FOR THE FINAL EXAM
PREPARING FOR THE FINAL EXAM CS 1110: FALL 2012 This handout explains what you have to know for the final exam. Most of the exam will include topics from the previous two prelims. We have uploaded the
More information, 1 1, A complex fraction is a quotient of rational expressions (including their sums) that result
RT. Complex Fractions Wen working wit algebraic expressions, sometimes we come across needing to simplify expressions like tese: xx 9 xx +, xx + xx + xx, yy xx + xx + +, aa Simplifying Complex Fractions
More informationCS1110 Lab 6 (Mar 17-18, 2015)
CS1110 Lab 6 (Mar 17-18, 2015) First Name: Last Name: NetID: The lab assignments are very important and you must have a CS 1110 course consultant tell CMS that you did the work. (Correctness does not matter.)
More informationRecall our recursive multiply algorithm:
Recall our recursive multiply algorithm: PRECONDITION: x and y are both binary bit arrays of length n, n a power of 2. POSTCONDITION: Returns a binary bit array equal to the product of x and y. REC MULTIPLY
More information1 The sorting problem
Lecture 6: Sorting methods - The sorting problem - Insertion sort - Selection sort - Bubble sort 1 The sorting problem Let us consider a set of entities, each entity having a characteristics whose values
More informationPrelim 2 Solution. CS 2110, November 19, 2015, 7:30 PM Total. Sorting Invariants Max Score Grader
Prelim 2 CS 2110, November 19, 2015, 7: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 informationCS 1110 Final, December 9th, Question Points Score Total: 100
CS 1110 Final, Decemer 9th, 2015 This 150-minute exam has 8 questions worth a total of 100 points. Scan the whole test efore starting. Budget your time wisely. Use the ack of the pages if you need more
More informationWhen a BST becomes badly unbalanced, the search behavior can degenerate to that of a sorted linked list, O(N).
Balanced Binary Trees Binary searc trees provide O(log N) searc times provided tat te nodes are distributed in a reasonably balanced manner. Unfortunately, tat is not always te case and performing a sequence
More informationLecture 14. Nested Lists and Dictionaries
Lecture 14 Nested Lists and Dictionaries Announcements for This Lecture Readings Today: Chapter 11 Next Week: Sec. 5.8-5.10 Prelim, Oct 12 th 7:30-9:00 Material up to TUESDAY Study guide is posted Review
More informationCS 1110, LAB 10: ASSERTIONS AND WHILE-LOOPS 1. Preliminaries
CS 0, LAB 0: ASSERTIONS AND WHILE-LOOPS http://www.cs.cornell.edu/courses/cs0/20sp/labs/lab0.pdf. Preliminaries This lab gives you practice with writing loops using invariant-based reasoning. Invariants
More informationPiecewise Polynomial Interpolation, cont d
Jim Lambers MAT 460/560 Fall Semester 2009-0 Lecture 2 Notes Tese notes correspond to Section 4 in te text Piecewise Polynomial Interpolation, cont d Constructing Cubic Splines, cont d Having determined
More informationMore on Functions and Their Graphs
More on Functions and Teir Graps Difference Quotient ( + ) ( ) f a f a is known as te difference quotient and is used exclusively wit functions. Te objective to keep in mind is to factor te appearing in
More informationCS842: Automatic Memory Management and Garbage Collection. GC basics
CS842: Automatic Memory Management and Garbage Collection GC basics 1 Review Noting mmap (space allocated) Mapped space Wile owned by program, manager as no reference! malloc (object created) Never returned
More informationBinary Search Tree - Best Time. AVL Trees. Binary Search Tree - Worst Time. Balanced and unbalanced BST
AL Trees CSE Data Structures Unit Reading: Section 4.4 Binary Searc Tree - Best Time All BST operations are O(d), were d is tree dept minimum d is d = log for a binary tree N wit N nodes at is te best
More information4.2 The Derivative. f(x + h) f(x) lim
4.2 Te Derivative Introduction In te previous section, it was sown tat if a function f as a nonvertical tangent line at a point (x, f(x)), ten its slope is given by te it f(x + ) f(x). (*) Tis is potentially
More informationReview 4. Lists and Sequences
Review 4 Lists and Sequences Overview of List Syntax x = [0, 0, 0, 0] x.append(2) 3 in x x[2] = 5 x[0] = 4 k = 3 x[k] = 2 * x[0] x[k 2] = 6 Create list of length 4 with all zeroes Append 2 to end of list
More informationCSc 110, Spring 2017 Lecture 39: searching
CSc 110, Spring 2017 Lecture 39: searching 1 Sequential search sequential search: Locates a target value in a list (may not be sorted) by examining each element from start to finish. Also known as linear
More informationCS 220: Discrete Structures and their Applications. Loop Invariants Chapter 3 in zybooks
CS 220: Discrete Structures and their Applications Loop Invariants Chapter 3 in zybooks Program verification How do we know our program works correctly? In this lecture we will focus on a tool for verifying
More informationLecture 13. For-Loops
Lecture 3 For-Loops Announcements for This Lecture Reading Assignments/Lab Today: Chapters 8, 0 Thursday: Chapter Prelim, 0/ 5:5 OR 7:30 Material up to TUESDAY Study guide is posted Times/rooms by last
More informationHow invariants help writing loops Author: Sander Kooijmans Document version: 1.0
How invariants help writing loops Author: Sander Kooijmans Document version: 1.0 Why this document? Did you ever feel frustrated because of a nasty bug in your code? Did you spend hours looking at the
More informationCS 234. Module 6. October 25, CS 234 Module 6 ADT Dictionary 1 / 22
CS 234 Module 6 October 25, 2016 CS 234 Module 6 ADT Dictionary 1 / 22 Case study Problem: Find a way to store student records for a course, wit unique IDs for eac student, were records can be accessed,
More informationCSC 273 Data Structures
CSC 273 Data Structures Lecture 6 - Faster Sorting Methods Merge Sort Divides an array into halves Sorts the two halves, Then merges them into one sorted array. The algorithm for merge sort is usually
More informationCS Prelim 1 Review Fall 2017
CS 1110 Prelim 1 Review Fall 2017 Exam Info Prelim 1: 7:30 9:00PM, Thursday, October 12th Last name A J in Uris G01 Last name K Z in Statler Auditorium SDS Students will get an e-mail To help you study:
More informationMIPS Assembly: Quicksort. CptS 260 Introduction to Computer Architecture Week 4.1 Mon 2014/06/30
MIPS Assembly: Quicksort CptS 260 Introduction to Computer Architecture Week 4.1 Mon 2014/06/30 This Week 06/30 Mon Quicksort (overview) 07/01 Tue Quicksort (partition, HW6) 07/02 Wed Review HW1 HW5 Topics
More informationCS Prelim 1 Review Fall 2013
CS 1110 Prelim 1 Review Fall 2013 Exam Info Prelim 1: 7:30 9:00PM, Thursday, October 17th Last name A G in Olin 155 Last name H K in Olin 165 Last name L R in Olin 255 Last name S Z in Upson B17 To help
More informationGeneral Instructions. You can use QtSpim simulator to work on these assignments.
General Instructions You can use QtSpim simulator to work on these assignments. Only one member of each group has to submit the assignment. Please Make sure that there is no duplicate submission from your
More informationSearching Algorithms/Time Analysis
Searching Algorithms/Time Analysis CSE21 Fall 2017, Day 8 Oct 16, 2017 https://sites.google.com/a/eng.ucsd.edu/cse21-fall-2017-miles-jones/ (MinSort) loop invariant induction Loop invariant: After the
More informationSynchronization: Semaphores
Illinois Institute of Technology Lecture 26 4/25 solved Synchronization: Semaphores CS 536: Science of Programming, Spring 2018 A. Why Avoiding interference, while good, isn t the same as coordinating
More informationSorting is a problem for which we can prove a non-trivial lower bound.
Sorting The sorting problem is defined as follows: Sorting: Given a list a with n elements possessing a total order, return a list with the same elements in non-decreasing order. Remember that total order
More informationTUPLES AND RECURSIVE LISTS 5
TUPLES AND RECURSIVE LISTS 5 COMPUTER SCIENCE 61A July 3, 2012 1 Sequences From the Pig project, we discovered the utility of having structures that contain multiple values. Today, we are going to cover
More informationOverview of List Syntax
Lists and Sequences Overview of List Syntax x = [0, 0, 0, 0] Create list of length 4 with all zeroes x 4300112 x.append(2) 3 in x x[2] = 5 x[0] = 4 k = 3 Append 2 to end of list x (now length 5) Evaluates
More informationCS1110. Lecture 1: Final review session. Review materials See website for a version of last year s final with conventions redone to match this year.
CS1110 Lecture 1: Final review session Announcements Review materials See website for a version of last year s final with conventions redone to match this year. Slides by D. Gries, L. Lee, S. Marschner,
More informationPREPARING FOR PRELIM 1
PREPARING FOR PRELIM 1 CS 1110: FALL 2012 This handout explains what you have to know for the first prelim. There will be a review session with detailed examples to help you study. To prepare for the prelim,
More informationLecture 13. For-Loops
Lecture 3 For-Loops Announcements for This Lecture Reading Today: Chapters 8, 0 Thursday: Chapter Prelim, Oct th 7:30-9:00 Material up to TODAY Study guide is posted Review next Wednesday Room/Time are
More informationProceedings of the 8th WSEAS International Conference on Neural Networks, Vancouver, British Columbia, Canada, June 19-21,
Proceedings of te 8t WSEAS International Conference on Neural Networks, Vancouver, Britis Columbia, Canada, June 9-2, 2007 3 Neural Network Structures wit Constant Weigts to Implement Dis-Jointly Removed
More informationHash-Based Indexes. Chapter 11. Comp 521 Files and Databases Fall
Has-Based Indexes Capter 11 Comp 521 Files and Databases Fall 2012 1 Introduction Hasing maps a searc key directly to te pid of te containing page/page-overflow cain Doesn t require intermediate page fetces
More informationCS 1110 Final, December 16th, 2013
CS 1110 Final, December 16th, 2013 This 150-minute exam has 8 questions worth a total of 100 points. Scan the whole test before starting. Budget your time wisely. Use the back of the pages if you need
More informationCSE 331 Software Design and Implementation. Lecture 3 Loop Reasoning
CSE 331 Software Design and Implementation Lecture 3 Loop Reasoning Zach Tatlock / Spring 2018 Reasoning about loops So far, two things made all our examples much easier: 1. When running the code, each
More informationWhat is sorting? Lecture 36: How can computation sort data in order for you? Why is sorting important? What is sorting? 11/30/10
// CS Introduction to Computation " UNIVERSITY of WISCONSIN-MADISON Computer Sciences Department Professor Andrea Arpaci-Dusseau Fall Lecture : How can computation sort data in order for you? What is sorting?
More informationMidterm I Exam Principles of Imperative Computation Frank Pfenning. February 17, 2011
Midterm I Exam 15-122 Principles of Imperative Computation Frank Pfenning February 17, 2011 Name: Sample Solution Andrew ID: fp Section: Instructions This exam is closed-book with one sheet of notes permitted.
More informationAssertions & Verification & Example Loop Invariants Example Exam Questions
2014 November 27 1. Assertions & Verification & Example Loop Invariants Example Exam Questions 2. A B C Give a general template for refining an operation into a sequence and state what questions a designer
More informationData 8 Final Review #1
Data 8 Final Review #1 Topics we ll cover: Visualizations Arrays and Table Manipulations Programming constructs (functions, for loops, conditional statements) Chance, Simulation, Sampling and Distributions
More informationExam I Principles of Imperative Computation, Summer 2011 William Lovas. May 27, 2011
Exam I 15-122 Principles of Imperative Computation, Summer 2011 William Lovas May 27, 2011 Name: Sample Solution Andrew ID: wlovas Instructions This exam is closed-book with one sheet of notes permitted.
More informationWhen the dimensions of a solid increase by a factor of k, how does the surface area change? How does the volume change?
8.4 Surface Areas and Volumes of Similar Solids Wen te dimensions of a solid increase by a factor of k, ow does te surface area cange? How does te volume cange? 1 ACTIVITY: Comparing Surface Areas and
More informationAVL Trees Outline and Required Reading: AVL Trees ( 11.2) CSE 2011, Winter 2017 Instructor: N. Vlajic
1 AVL Trees Outline and Required Reading: AVL Trees ( 11.2) CSE 2011, Winter 2017 Instructor: N. Vlajic AVL Trees 2 Binary Searc Trees better tan linear dictionaries; owever, te worst case performance
More information19.2 Surface Area of Prisms and Cylinders
Name Class Date 19 Surface Area of Prisms and Cylinders Essential Question: How can you find te surface area of a prism or cylinder? Resource Locker Explore Developing a Surface Area Formula Surface area
More informationFast Calculation of Thermodynamic Properties of Water and Steam in Process Modelling using Spline Interpolation
P R E P R N T CPWS XV Berlin, September 8, 008 Fast Calculation of Termodynamic Properties of Water and Steam in Process Modelling using Spline nterpolation Mattias Kunick a, Hans-Joacim Kretzscmar a,
More informationSoftwaretechnik. Program verification. Software Engineering Albert-Ludwigs-University Freiburg. June 30, 2011
Softwaretechnik Program verification Software Engineering Albert-Ludwigs-University Freiburg June 30, 2011 (Software Engineering) Softwaretechnik June 30, 2011 1 / 28 Road Map Program verification Automatic
More informationAssertions & Verification Example Exam Questions
2009 November 23 Assertions & Verification Example Exam Questions 1. 2. A B C Give a general template for refining an operation into a sequence and state what questions a designer must answer to verify
More informationToday. CISC101 Reminders & Notes. Searching in Python - Cont. Searching in Python. From last time
CISC101 Reminders & Notes Test 3 this week in tutorial USATs at the beginning of next lecture Please attend and fill out an evaluation School of Computing First Year Information Session Thursday, March
More informationCS240 Fall Mike Lam, Professor. Quick Sort
??!!!!! CS240 Fall 2015 Mike Lam, Professor Quick Sort Merge Sort Merge sort Sort sublists (divide & conquer) Merge sorted sublists (combine) All the "hard work" is done after recursing Hard to do "in-place"
More informationYou should be able to visually approximate the slope of a graph. The slope m of the graph of f at the point x, f x is given by
Section. Te Tangent Line Problem 89 87. r 5 sin, e, 88. r sin sin Parabola 9 9 Hperbola e 9 9 9 89. 7,,,, 5 7 8 5 ortogonal 9. 5, 5,, 5, 5. Not multiples of eac oter; neiter parallel nor ortogonal 9.,,,
More informationMAPI Computer Vision
MAPI Computer Vision Multiple View Geometry In tis module we intend to present several tecniques in te domain of te 3D vision Manuel Joao University of Mino Dep Industrial Electronics - Applications -
More information15-122: Principles of Imperative Computation, Summer 2011 Assignment 6: Trees and Secret Codes
15-122: Principles of Imperative Computation, Summer 2011 Assignment 6: Trees and Secret Codes William Lovas (wlovas@cs) Karl Naden Out: Tuesday, Friday, June 10, 2011 Due: Monday, June 13, 2011 (Written
More information2.8 The derivative as a function
CHAPTER 2. LIMITS 56 2.8 Te derivative as a function Definition. Te derivative of f(x) istefunction f (x) defined as follows f f(x + ) f(x) (x). 0 Note: tis differs from te definition in section 2.7 in
More informationHash-Based Indexes. Chapter 11. Comp 521 Files and Databases Spring
Has-Based Indexes Capter 11 Comp 521 Files and Databases Spring 2010 1 Introduction As for any index, 3 alternatives for data entries k*: Data record wit key value k
More informationSpark verification features
Spark verification features Paul Jackson School of Informatics University of Edinburgh Formal Verification Spring 2018 Adding specification information to programs Verification concerns checking whether
More informationSEARCHING, SORTING, AND ASYMPTOTIC COMPLEXITY. Lecture 11 CS2110 Spring 2016
1 SEARCHING, SORTING, AND ASYMPTOTIC COMPLEXITY Lecture 11 CS2110 Spring 2016 Time spent on A2 2 Histogram: [inclusive:exclusive) [0:1): 0 [1:2): 24 ***** [2:3): 84 ***************** [3:4): 123 *************************
More informationPrelim 2. CS 2110, November 19, 2015, 7:30 PM Total. Sorting Invariants Max Score Grader
Prelim 2 CS 2110, November 19, 2015, 7: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 informationCE 221 Data Structures and Algorithms
CE Data Structures and Algoritms Capter 4: Trees (AVL Trees) Text: Read Weiss, 4.4 Izmir University of Economics AVL Trees An AVL (Adelson-Velskii and Landis) tree is a binary searc tree wit a balance
More informationCS61A Lecture 16. Amir Kamil UC Berkeley February 27, 2013
CS61A Lecture 16 Amir Kamil UC Berkeley February 27, 2013 Announcements HW5 due tonight Trends project due on Tuesday Partners are required; find one in lab or on Piazza Will not work in IDLE New bug submission
More information1 Copyright 2012 by Pearson Education, Inc. All Rights Reserved.
CHAPTER 20 AVL Trees Objectives To know wat an AVL tree is ( 20.1). To understand ow to rebalance a tree using te LL rotation, LR rotation, RR rotation, and RL rotation ( 20.2). To know ow to design te
More informationCS61A Lecture 16. Amir Kamil UC Berkeley February 27, 2013
CS61A Lecture 16 Amir Kamil UC Berkeley February 27, 2013 Announcements HW5 due tonight Trends project due on Tuesday Partners are required; find one in lab or on Piazza Will not work in IDLE New bug submission
More information