Week 1 Algorithms: Efficiency, Analysis, and Order: INFSCI 2591 Fall 2020
This document provides an overview of the learning objectives and reading instructions for Week 1 of an algorithms course. The key topics covered are analyzing techniques for solving problems, defining algorithms, and analyzing the growth rate and complexity of algorithms. Students are instructed to read the entire assigned chapter, which introduces sequential search, exchange sort, binary search, and calculating the nth Fibonacci term recursively and iteratively. The document directs students to examples that analyze the time complexity of these algorithms in different cases. It also recommends reading sections in the appendix about recursive equations to understand analyzing recursive algorithms.
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0 ratings0% found this document useful (0 votes)
87 views6 pages
Week 1 Algorithms: Efficiency, Analysis, and Order: INFSCI 2591 Fall 2020
This document provides an overview of the learning objectives and reading instructions for Week 1 of an algorithms course. The key topics covered are analyzing techniques for solving problems, defining algorithms, and analyzing the growth rate and complexity of algorithms. Students are instructed to read the entire assigned chapter, which introduces sequential search, exchange sort, binary search, and calculating the nth Fibonacci term recursively and iteratively. The document directs students to examples that analyze the time complexity of these algorithms in different cases. It also recommends reading sections in the appendix about recursive equations to understand analyzing recursive algorithms.
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 6
Week 1
Algorithms: Efficiency, Analysis,
and Order
INFSCI 2591 Fall 2020
8/25/2020 INFSCI 2591, Fall 2020 1
Learning Objectives • Analyze techniques for solving problems • Define an algorithm • Define growth rate of an algorithm as a function of input size • Define worse, average, and best case complexity analysis of algorithms • Classify functions based on growth rate • Define growth rate: Big O, Theta, and Omega •8/25/2020 Define growth rate of an algorithm as a INFSCI 2591, Fall 2020 2
function of input size
Reading Instructions • Read the entire Chapter 1 • As you notice from the learning objectives, the purpose of this chapter is to prepare you for analysis of algorithms • This chapter has some topics that may seem a bit abstract, at least the first time you read it or if this is the first time you read about this topic • Do not worry if you are unable to fully follow everything in this chapter and with practice you will learn the topic gradually as almost in every chapter there are examples and exercises on the topic 8/25/2020 INFSCI 2591, Fall 2020 3 Notes: Algorithms • Read the entire chapter and pay attention to: – Algorithm 1.1 (pages 4-5): Sequential Search – Algorithm 1.3 (pages 7-8): Exchange sort – Algorithm 1.5 (page 10): Binary Search – Algorithm 1.6 (page 13): nth Fibonacci term (Recursive) – Algorithm 1.7 (page 16): nth Fibonacci term (Iterative) 8/25/2020 INFSCI 2591, Fall 2020 4 Notes: Analysis of Algorithms • Read the entire chapter and pay attention to: – Analysis of Algorithm 1.3 (page 20): Every-Case Time Complexity (Exchange Sort) – Analysis of Algorithm 1.1 (pages 21-22): Worst-Case Time Complexity (Sequential Search) – Analysis of Algorithm 1.1 (pages 22-23): Average-Case Time Complexity (Sequential Search) – Analysis of Algorithm 1.1 (page 24): Best-Case Time Complexity (Sequential Search)
8/25/2020 INFSCI 2591, Fall 2020 5
More Reading • Considering there are algorithms with recursive logic, you should read these selected sections below in Appendix B of the textbook to help you analyze time complexity of recursive algorithms • To determine time complexity of recursive algorithms an understanding of recursive equations is needed • Appendix B of the textbook describes recursive equations • Read only Sections B.1 (pages 603-607) and B.3 (pages 626- 627) • For the purpose of this course you only need to know these selected recursive equations and how to use them in determining time complexity of recursive algorithms