Algorithms Algorithm n n n webster com A
Algorithms Algorithm. n n n [webster. com] A procedure for solving a mathematical problem (as of finding the greatest common divisor) in a finite number of steps that frequently involves repetition of an operation. [Knuth, TAOCP] An algorithm is a finite, definite, effective procedure, with some input and some output * 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. �� 1
problem algorithm input “computer” output 2
Etymology n n Algorism = process of doing arithmetic using Arabic numerals. True origin: Abu 'Abd Allah Muhammad ibn Musa al-Khwarizm was a famous 9 th century Persian textbook author who wrote Kitab aljabr wa'l-muqabala “ *”ﻛﺘﺎﺏ ﺍﻟﺠﺒﺮ ﻭﺍﻟﻤﻮﺍﺭﻳﺚ which evolved into today's high school algebra and Algorithms. 3
What is this course about? We will study moderately complex data structures and algorithms that are essential in core areas of computer science n n n Compilers Operating Systems Database Systems Search Engines etc. This is one of the most important (and fun) courses you will take 4
Why study algorithms? Theoretical importance n the core of computer science Practical importance n n A practitioner’s toolkit of known algorithms Framework for designing and analyzing algorithms for new problems 5
The two main issues related to algorithms How to design algorithms How to analyze algorithm efficiency 6
Board Example • The Play. Station Example Algorithm Design • • Additional Reading : Read section 4. 1 from book [K] • Pages 116 - 121 • 7
Reading • [L] Section 1. 1 Pages 1 – 7 • You will study the Euclid’s algorithm in Discrete Mathematics too [C] Chapter 1 Pages 5 – 10 • Exclude topic: “Hard problems” • • • 8
- Slides: 8