CS 440 Theory of Algorithms /
|
|
- Jessica Margery Jones
- 5 years ago
- Views:
Transcription
1 CS 440 Theory of Algorithms / CS 468 Algorithms in Bioinformaticsi Introduction Copyright 2007 Pearson Addison-Wesley. All rights reserved. Copyright 2007 Pearson Addison-Wesley. All rights reserved. The most valuable acquisitions in a scientific or technical education are the general-purpose mental tools which remain serviceable for a lifetime. George Forsythe, Whatto t Do Till the Computer Scientist Comes, 1967 "A person well trained in computer science knows how to deal with algorithms; how to construct them, manipulate them, understand them, analyze them. This knowledge prepares him for much more than writinggood computer programs; it is a general-purpose mental tool which will be a definite aid to his understanding of other subjects, whether they be chemistry, linguistics, i or music, etc." DonaldKnuth, Sl SelectedPapers tdp on Computer Science, 1996 Two ideas lie gleaming on the jeweler's velvet. The first is the calculus, the second, the algorithm. The calculus and the rich body of mathematical analysis to which it gave rise made modern science possible; but tithas been the algorithm thathas made possible the modern world. David Berlinski, The Advent of the Algorithm, 2000 Copyright 2007 Pearson Addison-Wesley. All rights reserved. Design and Analysis of Algorithms - Chapter 1 1-1
2 What is an Algorithm? An algorithm is a sequence of unambiguous instructions for solving a problem, i.e., for obtaining a required output for any legitimate input in a finite amount of time. Copyright 2007 Pearson Addison-Wesley. All rights reserved. Design and Analysis of Algorithms - Chapter Are algorithms just of theoretical intesrets? Application areas of algorithms Copyright 2007 Pearson Addison-Wesley. All rights reserved. Design and Analysis of Algorithms - Chapter 1 1-3
3 What is an algorithm? Recipe, process, method, technique, procedure, routine, with following requirements: 1. Finiteness terminates after a finite number of steps 2. Definiteness rigorously and unambiguously specified 3. Input valid inputs are clearly specified 4. Output can be proved to produce the correct output given a valid input 5. Effectiveness steps are sufficiently simple and basic Copyright 2007 Pearson Addison-Wesley. All rights reserved. Design and Analysis of Algorithms - Chapter Why study algorithms? Theoretical importance The core of computer science Practical importance A practitioner s toolkit of known algorithms Framework for designing and analyzing algorithms for new problems Copyright 2007 Pearson Addison-Wesley. All rights reserved. Design and Analysis of Algorithms - Chapter 1 1-5
4 Historical Perspective Euclid s algorithm for finding the greatest common divisor Muhammad ibn Musa al-khwarizmi 9 th century mathematician Copyright 2007 Pearson Addison-Wesley. All rights reserved. Design and Analysis of Algorithms - Chapter Notion of Algorithm problem algorithm input computer output t Algorithmic solution Copyright 2007 Pearson Addison-Wesley. All rights reserved. Design and Analysis of Algorithms - Chapter 1 1-7
5 Example of Computational Problem: Sorting Statement of problem: Input: A sequence of n numbers <a 1, a 2,, a n > Output: A reordering of the input sequence <a 1, a 2,, a n> n so that a i a j whenever i < j Instance: The sequence <5, 3, 2, 8, 3> Algorithms: Selection sort Insertion sort Merge sort (many others) Copyright 2007 Pearson Addison-Wesley. All rights reserved. Design and Analysis of Algorithms - Chapter Selection Sort Input: array Output: array sorted in non-decreasing order Algorithm: for =1 to swap with smallest of see also pseudocode, section 3.1 Copyright 2007 Pearson Addison-Wesley. All rights reserved. Design and Analysis of Algorithms - Chapter 1 1-9
6 Euclid s Algorithm Problem: Find gcd(m,n), the greatest common divisor of two nonnegative, not both zero integers m and n Examples: gcd(60,24) = 12, gcd(60,0) = 60, gcd(0,0) =? Euclid s algorithm is based on repeated application of equality gcd(m,n) = gcd(n, m mod n) until the second number becomes 0, which makes the problem trivial. Example: gcd(60,24) = gcd(24,12) = gcd(12,0) = 12 Copyright 2007 Pearson Addison-Wesley. All rights reserved Two descriptions of Euclid s algorithm Step 1 If n = 0, return m and stop; otherwise go to Step 2 Step 2 Divide m by n and assign the value fo the remainder to r Step 3 Assign the value of n to m and the value of r to n. Go to Step 1. while n 0do r m mod n m n n r return m Copyright 2007 Pearson Addison-Wesley. All rights reserved. 1-11
7 Other methods for computing gcd(m,n) Consecutive integer checking algorithm Step 1 Assign the value of min{m,n} to t Step 2 Divide m by t. If the remainder is 0,go to Step 3; otherwise, go to Step 4 Step 3 Divide n by t. If the remainder is 0, return t and stop; otherwise, go to Step 4 Step 4 Decrease t by 1 and go to Step 2 Copyright 2007 Pearson Addison-Wesley. All rights reserved Other methods for gcd(m,n) [cont.] Middle-school procedure Step 1 Find the prime factorization of m Step 2 Find the prime factorization of n Step 3 Find all the common prime factors Step 4 Compute the product of all the common prime factors and return it as gcd(m,n) Is this an algorithm? Copyright 2007 Pearson Addison-Wesley. All rights reserved. 1-13
8 Sieve of Eratosthenes Input: Integer n 2 Output: List of primes less than or equal to n for p 2to n do A[p] p for p 2to n do if A[p] 0 //p hasn t been previously eliminated from the list j p* p while j n do A[j] 0 //mark element as eliminated j j + p Example: Copyright 2007 Pearson Addison-Wesley. All rights reserved More Problems Multiplication of two integers (e.g., 1526 x 77) American way British way Chinese way ( rch_type=&aq=6&oq=multi ) Egyptian way Coin change problem Greedy Brute force (exhaustive search) Other techniques? Copyright 2007 Pearson Addison-Wesley. All rights reserved. Design and Analysis of Algorithms - Chapter
9 Problem Solving Problem 1: Old world puzzle A peasant finds himself on a riverbank with a wolf, a goat, and a head of cabbage. He needs to transport all three to the other side of the river in his boat. However, the boat has room for only the peasant himself and one other item. In his absence, the wolf would eat the goat, and the goat would eatthe cabbage. Solve this problem, or prove it has no solution. * The peasant is vegetarian who doesn t like to eat cabbage. Copyright 2007 Pearson Addison-Wesley. All rights reserved Problem Solving Problem 2: New world puzzle There are four people, A, B, C, and D, who want to cross a bridge; they all begin on the same side. You have 17 minutes to get them all across to the other side. It is night, and they have one flashlight. A maximum of two people can cross the bridge at one time. Any party that crosses, either one or two people, must have the flashlight with them. The flashlight must be walked edb back and forth; it cannot be thrown, for example. A takes 1 minute to cross the bridge, B takes 2 minutes, C takes 5 minutes, and D takes 10 minutes. A pair must walk together at the rate of the slower person s pace. For example, if A and D walk across first, 10 minutes have elapsed when they get to the other side of the bridge. If D returns the flashlight, a total of 20 minutes have passed and you have failed the mission. Solve this problem, or prove it has no solution. Copyright 2007 Pearson Addison-Wesley. All rights reserved. 1-17
10 Fundamentals of Algorithmic Problem Solving Copyright 2007 Pearson Addison-Wesley. All rights reserved Some Well-known Computational Problems Problems Sorting Searching Shortest paths in a graph Minimum spanning tree Primality testing Traveling salesman problem Knapsack problem Chess Towers of Hanoi Program termination Problem Categories Graph Problem String Processing Combinatorial Problems Geometric Problems Numerical Problems Copyright 2007 Pearson Addison-Wesley. All rights reserved. Design and Analysis of Algorithms - Chapter
11 Basic Issues Related to Algorithms How to design algorithms How to express algorithms Proving correctness Efficiency Theoretical analysis Empirical analysis Optimality Copyright 2007 Pearson Addison-Wesley. All rights reserved. Design and Analysis of Algorithms - Chapter Algorithm design strategies Brute force Greedy approach Divide and conquer Dynamic programming Decrease and conquer Backtracking and Branch and bound Transform and conquer Space and time tradeoffs There are more, for example, Machine learning, Randomized algorithms, Genetic algorithms, etc. Copyright 2007 Pearson Addison-Wesley. All rights reserved. Design and Analysis of Algorithms - Chapter
12 Analysis of Algorithms How good is the algorithm? Correctness Time efficiency Space efficiency i Does there exist a better algorithm? Lower bounds Optimality Copyright 2007 Pearson Addison-Wesley. All rights reserved. Design and Analysis of Algorithms - Chapter
Lecture 1. Introduction
Lecture 1 Introduction 1 Lecture Contents 1. What is an algorithm? 2. Fundamentals of Algorithmic Problem Solving 3. Important Problem Types 4. Fundamental Data Structures 2 1. What is an Algorithm? Algorithm
More informationData Structures and Algorithms
Data Structures & Algorithms (Cs-2133) By Dr. Qamas Gul Khan Safi Fall 2018 http://dsa17.weebly.com Department of Electrical Engineering University of Engineering & Technology, Taxila. Lecture No.01 Data
More informationアルゴリズムの設計と解析 (W4022) 教授 : 黄潤和 広野史明 (A4/A10)
アルゴリズムの設計と解析 教授 : 黄潤和 SA: (W4022) rhuang@hosei.ac.jp 広野史明 (A4/A10) fumiaki.hirono.5k@stu.hosei.ac.jp Goal 到達目標 : The objectives of this course are to make students firmly laying good foundation of data
More informationComputer Science 385 Analysis of Algorithms Siena College Spring Topic Notes: Introduction and Overview
Computer Science 385 Analysis of Algorithms Siena College Spring 2011 Topic Notes: Introduction and Overview Welcome to Analysis of Algorithms! What is an Algorithm? A possible definition: a step-by-step
More informationCS 6402 DESIGN AND ANALYSIS OF ALGORITHMS QUESTION BANK
CS 6402 DESIGN AND ANALYSIS OF ALGORITHMS QUESTION BANK Page 1 UNIT I INTRODUCTION 2 marks 1. Why is the need of studying algorithms? From a practical standpoint, a standard set of algorithms from different
More informationCS 440 Theory of Algorithms /
CS 440 Theory of Algorithms / CS 468 Algorithms in Bioinformaticsi Brute Force. Design and Analysis of Algorithms - Chapter 3 3-0 Brute Force A straightforward approach usually based on problem statement
More informationLECTURE 3 ALGORITHM DESIGN PARADIGMS
LECTURE 3 ALGORITHM DESIGN PARADIGMS Introduction Algorithm Design Paradigms: General approaches to the construction of efficient solutions to problems. Such methods are of interest because: They provide
More informationAlgorithm Design Paradigms
CmSc250 Intro to Algorithms Algorithm Design Paradigms Algorithm Design Paradigms: General approaches to the construction of efficient solutions to problems. Such methods are of interest because: They
More informationDESIGN AND ANALYSIS OF ALGORITHMS
DESIGN AND ANALYSIS OF ALGORITHMS QUESTION BANK Module 1 OBJECTIVE: Algorithms play the central role in both the science and the practice of computing. There are compelling reasons to study algorithms.
More informationDESIGN AND ANALYSIS OF ALGORITHMS
QUESTION BANK DESIGN AND ANALYSIS OF ALGORITHMS UNIT1: INTRODUCTION OBJECTIVE: Algorithms play the central role in both the science and the practice of computing. There are compelling reasons to study
More informationCPS 616 TRANSFORM-AND-CONQUER 7-1
CPS 616 TRANSFORM-AND-CONQUER 7-1 TRANSFORM AND CONQUER Group of techniques to solve a problem by first transforming the problem into one of: 1. a simpler/more convenient instance of the same problem (instance
More informationDESIGN AND ANALYSIS OF ALGORITHMS
DESIGN AND ANALYSIS OF ALGORITHMS K.PALRAJ M.E.,(Ph.d) Assistant Professor Department of Computer Science and Engineering Sri Vidya College of Engineering & Technology CS6402 DESIGN AND ANALYSIS OF ALGORITHMS
More informationRecursion & Performance. Recursion. Recursion. Recursion. Where Recursion Shines. Breaking a Problem Down
Recursion & Performance Recursion Part 7 The best way to learn recursion is to, first, learn recursion! Recursion Recursion Recursion occurs when a function directly or indirectly calls itself This results
More informationAnany Levitin 3RD EDITION. Arup Kumar Bhattacharjee. mmmmm Analysis of Algorithms. Soumen Mukherjee. Introduction to TllG DCSISFI &
Introduction to TllG DCSISFI & mmmmm Analysis of Algorithms 3RD EDITION Anany Levitin Villa nova University International Edition contributions by Soumen Mukherjee RCC Institute of Information Technology
More informationTopic 10 Part 2 [474 marks]
Topic Part 2 [474 marks] The complete graph H has the following cost adjacency matrix Consider the travelling salesman problem for H a By first finding a minimum spanning tree on the subgraph of H formed
More informationDEPARTMENT OF COMPUTER SCIENCE & ENGINEERING Question Bank Subject Name: CS6402- Design & Analysis of Algorithm Year/Sem : II/IV UNIT-I INTRODUCTION
Chendu College of Engineering & Technology (Approved by AICTE, New Delhi and Affiliated to Anna University) Zamin Endathur, Madurantakam, Kancheepuram District 603311 +91-44-27540091/92 www.ccet.org.in
More informationCLASS: II YEAR / IV SEMESTER CSE CS 6402-DESIGN AND ANALYSIS OF ALGORITHM UNIT I INTRODUCTION
CLASS: II YEAR / IV SEMESTER CSE CS 6402-DESIGN AND ANALYSIS OF ALGORITHM UNIT I INTRODUCTION 1. What is performance measurement? 2. What is an algorithm? 3. How the algorithm is good? 4. What are the
More informationCSCE 321/3201 Analysis and Design of Algorithms. Prof. Amr Goneid. Fall 2016
CSCE 321/3201 Analysis and Design of Algorithms Prof. Amr Goneid Fall 2016 CSCE 321/3201 Analysis and Design of Algorithms Prof. Amr Goneid Course Resources Instructor: Prof. Amr Goneid E-mail: goneid@aucegypt.edu
More informationCSCE 411 Design and Analysis of Algorithms
CSCE 411 Design and Analysis of Algorithms Set 4: Transform and Conquer Slides by Prof. Jennifer Welch Spring 2014 CSCE 411, Spring 2014: Set 4 1 General Idea of Transform & Conquer 1. Transform the original
More informationDepartment of Computer Applications. MCA 312: Design and Analysis of Algorithms. [Part I : Medium Answer Type Questions] UNIT I
MCA 312: Design and Analysis of Algorithms [Part I : Medium Answer Type Questions] UNIT I 1) What is an Algorithm? What is the need to study Algorithms? 2) Define: a) Time Efficiency b) Space Efficiency
More informationTopic Analysis PART-A
Govt. of Karnataka, Department of Technical Education Diploma in Information Science & Engineering Third Semester Subject: ANALYSIS AND DESIGN OF ALGORITHM Contact Hrs / week: Total hrs: 64 Topic Analysis
More informationCS 6402 DESIGN AND ANALYSIS OF ALGORITHMS QUESTION BANK
CS 6402 DESIGN AND ANALYSIS OF ALGORITHMS QUESTION BANK Page 1 UNIT I INTRODUCTION Fundamentals of algorithmic problem solving Important problem types Fundamentals of the analysis of algorithm efficiency
More informationCSIS 104 Introduction to Computer Science
CSIS 104 Introduction to Computer Science Lecture 1: Administrative Stuff The Definition of Computer Science Informal and Formal Definitions of Algorithms Prof. Dr. Slim Abdennadher slim.abdennadher@guc.edu.eg
More informationUNIT 1 BASICS OF AN ALGORITHM
UNIT 1 BASICS OF AN ALGORITHM Basics of an Algorithm Structure Page Nos. 1.0 Introduction 5 1.1 Objectives 6 1.2. Analysis and Complexity of Algorithms 6 1.3 Basic Technique for Design of Efficient Algorithms
More informationAlgorithms, Part 1 of 3
Algorithms, Part 1 of 3 Topics Definition of an Algorithm Algorithm Examples Syntax versus Semantics 1 Problem Solving Problem solving is the process of transforming the description of a problem into the
More information1 Elementary number theory
Math 215 - Introduction to Advanced Mathematics Spring 2019 1 Elementary number theory We assume the existence of the natural numbers and the integers N = {1, 2, 3,...} Z = {..., 3, 2, 1, 0, 1, 2, 3,...},
More informationChapter 11: Graphs and Trees. March 23, 2008
Chapter 11: Graphs and Trees March 23, 2008 Outline 1 11.1 Graphs: An Introduction 2 11.2 Paths and Circuits 3 11.3 Matrix Representations of Graphs 4 11.5 Trees Graphs: Basic Definitions Informally, a
More informationCAD Algorithms. Categorizing Algorithms
CAD Algorithms Categorizing Algorithms Mohammad Tehranipoor ECE Department 2 September 2008 1 Categorizing Algorithms Greedy Algorithms Prim s Algorithm (Minimum Spanning Tree) A subgraph that is a tree
More informationAlgorithms: Why and How. Dr. Ted Ralphs
Algorithms: Why and How Dr. Ted Ralphs Algorithms: Why and How 1 What is an Algorithm? Algorithms: Why and How 1 What is an Algorithm? According to Webster s Collegiate Dictionary: A procedure for solving
More informationKeywords: Algorithm, Sieve, Prime Number Mathematics Subject Classification (MSC) 2010 : 11Y11, 11Y16, 65Y04, 65Y20, 68Q25
American International Journal of Research in Formal, Applied & Natural Sciences Available online at http://www.iasir.net ISSN (Print): 2328-3777, ISSN (Online): 2328-3785, ISSN (CD-ROM): 2328-3793 AIJRFANS
More information5105 BHARATHIDASAN ENGINEERING COLLEGE
CS 6402 DESIGN AND ANALYSIS OF ALGORITHMS II CSE/IT /IV SEMESTER UNIT I PART A 1. Design an algorithm to compute the area and circumference of a circle?(dec 2016) 2. Define recurrence relation? (Dec 2016)
More informationCS6402-DESIGN AND ANALYSIS OF ALGORITHM. TWO MARK QUESTION WITH ANSWERS Unit-I. Introduction
CS6402-DESIGN AND ANALYSIS OF ALGORITHM TWO MARK QUESTION WITH ANSWERS Unit-I Introduction Why is the need of studying algorithms? From a practical standpoint, a standard set of algorithms from different
More informationCSC Design and Analysis of Algorithms. Lecture 5. Decrease and Conquer Algorithm Design Technique. Decrease-and-Conquer
CSC 8301- Design and Analysis of Algorithms Lecture 5 Decrease and Conquer Algorithm Design Technique Decrease-and-Conquer This algorithm design technique is based on exploiting a relationship between
More informationAlgorithms in Systems Engineering IE170. Lecture 2. Dr. Ted Ralphs
Algorithms in Systems Engineering IE170 Lecture 2 Dr. Ted Ralphs IE170 Lecture 2 1 References for Today s Lecture Required reading CLRS Chapter 1 References D.E. Knuth, The Art of Computer Programming,
More informationModule 2: Classical Algorithm Design Techniques
Module 2: Classical Algorithm Design Techniques Dr. Natarajan Meghanathan Associate Professor of Computer Science Jackson State University Jackson, MS 39217 E-mail: natarajan.meghanathan@jsums.edu Module
More informationCOMPSCI 230 Discrete Math Prime Numbers January 24, / 15
COMPSCI 230 Discrete Math January 24, 2017 COMPSCI 230 Discrete Math Prime Numbers January 24, 2017 1 / 15 Outline 1 Prime Numbers The Sieve of Eratosthenes Python Implementations GCD and Co-Primes COMPSCI
More informationGraph Theory
Graph Theory 2012.04.18 Our goal today is to learn some basic concepts in graph theory and explore fun problems using graph theory. A graph is a mathematical object that captures the notion of connection.
More informationAlgorithms, Part 1 of 3. Problem Solving. Algorithms
Algorithms, Part 1 of 3 Topics Definition of an Algorithm Algorithm Examples Syntax versus Semantics Reading Sections 3.1-3.3 Problem Solving Problem solving is the process of transforming the description
More informationCOP 4516: Math for Programming Contest Notes
COP 4516: Math for Programming Contest Notes Euclid's Algorithm Euclid's Algorithm is the efficient way to determine the greatest common divisor between two integers. Given two positive integers a and
More informationCS-6402 DESIGN AND ANALYSIS OF ALGORITHMS
CS-6402 DESIGN AND ANALYSIS OF ALGORITHMS 2 marks UNIT-I 1. Define Algorithm. An algorithm is a sequence of unambiguous instructions for solving a problem in a finite amount of time. 2.Write a short note
More informationAlgorithms in Systems Engineering ISE 172. Lecture 1. Dr. Ted Ralphs
Algorithms in Systems Engineering ISE 172 Lecture 1 Dr. Ted Ralphs ISE 172 Lecture 1 1 References for Today s Lecture Required reading Chapter 1 References D.E. Knuth, The Art of Computer Programming,
More informationUCT Algorithm Circle: Number Theory
UCT Algorithm Circle: 7 April 2011 Outline Primes and Prime Factorisation 1 Primes and Prime Factorisation 2 3 4 Some revision (hopefully) What is a prime number? An integer greater than 1 whose only factors
More informationLecture 7 Number Theory Euiseong Seo
Lecture 7 Number Theory Euiseong Seo (euiseong@skku.edu) 1 Number Theory God created the integers. All else is the work of man Leopold Kronecker Study of the property of the integers Specifically, integer
More informationCSC Design and Analysis of Algorithms. Lecture 4 Brute Force, Exhaustive Search, Graph Traversal Algorithms. Brute-Force Approach
CSC 8301- Design and Analysis of Algorithms Lecture 4 Brute Force, Exhaustive Search, Graph Traversal Algorithms Brute-Force Approach Brute force is a straightforward approach to solving a problem, usually
More informationAlgorithms and Data Structures CS-CO-412
Algorithms and Data Structures CS-CO-412 David Vernon Professor of Informatics University of Skövde Sweden david@vernon.eu www.vernon.eu Algorithms and Data Structures 1 Copyright D. Vernon 2014 Course
More informationLecture 3. Brute Force
Lecture 3 Brute Force 1 Lecture Contents 1. Selection Sort and Bubble Sort 2. Sequential Search and Brute-Force String Matching 3. Closest-Pair and Convex-Hull Problems by Brute Force 4. Exhaustive Search
More informationELEMENTARY NUMBER THEORY AND METHODS OF PROOF
CHAPTER 4 ELEMENTARY NUMBER THEORY AND METHODS OF PROOF Copyright Cengage Learning. All rights reserved. SECTION 4.8 Application: Algorithms Copyright Cengage Learning. All rights reserved. Application:
More informationLecture 15: Algorithms. AP Computer Science Principles
Lecture 15: Algorithms AP Computer Science Principles Algorithm algorithm: precise sequence of instructions to solve a computational problem. Search for a name in a phone s contact list. Sort emails by
More informationINDEX. Cambridge University Press How to Think About Algorithms Jeff Edmonds Index More information
INDEX 439 abstract data type (ADT), 1, 43 exercise solutions, 414 functions vs., 43 merging with queue, 56 specifications/implementations, 44 dictionary, 47 graphs, 47 link list implementation, 51 list,
More informationCSC Design and Analysis of Algorithms. Lecture 5. Decrease and Conquer Algorithm Design Technique. Decrease-and-Conquer
CSC 8301- Design and Analysis of Algorithms Lecture 5 Decrease and Conuer Algorithm Design Techniue Decrease-and-Conuer This algorithm design techniue is based on exploiting a relationship between a solution
More informationIntroduction to Computer Science
Introduction to Computer Science CSCI 109 Readings St. Amant, Ch. 4, Ch. 8 China Tianhe-2 Andrew Goodney Spring 2018 An algorithm (pronounced AL-go-rithum) is a procedure or formula for solving a problem.
More informationq To develop recursive methods for recursive mathematical functions ( ).
Chapter 8 Recursion CS: Java Programming Colorado State University Motivations Suppose you want to find all the files under a directory that contains a particular word. How do you solve this problem? There
More informationq To develop recursive methods for recursive mathematical functions ( ).
/2/8 Chapter 8 Recursion CS: Java Programming Colorado State University Motivations Suppose you want to find all the files under a directory that contains a particular word. How do you solve this problem?
More informationChapter 9. Greedy Technique. Copyright 2007 Pearson Addison-Wesley. All rights reserved.
Chapter 9 Greedy Technique Copyright 2007 Pearson Addison-Wesley. All rights reserved. Greedy Technique Constructs a solution to an optimization problem piece by piece through a sequence of choices that
More informationGreedy Homework Problems
CS 1510 Greedy Homework Problems 1. (2 points) Consider the following problem: INPUT: A set S = {(x i, y i ) 1 i n} of intervals over the real line. OUTPUT: A maximum cardinality subset S of S such that
More informationTest Bank Ver. 5.0: Data Abstraction and Problem Solving with C++: Walls and Mirrors, 5 th edition, Frank M. Carrano
Chapter 2 Recursion: The Mirrors Multiple Choice Questions 1. In a recursive solution, the terminates the recursive processing. a) local environment b) pivot item c) base case d) recurrence relation 2.
More informationPrime Generating Algorithms by Skipping Composite Divisors
Prime Generating Algorithms by Skipping Composite Divisors Neeraj Anant Pande Assistant Professor Department of Mathematics & Statistics Yeshwant Mahavidyalaya (College), Nanded-431602 Maharashtra, INDIA
More informationNumber System. Introduction. Natural Numbers (N) Whole Numbers (W) Integers (Z) Prime Numbers (P) Face Value. Place Value
1 Number System Introduction In this chapter, we will study about the number system and number line. We will also learn about the four fundamental operations on whole numbers and their properties. Natural
More informationAlgorithm classification
Types of Algorithms Algorithm classification Algorithms that use a similar problem-solving approach can be grouped together We ll talk about a classification scheme for algorithms This classification scheme
More informationSCHOOL OF ENGINEERING & BUILT ENVIRONMENT. Mathematics. Numbers & Number Systems
SCHOOL OF ENGINEERING & BUILT ENVIRONMENT Mathematics Numbers & Number Systems Introduction Numbers and Their Properties Multiples and Factors The Division Algorithm Prime and Composite Numbers Prime Factors
More informationPresentation for use with the textbook, Algorithm Design and Applications, by M. T. Goodrich and R. Tamassia, Wiley, Approximation Algorithms
Presentation for use with the textbook, Algorithm Design and Applications, by M. T. Goodrich and R. Tamassia, Wiley, 2015 Approximation Algorithms 1 Bike Tour Suppose you decide to ride a bicycle around
More informationStochastic Algorithms
Stochastic Algorithms Some of the fastest known algorithms for certain tasks rely on chance Stochastic/Randomized Algorithms Two common variations Monte Carlo Las Vegas We have already encountered some
More informationDiscrete Mathematics Lecture 4. Harper Langston New York University
Discrete Mathematics Lecture 4 Harper Langston New York University Sequences Sequence is a set of (usually infinite number of) ordered elements: a 1, a 2,, a n, Each individual element a k is called a
More informationRecursion. Chapter 7
Recursion Chapter 7 Chapter Objectives To understand how to think recursively To learn how to trace a recursive method To learn how to write recursive algorithms and methods for searching arrays To learn
More informationMath Introduction to Advanced Mathematics
Math 215 - Introduction to Advanced Mathematics Number Theory Fall 2017 The following introductory guide to number theory is borrowed from Drew Shulman and is used in a couple of other Math 215 classes.
More informationAlgorithm Design Techniques. Hwansoo Han
Algorithm Design Techniques Hwansoo Han Algorithm Design General techniques to yield effective algorithms Divide-and-Conquer Dynamic programming Greedy techniques Backtracking Local search 2 Divide-and-Conquer
More informationPSD1A. DESIGN AND ANALYSIS OF ALGORITHMS Unit : I-V
PSD1A DESIGN AND ANALYSIS OF ALGORITHMS Unit : I-V UNIT I -- Introduction -- Definition of Algorithm -- Pseudocode conventions -- Recursive algorithms -- Time and space complexity -- Big- o notation --
More informationLecture 3, Review of Algorithms. What is Algorithm?
BINF 336, Introduction to Computational Biology Lecture 3, Review of Algorithms Young-Rae Cho Associate Professor Department of Computer Science Baylor University What is Algorithm? Definition A process
More informationFor 100% Result Oriented IGNOU Coaching and Project Training Call CPD: ,
ASSIGNMENT OF MCS-031(ADA) Question 1: (a) Show, through appropriate examples or otherwise, that the following three characteristics of an algorithm are independent (i) finiteness An algorithm must terminate
More informationScan Scheduling Specification and Analysis
Scan Scheduling Specification and Analysis Bruno Dutertre System Design Laboratory SRI International Menlo Park, CA 94025 May 24, 2000 This work was partially funded by DARPA/AFRL under BAE System subcontract
More informationDesign and Analysis of Algorithms CS404/504. Razvan Bunescu School of EECS.
Welcome Design and Analysis of Algorithms Razvan Bunescu School of EECS bunescu@ohio.edu 1 Course Description Course Description: This course provides an introduction to the modern study of computer algorithms.
More information15CS43: DESIGN AND ANALYSIS OF ALGORITHMS
15CS43: DESIGN AND ANALYSIS OF ALGORITHMS QUESTION BANK MODULE1 1. What is an algorithm? Write step by step procedure to write an algorithm. 2. What are the properties of an algorithm? Explain with an
More informationIntroduction to Computer Science
Introduction to Computer Science Algorithms and data structures Piotr Fulmański Faculty of Mathematics and Computer Science, University of Łódź, Poland November 19, 2008 Table of Contents 1 Algorithm 2
More informationCS6402 DESIGN AND ANALYSIS OF ALGORITHMS QUESTION BANK UNIT I
CS6402 DESIGN AND ANALYSIS OF ALGORITHMS QUESTION BANK UNIT I PART A(2MARKS) 1. What is an algorithm? 2. What is meant by open hashing? 3. Define Ω-notation 4.Define order of an algorithm. 5. Define O-notation
More information4.1.2 Merge Sort Sorting Lower Bound Counting Sort Sorting in Practice Solving Problems by Sorting...
Contents 1 Introduction... 1 1.1 What is Competitive Programming?... 1 1.1.1 Programming Contests.... 2 1.1.2 Tips for Practicing.... 3 1.2 About This Book... 3 1.3 CSES Problem Set... 5 1.4 Other Resources...
More informationIntroduction to Programming in C Department of Computer Science and Engineering\ Lecture No. #02 Introduction: GCD
Introduction to Programming in C Department of Computer Science and Engineering\ Lecture No. #02 Introduction: GCD In this session, we will write another algorithm to solve a mathematical problem. If you
More informationSai Nath University. Assignment For B.tech in CS 8 st Sem.
Sai Nath University Assignment For B.tech in CS 8 st Sem. The Assignment will consist of two parts, A and B. Part A will have 5 short answer questions(40-60 words) of 4 marks each. Part B will have 4 long
More informationUNIT 1 ANALYSIS OF ALGORITHMS
UNIT 1 ANALYSIS OF ALGORITHMS Analysis of Algorithms Structure Page Nos. 1.0 Introduction 7 1.1 Objectives 7 1.2 Mathematical Background 8 1.3 Process of Analysis 12 1.4 Calculation of Storage Complexity
More informationMath 302 Introduction to Proofs via Number Theory. Robert Jewett (with small modifications by B. Ćurgus)
Math 30 Introduction to Proofs via Number Theory Robert Jewett (with small modifications by B. Ćurgus) March 30, 009 Contents 1 The Integers 3 1.1 Axioms of Z...................................... 3 1.
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 informationQuestions? You are given the complete graph of Facebook. What questions would you ask? (What questions could we hope to answer?)
P vs. NP What now? Attribution These slides were prepared for the New Jersey Governor s School course The Math Behind the Machine taught in the summer of 2011 by Grant Schoenebeck Large parts of these
More informationChapter 4. Number Theory. 4.1 Factors and multiples
Chapter 4 Number Theory We ve now covered most of the basic techniques for writing proofs. So we re going to start applying them to specific topics in mathematics, starting with number theory. Number theory
More informationAlgorithm Analysis. (Algorithm Analysis ) Data Structures and Programming Spring / 48
Algorithm Analysis (Algorithm Analysis ) Data Structures and Programming Spring 2018 1 / 48 What is an Algorithm? An algorithm is a clearly specified set of instructions to be followed to solve a problem
More informationChapter 14 Section 3 - Slide 1
AND Chapter 14 Section 3 - Slide 1 Chapter 14 Graph Theory Chapter 14 Section 3 - Slide WHAT YOU WILL LEARN Graphs, paths and circuits The Königsberg bridge problem Euler paths and Euler circuits Hamilton
More informationChapter-6 Backtracking
Chapter-6 Backtracking 6.1 Background Suppose, if you have to make a series of decisions, among various choices, where you don t have enough information to know what to choose. Each decision leads to a
More informationAC64/AT64 DESIGN & ANALYSIS OF ALGORITHMS DEC 2014
AC64/AT64 DESIGN & ANALYSIS OF ALGORITHMS DEC 214 Q.2 a. Design an algorithm for computing gcd (m,n) using Euclid s algorithm. Apply the algorithm to find gcd (31415, 14142). ALGORITHM Euclid(m, n) //Computes
More informationChapter 3: Paths and Cycles
Chapter 3: Paths and Cycles 5 Connectivity 1. Definitions: Walk: finite sequence of edges in which any two consecutive edges are adjacent or identical. (Initial vertex, Final vertex, length) Trail: walk
More informationAbout the Author. Dependency Chart. Chapter 1: Logic and Sets 1. Chapter 2: Relations and Functions, Boolean Algebra, and Circuit Design
Preface About the Author Dependency Chart xiii xix xxi Chapter 1: Logic and Sets 1 1.1: Logical Operators: Statements and Truth Values, Negations, Conjunctions, and Disjunctions, Truth Tables, Conditional
More informationVirtual University of Pakistan
Virtual University of Pakistan Department of Computer Science Course Outline Course Instructor Dr. Sohail Aslam E mail Course Code Course Title Credit Hours 3 Prerequisites Objectives Learning Outcomes
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 informationL.J. Institute of Engineering & Technology Semester: VIII (2016)
Subject Name: Design & Analysis of Algorithm Subject Code:1810 Faculties: Mitesh Thakkar Sr. UNIT-1 Basics of Algorithms and Mathematics No 1 What is an algorithm? What do you mean by correct algorithm?
More informationDETERMINISTIC OPERATIONS RESEARCH
DETERMINISTIC OPERATIONS RESEARCH Models and Methods in Optimization Linear DAVID J. RADER, JR. Rose-Hulman Institute of Technology Department of Mathematics Terre Haute, IN WILEY A JOHN WILEY & SONS,
More informationWe can use a max-heap to sort data.
Sorting 7B N log N Sorts 1 Heap Sort We can use a max-heap to sort data. Convert an array to a max-heap. Remove the root from the heap and store it in its proper position in the same array. Repeat until
More informationEECS1012. Net-centric Introduction to Computing. Lecture 7 Computational Thinking. Fall 2018, EECS York University. M.S. Brown and Amir H.
EECS1012 Net-centric Introduction to Computing Lecture 7 Computational hinking all 2018, EECS York University M.S. Brown and Amir H. Chinaei overview computational thinking the thought process involved
More informationData Structures and Algorithms
Data Structures and Algorithms About the course (objectives, outline, recommended reading) Problem solving Notions of Algorithmics (growth of functions, efficiency, programming model, example analysis)
More informationAlgorithm Design Methods. Some Methods Not Covered
Algorithm Design Methods Greedy method. Divide and conquer. Dynamic Programming. Backtracking. Branch and bound. Some Methods Not Covered Linear Programming. Integer Programming. Simulated Annealing. Neural
More informationNovember Exam. University of Cape Town ~ Department of Computer Science Computer Science 3003S ~ 2009
University of Cape Town ~ Department of Computer Science Computer Science 3003S ~ 2009 November Exam Marks : 100 Time : 180 minutes Instructions: a) Answer ALL questions in Sections A and C. b) Answer
More informationAlgorithms ~ Introduction to Algorithms. R K Shyamasundar
Algorithms 1. Introduction to Algorithms R K Shyamasundar In this introductory article the concept of algorithm which forms the foundation of computer science is defined. A diagrammatic form of describing
More information11/2/2017 RECURSION. Chapter 5. Recursive Thinking. Section 5.1
RECURSION Chapter 5 Recursive Thinking Section 5.1 1 Recursive Thinking Recursion is a problem-solving approach that can be used to generate simple solutions to certain kinds of problems that are difficult
More informationBrief History. Graph Theory. What is a graph? Types of graphs Directed graph: a graph that has edges with specific directions
Brief History Graph Theory What is a graph? It all began in 1736 when Leonhard Euler gave a proof that not all seven bridges over the Pregolya River could all be walked over once and end up where you started.
More information