Download presentation
Presentation is loading. Please wait.
Published byJohnathan Thornton Modified over 5 years ago
1
Algorithms Algorithm. [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. 👍 "Finite: there must be an end to it within a reasonable time. Definite: precisely definable in clearly understood terms, no pinch of salt type vagaries, or possible ambiguities Effective: the steps must be actually be able to be carried out. [simple enough for someone using pencil and paper to carry out in a finite amount of time] Procedure: the sequence of specific steps arranged in a logical order. Output: unless there is something coming out of the process, the result will remain unknown! "
2
problem algorithm “computer” input output
3
Etymology Algorism = process of doing arithmetic using Arabic numerals. True origin: Abu 'Abd Allah Muhammad ibn Musa al-Khwarizm was a famous 9th century Persian textbook author who wrote Kitab al-jabr wa'l-muqabala “كتاب الجبر والمواريث”* which evolved into today's high school algebra and Algorithms. revolutionized western mathematics: introduced decimal system, adopted use of 0, formal method for solving quadratic equations by completing the square, doing geometry His book al-jabr evolved into today's high school algebra text.
4
What is this course about?
We will study moderately complex data structures and algorithms that are essential in core areas of computer science Compilers Operating Systems Database Systems Search Engines etc. This is one of the most important (and fun) courses you will take
5
the core of computer science
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 5
6
The two main issues related to algorithms
How to design algorithms How to analyze algorithm efficiency 6
7
Board Example The PlayStation Example Algorithm Design
Additional Reading : Read section 4.1 from book [K] Pages
8
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”
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.