Presentation is loading. Please wait.

Presentation is loading. Please wait.

New Mexico Computer Science For All Introduction to Algorithms Maureen Psaila-Dombrowski.

Similar presentations


Presentation on theme: "New Mexico Computer Science For All Introduction to Algorithms Maureen Psaila-Dombrowski."— Presentation transcript:

1 New Mexico Computer Science For All Introduction to Algorithms Maureen Psaila-Dombrowski

2 What do these things have in common? Doing the laundry Going to the grocery store Making chocolate chip cookies  Each is an repeated action  Each follows the same steps each time you do it  Each can be thought of as an algorithm

3 Algorithm A set of instructions that can be used repeatedly to solve a problem or complete a task.

4 Why Use Algorithms? Don’t have think about the details of the problem – we already know how to solve it. ▫Once you know how to go to the grocery store, you do not need to look at a map to decide where to make the next turn. All the information is in the algorithm – just have to follow it. Same algorithm can be used ▫to sort a list whether it has 5 elements or 5000 Anyone can follow it

5 Computers and Algorithms Computers ▫Speed ▫Accuracy ▫Well-suited for solving tedious problems  large telephone directory  adding a long column of numbers Computers  solving problems ▫A technique for solving the problem. ▫Algorithms ▫No algorithm  no solution ▫A general case solution (in some cases)

6 Characteristics of an Algorithm Receives input or initial conditions Produces a result (output) Contains steps ▫Well-ordered ▫Clearly defined ▫Do-able Clear stopping point or conditions General

7 Already Use Algorithms Wiggle

8 Types of Algorithms Similar types can be grouped together ▫Highlight how a problem can be attacked or solution used ▫Different ways to group  Implementation: Iteration, deterministic, etc…  Methodology: Brute Force, Divide and Conquer,…  Application: Sorting, Searching,…

9 Example: Types of Algorithms Counting – counting large groups of items Sorting - puts items in a certain order in a list Searching - finding an item in a list Mapping/Graphing - solving problems related to graph theory (shortest distance, cheapest distance,…) Encryption – Encodes or decodes information Packing – how to fit the most items in a given space Maze – Creating or solving mazes

10 Developing an Algorithm What’s the problem? Start with input and output Abstraction and Decomposition ▫Break the problem into parts ▫Detail the steps required for each step Write the pseudo-code Refine the solution, if necessary Write the code Debug, test the code with different cases Your done!

11 Example Algorithm: Take the Average Input and output ▫Input – list of numbers ( 5, 10, 12, 14, 16) ▫Output – average of the list Abstraction and decomposition – what are the steps ▫Add up the numbers in the list (total) ▫Count the numbers in the list (count) ▫Average = total/count

12 Example Algorithm: Take the Average Write the Pseudo-Code Initialize total and count to 0 For each number in the list add that number to the total add 1 to count Divide total by count Refine if necessary – might find improvements Write the code – in the language you are using Debug – always!

13 Analyzing Algorithms There are many ways to solve the same problem Analyze algorithms ▫Evaluate its suitability (speed, memory needed) ▫Compare it with other possible algorithms ▫Find improvements Algorithms tend to become better during analysis ▫shorter ▫simpler ▫more elegant

14 Big O Used in computer science ▫When analyzing algorithms  Measure of how an algorithm runs as you increase the input size dramatically. ▫Processing time ▫Memory used ▫Another way to classify algorithms Common Big O values ▫O(n) ▫O(n log(n)) ▫O(n 2 )

15 Summary Algorithm - A set of instructions to solve a problem Use algorithms because  Don’t have think about the details of the problem  All the information is in the algorithm  Anyone can follow it Characteristics  Receives input and Produces a result (output)  Contains steps ▫Well-ordered ▫Clearly defined ▫Doable  Stops by itself  General Algorithm Analysis is important  Choose the best one  One analysis used is Big O notation


Download ppt "New Mexico Computer Science For All Introduction to Algorithms Maureen Psaila-Dombrowski."

Similar presentations


Ads by Google