Algorithms. 1. At a high level of abstraction, the algorithm for doing laundry is:
|
|
- Caitlin Lynch
- 6 years ago
- Views:
Transcription
1 Algorithms 1. At a high level of abstraction, the algorithm for doing laundry is: Wash clothes Dry clothes Put clothes away Using the principle of stepwise refinement, write more detailed pseudocode algorithms for each of these three steps at a lower level of abstraction. There are many possible solutions, but a correct solution would resemble the following: Algorithm WashClothes open washer add clothes add soap close washer choose wash cycle wait until done Algorithm DryClothes open washer open dryer move clothes to dryer close dryer choose dry cycle wait until done Algorithm PutClothesAway open dryer remove clothes fold clothes sort clothes by type put clothes in drawers depending on type
2 2. When designing algorithms in a top-down fashion using stepwise refinement, it is common to refine a task by replacing with a call to another algorithm rather than inserting the subtasks into the existing algorithm. This promotes code reuse. Consider the algorithm below for computing marks for exam: Algorithm computemarks (Answers, numstudents, numquestions) Pre: answers is a 2D integer array where Answers[i][j] is 1 if student i answered question j correctly and 0 otherwise. numstudents is the number of students. Post: grades is an integer array where Grades[i] is the number of correct answers given by student i. loop( i < numstudents ) numcorrect sum of Answers[i][0] through Answers[i][numQuestions] grades[i] numcorrect (a) Write the algorithm header for the boxed task in the algorithm and rewrite the computemarks algorithm to make use of your new summation algorithm (note: you don t have to write the pseudocode for the summation, just the algorithm header). (b) Write a pseudocode algorithm for computing the sum of all elements in a two dimensional matrix (array) which reuses the summation algorithm from part a) (note that you can do this with knowledge of only the algorithm header and do not need to have the actual pseudocode for the summation algorithm a benefit of abstraction!). (a) Algorithm arraysum( A, sizea) Computes the sum of the elements in an array. Pre: A is an integer array of sizea elements. Return: the sum of the elements in A Algorithm computemarks (Answers, numstudents, numquestions) Pre: answers is a 2D integer array where Answers[i][j] is 1 if student i answered question j correctly and 0 otherwise. numstudents is the number of students. Post: grades is an integer array where Grades[i] is the number of correct answers given by student i. loop( i < numstudents ) grades[i] arraysum(answers[i], numquestions)
3 (b) Algorithm sumofmatrixelements( M, numrows, numcols ) Computes the sum of all the elements of the matrix (2D array) M. Pre: M is a 2D array of numbers. Returns: The sum of all elemetns in M matrixsum 0 loop( i < numrows) matrixsum = matrixsum + arraysum( M[i], numcols ); return matrixsum
4 Big-Oh Notation 1. Consider the following loop. for(i=1; i < n; i *= 2) doit(...) (a) What is the worst case time complexity (Big-Oh) of this loop if doit(...) is an O(1) algorithm? (b)... an O(n 2 ) algorithm? Justify your answers and show all your work. (a) For each loop iteration, a constant-time algorithm is executed, plus 2 ops for the comparison and the increment, resulting in O(1)+2 ops per iteration. The loop executes log n times so the total number of operations is log(n) (O(1) + 2) log(n) O(1) O(log n). (b) The loop still executes log n times, but now, on each iteration, we have O(n 2 ) + 2 operations for a total of log(n) (O(n 2 ) + 2)) log(n) O(n 2 ) O(n 2 log n). 2. Determine the Big-Oh notation for the following: 5*n 5/2 + n 2/5 3*n 4 + n*log(n)
5 3. Find the worst case time complexity (Big-Oh) of the following algorithm. Justify your answer and show all your work. Algorithm squareroot ( k ) Approximates the square root of k using the "Babylonian Method". Pre: k is an integer Returns: approximation of square root of k guess 1.0 loop ( i < 100 ) guess (guess + k/guess) / 2.0 The loop body contains 4 primitive operations (3 arithmetic + 1 assignment). The loop executes 100 times and the comparison contains one primitive operation. Thus, the loop results in primitive operations. There are 2 primitive operations in the initialization of guess and i, so the total number of primitive operations is 502 (602 if you count the increment in the loop). This is independent of the input size, so the time complexity is O(502) O(1). In other words, the algorithm always takes the same amount of time regardless of the input (although, as the input value becomes larger, the accuracy of the approximated square root decreases).
6 4. Find the worst case time complexity (big-oh) of the following algorithm. Justify your answer and show all of your work. Algorithm selectkth (values, n) Find the median element of an (unsorted) array of integers. Pre: values is an array of integers n is the number of elements in values Returns: the median of the numbers in values for( ; i < n/2; i++ ) mini i; for(j=i+1; j < n; j++) if( values[j] < a[mini] ) mini j end if tmp a[i] a[i] a[mini] a[mini] tmp return a[n/2] First we will analyze the inner loop. The body of the inner loop contains 4 primitive operations in the worst case (2 array index + 1 comparison + 1 assignment). The inner loop executes n i 1 (because j takes on values i+1 to n 1) with 1 operation used for the comparison. So the total number of iterations of the inner loop is 5(n i 1). Now we can consider the outer loop. The outer loop executes n/2 times, for i = 0 through n/2 1. There are 3 operations before the inner loop (2 assignments, one addition) then the inner loop, then 7 operations after the inner loop (4 array index, 3 assignment).
7 We could simply this more, but it is clearly O(n2).
Comparison of x with an entry in the array
1. Basic operations in algorithm An algorithm to solve a particular task employs some set of basic operations. When we estimate the amount of work done by an algorithm we usually do not consider all the
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 informationArmstrong Atlantic State University Engineering Studies MATLAB Marina Sorting Primer
Armstrong Atlantic State University Engineering Studies MATLAB Marina Sorting Primer Prerequisites The Sorting Primer assumes knowledge of the MATLAB IDE, MATLAB help, arithmetic operations, built in functions,
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 informationChapter 2: Complexity Analysis
Chapter 2: Complexity Analysis Objectives Looking ahead in this chapter, we ll consider: Computational and Asymptotic Complexity Big-O Notation Properties of the Big-O Notation Ω and Θ Notations Possible
More informationLECTURE 9 Data Structures: A systematic way of organizing and accessing data. --No single data structure works well for ALL purposes.
LECTURE 9 Data Structures: A systematic way of organizing and accessing data. --No single data structure works well for ALL purposes. Input Algorithm Output An algorithm is a step-by-step procedure for
More informationChapter 8 Algorithms 1
Chapter 8 Algorithms 1 Objectives After studying this chapter, the student should be able to: Define an algorithm and relate it to problem solving. Define three construct and describe their use in algorithms.
More informationAssignment 1 (concept): Solutions
CS10b Data Structures and Algorithms Due: Thursday, January 0th Assignment 1 (concept): Solutions Note, throughout Exercises 1 to 4, n denotes the input size of a problem. 1. (10%) Rank the following functions
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 informationEXAM ELEMENTARY MATH FOR GMT: ALGORITHM ANALYSIS NOVEMBER 7, 2013, 13:15-16:15, RUPPERT D
SOLUTIONS EXAM ELEMENTARY MATH FOR GMT: ALGORITHM ANALYSIS NOVEMBER 7, 2013, 13:15-16:15, RUPPERT D This exam consists of 6 questions, worth 10 points in total, and a bonus question for 1 more point. Using
More informationCS 3410 Ch 5 (DS*), 23 (IJP^)
CS 3410 Ch 5 (DS*), 23 (IJP^) *CS 1301 & 1302 text, Introduction to Java Programming, Liang, 7 th ed. ^CS 3410 text, Data Structures and Problem Solving Using Java, Weiss, 4 th edition Sections Pages Review
More informationComputer Science Foundation Exam
Computer Science Foundation Exam December 13, 2013 Section I A COMPUTER SCIENCE NO books, notes, or calculators may be used, and you must work entirely on your own. SOLUTION Question # Max Pts Category
More informationMidterm I Exam Principles of Imperative Computation André Platzer Ananda Gunawardena. February 23, Name: Andrew ID: Section:
Midterm I Exam 15-122 Principles of Imperative Computation André Platzer Ananda Gunawardena February 23, 2012 Name: Andrew ID: Section: Instructions This exam is closed-book with one sheet of notes permitted.
More informationPROGRAM EFFICIENCY & COMPLEXITY ANALYSIS
Lecture 03-04 PROGRAM EFFICIENCY & COMPLEXITY ANALYSIS By: Dr. Zahoor Jan 1 ALGORITHM DEFINITION A finite set of statements that guarantees an optimal solution in finite interval of time 2 GOOD ALGORITHMS?
More informationITEC2620 Introduction to Data Structures
ITEC2620 Introduction to Data Structures Lecture 3a Complexity Estimation Best, Worst, and Avg Cases I Why do people buy lottery tickets? Win millions! Case? Best Best, Worst, and Avg Cases II Why should
More informationA First Book of ANSI C Fourth Edition. Chapter 8 Arrays
A First Book of ANSI C Fourth Edition Chapter 8 Arrays One-Dimensional Arrays Array Initialization Objectives Arrays as Function Arguments Case Study: Computing Averages and Standard Deviations Two-Dimensional
More information8 Algorithms 8.1. Foundations of Computer Science Cengage Learning
8 Algorithms 8.1 Foundations of Computer Science Cengage Learning 8.2 Objectives After studying this chapter, the student should be able to: Define an algorithm and relate it to problem solving. Define
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 informationCSE373 Fall 2013, Final Examination December 10, 2013 Please do not turn the page until the bell rings.
CSE373 Fall 2013, Final Examination December 10, 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 promptly
More information9/10/2018 Algorithms & Data Structures Analysis of Algorithms. Siyuan Jiang, Sept
9/10/2018 Algorithms & Data Structures Analysis of Algorithms Siyuan Jiang, Sept. 2018 1 Email me if the office door is closed Siyuan Jiang, Sept. 2018 2 Grades have been emailed github.com/cosc311/assignment01-userid
More informationAlgorithms. Chapter 8. Objectives After studying this chapter, students should be able to:
Objectives After studying this chapter, students should be able to: Chapter 8 Algorithms Define an algorithm and relate it to problem solving. Define three construct and describe their use in algorithms.
More informationOutline. Computer Science 331. Three Classical Algorithms. The Sorting Problem. Classical Sorting Algorithms. Mike Jacobson. Description Analysis
Outline Computer Science 331 Classical Sorting Algorithms Mike Jacobson Department of Computer Science University of Calgary Lecture #22 1 Introduction 2 3 4 5 Comparisons Mike Jacobson (University of
More informationUniversity of Toronto Department of Electrical and Computer Engineering. Midterm Examination. ECE 345 Algorithms and Data Structures Fall 2012
1 University of Toronto Department of Electrical and Computer Engineering Midterm Examination ECE 345 Algorithms and Data Structures Fall 2012 Print your name and ID number neatly in the space provided
More informationAlgorithm Performance. (the Big-O)
Algorithm Performance (the Big-O) Lecture 6 Today: Worst-case Behaviour Counting Operations Performance Considerations Time measurements Order Notation (the Big-O) Pessimistic Performance Measure Often
More informationLoops / Repetition Statements. There are three loop constructs in C. Example 2: Grade of several students. Example 1: Fixing Bad Keyboard Input
Loops / Repetition Statements Repetition s allow us to execute a multiple times Often they are referred to as loops C has three kinds of repetition s: the while loop the for loop the do loop The programmer
More informationMidterm I Exam Principles of Imperative Computation André Platzer Ananda Gunawardena. February 23, 2012
Midterm I Exam 15-122 Principles of Imperative Computation André Platzer Ananda Gunawardena February 23, 2012 Name: Sample Solution Andrew ID: aplatzer Section: Instructions This exam is closed-book with
More informationMore Algorithm Analysis
More Algorithm Analysis College of Computing & Information Technology King Abdulaziz University CPCS-204 Data Structures I Examples of Analyzing Code: We now go over many examples of code fragments Each
More informationCS 223: Data Structures and Programming Techniques. Exam 2
CS 223: Data Structures and Programming Techniques. Exam 2 Instructor: Jim Aspnes Work alone. Do not use any notes or books. You have approximately 75 minutes to complete this exam. Please write your answers
More informationCS 261 Data Structures. Big-Oh Analysis: A Review
CS 261 Data Structures Big-Oh Analysis: A Review Big-Oh: Purpose How can we characterize the runtime or space usage of an algorithm? We want a method that: doesn t depend upon hardware used (e.g., PC,
More informationAdvanced Algorithms and Data Structures
Advanced Algorithms and Data Structures Prof. Tapio Elomaa tapio.elomaa@tut.fi Course Prerequisites A seven credit unit course Replaced OHJ-2156 Analysis of Algorithms We take things a bit further than
More informationFACULTY OF SCIENCE ACADEMY OF COMPUTER SCIENCE AND SOFTWARE ENGINEERING ADVANCED DATA STRUCTURES AND ALGORITHMS EXAM EXAMINATION JUNE 2014
FACULTY OF SCIENCE ACADEMY OF COMPUTER SCIENCE AND SOFTWARE ENGINEERING MODULE CSC3A10 ADVANCED DATA STRUCTURES AND ALGORITHMS CAMPUS APK EXAM EXAMINATION JUNE 2014 DATE 2014-06-03 SESSION 12:30 15:30
More informationFaster Sorting Methods
Faster Sorting Methods Chapter 9 Contents Merge Sort Merging Arrays Recursive Merge Sort The Efficiency of Merge Sort Iterative Merge Sort Merge Sort in the Java Class Library Contents Quick Sort The Efficiency
More informationECE 2574: Data Structures and Algorithms - Basic Sorting Algorithms. C. L. Wyatt
ECE 2574: Data Structures and Algorithms - Basic Sorting Algorithms C. L. Wyatt Today we will continue looking at sorting algorithms Bubble sort Insertion sort Merge sort Quick sort Common Sorting Algorithms
More informationCPSC 211, Sections : Data Structures and Implementations, Honors Final Exam May 4, 2001
CPSC 211, Sections 201 203: Data Structures and Implementations, Honors Final Exam May 4, 2001 Name: Section: Instructions: 1. This is a closed book exam. Do not use any notes or books. Do not confer with
More informationChapter 11. Analysis of Algorithms
Chapter 11 Analysis of Algorithms Chapter Scope Efficiency goals The concept of algorithm analysis Big-Oh notation The concept of asymptotic complexity Comparing various growth functions Java Foundations,
More informationLoops / Repetition Statements
Loops / Repetition Statements Repetition statements allow us to execute a statement multiple times Often they are referred to as loops C has three kinds of repetition statements: the while loop the for
More informationRange Queries. Kuba Karpierz, Bruno Vacherot. March 4, 2016
Range Queries Kuba Karpierz, Bruno Vacherot March 4, 2016 Range query problems are of the following form: Given an array of length n, I will ask q queries. Queries may ask some form of question about a
More information: Principles of Imperative Computation Victor Adamchik. Practice Exam - I
15-122 Practice Exam - I Page 1 of 10 15-122 : Principles of Imperative Computation Victor Adamchik Practice Exam - I Name: Andrew ID: Answer the questions in the space provided following each question.
More informationRepetition Structures
Repetition Structures Chapter 5 Fall 2016, CSUS Introduction to Repetition Structures Chapter 5.1 1 Introduction to Repetition Structures A repetition structure causes a statement or set of statements
More informationComplexity, General. Standard approach: count the number of primitive operations executed.
Complexity, General Allmänt Find a function T(n), which behaves as the time it takes to execute the program for input of size n. Standard approach: count the number of primitive operations executed. Standard
More informationCondition-Controlled Loop. Condition-Controlled Loop. If Statement. Various Forms. Conditional-Controlled Loop. Loop Caution.
Repetition Structures Introduction to Repetition Structures Chapter 5 Spring 2016, CSUS Chapter 5.1 Introduction to Repetition Structures The Problems with Duplicate Code A repetition structure causes
More informationCSE373 Fall 2013, Final Examination December 10, 2013 Please do not turn the page until the bell rings.
CSE373 Fall 2013, Final Examination December 10, 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 promptly
More informationCSE 373 Spring 2010: Midterm #1 (closed book, closed notes, NO calculators allowed)
Name: Email address: CSE 373 Spring 2010: Midterm #1 (closed book, closed notes, NO calculators allowed) Instructions: Read the directions for each question carefully before answering. We may give partial
More informationChapter 5. Algorithms Pearson Addison-Wesley. All rights reserved
Chapter 5 Algorithms 2007 Pearson Addison-Wesley. All rights reserved Chapter 5: Algorithms 5.1 The Concept of an Algorithm 5.2 Algorithm Representation 5.3 Algorithm Discovery 5.4 Iterative Structures
More informationAdvanced Algorithms and Data Structures
Advanced Algorithms and Data Structures Prof. Tapio Elomaa Course Basics A new 7 credit unit course Replaces OHJ-2156 Analysis of Algorithms We take things a bit further than OHJ-2156 We will assume familiarity
More informationSorting Pearson Education, Inc. All rights reserved.
1 19 Sorting 2 19.1 Introduction (Cont.) Sorting data Place data in order Typically ascending or descending Based on one or more sort keys Algorithms Insertion sort Selection sort Merge sort More efficient,
More informationCSE 332 Spring 2013: Midterm Exam (closed book, closed notes, no calculators)
Name: Email address: Quiz Section: CSE 332 Spring 2013: Midterm Exam (closed book, closed notes, no calculators) Instructions: Read the directions for each question carefully before answering. We will
More informationS1) It's another form of peak finder problem that we discussed in class, We exploit the idea used in binary search.
Q1) Given an array A which stores 0 and 1, such that each entry containing 0 appears before all those entries containing 1. In other words, it is like {0, 0, 0,..., 0, 0, 1, 1,..., 111}. Design an algorithm
More informationLecture 7: Searching and Sorting Algorithms
Reading materials Dale, Joyce, Weems:Dale, Joyce, Weems: 10.1-10.5 OpenDSA: 11 (Sorting) and 13 (Searching) Liang (10): 7 (for searching and quadratic sorts), 25 (comprehensive edition only) Contents 1
More informationOCR H446 A-Level Computer Science
Name: Class Teacher: Date: OCR H446 A-Level Computer Science REVISION BOOKLET 2.3 ALGORITHMS Content in H446 A-Level Computer Science: 1.1 The characteristics of contemporary processors, input, output
More informationCMPSCI 187: Programming With Data Structures. Lecture 5: Analysis of Algorithms Overview 16 September 2011
CMPSCI 187: Programming With Data Structures Lecture 5: Analysis of Algorithms Overview 16 September 2011 Analysis of Algorithms Overview What is Analysis of Algorithms? L&C s Dishwashing Example Being
More informationScientific Computing. Algorithm Analysis
ECE257 Numerical Methods and Scientific Computing Algorithm Analysis Today s s class: Introduction to algorithm analysis Growth of functions Introduction What is an algorithm? A sequence of computation
More informationCS Introduction to Data Structures Week 3, 2017
CS 367 - Introduction to Data Structures Week 3, 2017 Homework h1 graded. Email TA (di3@wisc.edu) by Friday, July 7th - 5 pm. Program 1 due July 11 th - 10 pm Homework h3 posted, complete as soon as possible;
More informationIntroduction. Sorting. Definitions and Terminology: Program efficiency. Sorting Algorithm Analysis. 13. Sorting. 13. Sorting.
Sorting Introduction Slides. Table of Contents. Introduction 3. Bubblesort 4. Bubblesort Complexity 5. Bubblesort Complexity (cont) 6. Selection Sort 7. Selection Sort Complexity 8. Duplex Selection Sort
More informationCSE 143. Complexity Analysis. Program Efficiency. Constant Time Statements. Big Oh notation. Analyzing Loops. Constant Time Statements (2) CSE 143 1
CSE 1 Complexity Analysis Program Efficiency [Sections 12.1-12., 12., 12.9] Count number of instructions executed by program on inputs of a given size Express run time as a function of the input size Assume
More informationPipeline Processors David Rye :: MTRX3700 Pipelining :: Slide 1 of 15
Pipeline Processors Pipelining :: Slide 1 of 15 Pipeline Processors A common feature of modern processors Works like a series production line An operation is divided into k decoupled (independent) elementary
More informationCSCI 104 Runtime Complexity. Mark Redekopp David Kempe
1 CSCI 104 Runtime Complexity Mark Redekopp David Kempe 2 Runtime It is hard to compare the run time of an algorithm on actual hardware Time may vary based on speed of the HW, etc. The same program may
More informationCS Sorting Terms & Definitions. Comparing Sorting Algorithms. Bubble Sort. Bubble Sort: Graphical Trace
CS 704 Introduction to Data Structures and Software Engineering Sorting Terms & Definitions Internal sorts holds all data in RAM External sorts use Files Ascending : Low to High Descending : High to Low
More information(Refer Slide Time: 1:27)
Data Structures and Algorithms Dr. Naveen Garg Department of Computer Science and Engineering Indian Institute of Technology, Delhi Lecture 1 Introduction to Data Structures and Algorithms Welcome to data
More informationTime Analysis of Sorting and Searching Algorithms
Time Analysis of Sorting and Searching Algorithms CSE21 Winter 2017, Day 5 (B00), Day 3 (A00) January 20, 2017 http://vlsicad.ucsd.edu/courses/cse21-w17 Binary Search: WHEN procedure binary search (x:
More informationOF VICTORIA EXAMINATIONS- DECEMBER 2010 CSC
Name: ID Number: UNIVERSITY OF VICTORIA EXAMINATIONS- DECEMBER 2010 CSC 225 - Algorithms and Data Structures: I Section A01 (CRN 1089) Instructor: Wendy Myrvold Duration: 3 hours TO BE ANSWERED ON THE
More informationCSE123 LECTURE 3-1. Program Design and Control Structures Repetitions (Loops) 1-1
CSE123 LECTURE 3-1 Program Design and Control Structures Repetitions (Loops) 1-1 The Essentials of Repetition Loop Group of instructions computer executes repeatedly while some condition remains true Counter-controlled
More informationChecking for duplicates Maximum density Battling computers and algorithms Barometer Instructions Big O expressions. John Edgar 2
CMPT 125 Checking for duplicates Maximum density Battling computers and algorithms Barometer Instructions Big O expressions John Edgar 2 Write a function to determine if an array contains duplicates int
More informationCS 61B Summer 2005 (Porter) Midterm 2 July 21, SOLUTIONS. Do not open until told to begin
CS 61B Summer 2005 (Porter) Midterm 2 July 21, 2005 - SOLUTIONS Do not open until told to begin This exam is CLOSED BOOK, but you may use 1 letter-sized page of notes that you have created. Problem 0:
More information(D) There is a constant value n 0 1 such that B is faster than A for every input of size. n n 0.
Part : Multiple Choice Enter your answers on the Scantron sheet. We will not mark answers that have been entered on this sheet. Each multiple choice question is worth. marks. Note. when you are asked to
More informationData structure and algorithm in Python
Data structure and algorithm in Python Algorithm Analysis Xiaoping Zhang School of Mathematics and Statistics, Wuhan University Table of contents 1. Experimental studies 2. The Seven Functions used in
More informationCITS3001. Algorithms, Agents and Artificial Intelligence. Semester 2, 2016
CITS3001 Algorithms, Agents and Artificial Intelligence Semester 2, 2016 Tim French School of Computer Science & Software Eng. The University of Western Australia 2. Review of algorithmic concepts CLRS,
More informationANALYSIS OF ALGORITHMS
ANALYSIS OF ALGORITHMS Running Time Pseudo-Code Asymptotic Notation Asymptotic Analysis Mathematical facts T(n) n = 4 Input Algorithm Output 1 Average Case vs. Worst Case Running Time of an Algorithm An
More informationCSC 273 Data Structures
CSC 273 Data Structures Lecture 5 - Introduction to Sorting The Interface Comparable Consider the method compareto for class String if s and t are strings, s.compareto(t) is Negative if s comes before
More informationModule 4c: Pipelining
Module 4c: Pipelining R E F E R E N C E S : S T A L L I N G S, C O M P U T E R O R G A N I Z A T I O N A N D A R C H I T E C T U R E M O R R I S M A N O, C O M P U T E R O R G A N I Z A T I O N A N D A
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 information[ 11.2, 11.3, 11.4] Analysis of Algorithms. Complexity of Algorithms. 400 lecture note # Overview
400 lecture note #0 [.2,.3,.4] Analysis of Algorithms Complexity of Algorithms 0. Overview The complexity of an algorithm refers to the amount of time and/or space it requires to execute. The analysis
More informationAnalyze the obvious algorithm, 5 points Here is the most obvious algorithm for this problem: (LastLargerElement[A[1..n]:
CSE 101 Homework 1 Background (Order and Recurrence Relations), correctness proofs, time analysis, and speeding up algorithms with restructuring, preprocessing and data structures. Due Thursday, April
More informationPROBLEM 1 : (And the winner is...(12 points)) Assume you are considering the implementation of a priority queue that will always give you the smallest
CPS 100, Ramm Hour Exam #2 (11/1/99) Fall, 1999 NAME (print): Honor Acknowledgment (signature): DO NOT SPEND MORE THAN 10 OR SO MINUTES ON ANY OF THE OTHER QUESTIONS! If you don't see the solution to a
More informationProgramming II (CS300)
1 Programming II (CS300) Chapter 12: Sorting Algorithms MOUNA KACEM mouna@cs.wisc.edu Spring 2018 Outline 2 Last week Implementation of the three tree depth-traversal algorithms Implementation of the BinarySearchTree
More informationIntroduction to the Analysis of Algorithms. Algorithm
Introduction to the Analysis of Algorithms Based on the notes from David Fernandez-Baca Bryn Mawr College CS206 Intro to Data Structures Algorithm An algorithm is a strategy (well-defined computational
More informationENGI 4892: Data Structures Assignment 2 SOLUTIONS
ENGI 4892: Data Structures Assignment 2 SOLUTIONS Due May 30 in class at 1:00 Total marks: 50 Notes: You will lose marks for giving only the final answer for any question on this assignment. Some steps
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 informationConstructing Algorithms and Pseudocoding This document was originally developed by Professor John P. Russo
Constructing Algorithms and Pseudocoding This document was originally developed by Professor John P. Russo Purpose: # Describe the method for constructing algorithms. # Describe an informal language for
More informationCS10: The Beauty and Joy of Computing
CS10: The Beauty and Joy of Computing Lecture #7: Algorithm Complexity TA Jon Kotker (2010-09-27) LEDs + Math = Art Leo Villareal combines modern LED control systems to produce contemporary modern art.
More informationRemember to also pactice: Homework, quizzes, class examples, slides, reading materials.
Exam 1 practice problems Remember to also pactice: Homework, quizzes, class examples, slides, reading materials. P1 (MC) For all the questions below (except for the True or False questions), the answer
More informationMatriculation number:
Department of Informatics Prof. Dr. Michael Böhlen Binzmühlestrasse 14 8050 Zurich Phone: +41 44 635 4333 Email: boehlen@ifi.uzh.ch AlgoDat Repetition Exam Spring 2018 18.05.2018 Name: Matriculation number:
More informationCS60003 Algorithm Design and Analysis, Autumn
CS60003 Algorithm Design and Analysis, Autumn 2009 10 Mid-Semester Test Maximum marks: 45 September 20, 2009 Total time: 2 hours Roll no: Name: [ Write your answers in the question paper itself. Be brief
More informationLoops / Repetition Statements
Loops / Repetition Statements Repetition statements allow us to execute a statement multiple times Often they are referred to as loops C has three kinds of repetition statements: the while loop the for
More informationwhile for do while ! set a counter variable to 0 ! increment it inside the loop (each iteration)
Week 7: Advanced Loops while Loops in C++ (review) while (expression) may be a compound (a block: {s) Gaddis: 5.7-12 CS 1428 Fall 2015 Jill Seaman 1 for if expression is true, is executed, repeat equivalent
More informationFaculty of Science FINAL EXAMINATION COMP-250 A Introduction to Computer Science School of Computer Science, McGill University
NAME: STUDENT NUMBER:. Faculty of Science FINAL EXAMINATION COMP-250 A Introduction to Computer Science School of Computer Science, McGill University Examimer: Prof. Mathieu Blanchette December 8 th 2005,
More informationDepartment of Computer Science and Engineering. CSE 2011: Fundamentals of Data Structures Winter 2009, Section Z
Department of omputer Science and Engineering SE 2011: Fundamentals of Data Structures Winter 2009, Section Z Instructor: N. Vlajic Date: pril 14, 2009 Midterm Examination Instructions: Examination time:
More informationWhat is an Algorithm?
What is an Algorithm? Step-by-step procedure used to solve a problem These steps should be capable of being performed by a machine Must eventually stop and so produce an answer Types of Algorithms Iterative
More informationLecture Notes on Sorting
Lecture Notes on Sorting 15-122: Principles of Imperative Computation Frank Pfenning Lecture 4 September 2, 2010 1 Introduction Algorithms and data structures can be evaluated along a number of dimensions,
More informationWhat is an algorithm?
Reminders CS 142 Lecture 3 Analysis, ADTs & Objects Program 1 was assigned - Due on 1/27 by 11:55pm 2 Abstraction Measuring Algorithm Efficiency When you utilize the mylist.index(item) function you are
More informationCOMP 250 Fall Midterm examination
COMP 250 Fall 2004 - Midterm examination October 18th 2003, 13:35-14:25 1 Running time analysis (20 points) For each algorithm below, indicate the running time using the simplest and most accurate big-oh
More informationProblem Set 6. Part A:
Introduction to Algorithms: 6.006 Massachusetts Institute of Technology April 12, 2011 Professors Erik Demaine, Piotr Indyk, and Manolis Kellis Problem Set 6 Problem Set 6 This problem set is divided into
More informationChoice of C++ as Language
EECS 281: Data Structures and Algorithms Principles of Algorithm Analysis Choice of C++ as Language All algorithms implemented in this book are in C++, but principles are language independent That is,
More informationAnalysis of Algorithms Chapter 11. Instructor: Scott Kristjanson CMPT 125/125 SFU Burnaby, Fall 2013
Analysis of Algorithms Chapter 11 Instructor: Scott Kristjanson CMPT 125/125 SFU Burnaby, Fall 2013 2 Scope Analysis of Algorithms: Efficiency goals The concept of algorithm analysis Big-Oh notation The
More informationTest 1 SOLUTIONS. June 10, Answer each question in the space provided or on the back of a page with an indication of where to find the answer.
Test 1 SOLUTIONS June 10, 2010 Total marks: 34 Name: Student #: Answer each question in the space provided or on the back of a page with an indication of where to find the answer. There are 4 questions
More informationhttps://cs.uiowa.edu/resources/events Searching an array Let R(N) be the running time to search for an integer in an unsorted array. Can we find an f(n) such that R N O(f N )? Searching an array Let R(N)
More informationCOMP Analysis of Algorithms & Data Structures
COMP 3170 - Analysis of Algorithms & Data Structures Shahin Kamali Lecture 2 - Jan. 9, 2019 CLRS 1.1, 1.2, 2.2, 3.1, 4.3, 4.5 University of Manitoba Picture is from the cover of the textbook CLRS. 1 /
More informationCSE373 Winter 2014, Midterm Examination January 29, 2014
CSE373 Winter 2014, Midterm Examination January 29, 2014 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 informationAnalysis of Algorithms
Analysis of Algorithms Data Structures and Algorithms Acknowledgement: These slides are adapted from slides provided with Data Structures and Algorithms in C++ Goodrich, Tamassia and Mount (Wiley, 2004)
More informationAlgorithm Discovery and Design
Algorithm Discovery and Design Chapter 2 The Algorithmic Foundations of Computer Science Algorithms Algorithm Step-by-step method for accomplishing some task Operations used to construct algorithms Sequential,
More information