Joseph L. Lindo Algorithms and Data Structures Sir Joseph Lindo University of the Cordilleras.

Slides:



Advertisements
Similar presentations
Chapter 2: Problem Solving
Advertisements

INTRODUCTION TO PROGRAMMING
COEN 352 Data structures and Algorithms R. Dssouli.
Introductory Lecture. What is Discrete Mathematics? Discrete mathematics is the part of mathematics devoted to the study of discrete (as opposed to continuous)
Lecture 15 Hidden Markov Models Dr. Jianjun Hu mleg.cse.sc.edu/edu/csce833 CSCE833 Machine Learning University of South Carolina Department of Computer.
What is an Algorithm? (And how do we analyze one?)
INTRODUCTION COMPUTATIONAL MODELS. 2 What is Computer Science Sciences deal with building and studying models of real world objects /systems. What is.
Algorithms and Problem Solving-1 Algorithms and Problem Solving.
Lecture 14 Go over midterm results Algorithms Efficiency More on prime numbers.
Reconfigurable Computing S. Reda, Brown University Reconfigurable Computing (EN2911X, Fall07) Lecture 17: Application-Driven Hardware Acceleration (3/4)
The Design and Analysis of Algorithms
UNIVERSITY OF SOUTH CAROLINA Department of Computer Science and Engineering Design and Analysis of Algorithms - Chapter 11 Algorithm An algorithm is a.
TK3043 Analysis and Design of Algorithms Introduction to Algorithms.
1 Chapter 2 Problem Solving Techniques INTRODUCTION 2.2 PROBLEM SOLVING 2.3 USING COMPUTERS IN PROBLEM SOLVING : THE SOFTWARE DEVELOPMENT METHOD.
Design and Analysis of Algorithms
Introduction Dr. Ying Lu RAIK 283: Data Structures & Algorithms.
DCT 1123 PROBLEM SOLVING & ALGORITHMS INTRODUCTION TO PROGRAMMING.
Introduction to Programming Lecture Number:. What is Programming Programming is to instruct the computer on what it has to do in a language that the computer.
U NDERSTANDING P ROBLEMS AND HOW TO S OLVE THEM BY USING C OMPUTERS.
CSCE350: Data Structures and Algorithms Instructor: Dr. Jianjun Hu Fall Department of Computer Science and Engineering.
Introduction Algorithms and Conventions The design and analysis of algorithms is the core subject matter of Computer Science. Given a problem, we want.
End Show Writing a computer program involves performing the following tasks. 1. Understanding the problem 2. Developing an Algorithm for the problem 3.
Introduction to Algorithms By Mr. Venkatadri. M. Two Phases of Programming A typical programming task can be divided into two phases: Problem solving.
Software Life Cycle What Requirements Gathering, Problem definition
Problem Solving Techniques. Compiler n Is a computer program whose purpose is to take a description of a desired program coded in a programming language.
C++ Programming Language Lecture 2 Problem Analysis and Solution Representation By Ghada Al-Mashaqbeh The Hashemite University Computer Engineering Department.
Algorithms & Flowchart
Chapter 2: General Problem Solving Concepts
Definition of Terms Software/Programs Programs that directs the operation of a computer system Set of instructions Codes Programming Process of planning,
CMSC 104: Peter Olsen, Fall 99Lecture 9:1 Algorithms III Representing Algorithms with pseudo-code.
1 Ch. 1: Software Development (Read) 5 Phases of Software Life Cycle: Problem Analysis and Specification Design Implementation (Coding) Testing, Execution.
Design and Analysis of Algorithms - Chapter 11 Algorithm b An algorithm is a sequence of unambiguous instructions for solving a problem, i.e., for obtaining.
PROGRAM DEVELOPMENT CYCLE. Problem Statement: Problem Statement help diagnose the situation so that your focus is on the problem, helpful tools at this.
Data Structures and Algorithms Dr. Tehseen Zia Assistant Professor Dept. Computer Science and IT University of Sargodha Lecture 1.
Software Development Problem Analysis and Specification Design Implementation (Coding) Testing, Execution and Debugging Maintenance.
UNIT-I INTRODUCTION ANALYSIS AND DESIGN OF ALGORITHMS CHAPTER 1:
Program Development C# Programming January 30, 2007 Professor J. Sciame.
CS404 Design and Analysis of Algorithms BBy DDr. M V S Peri Sastry BB.E, PhD(BITS-Pilani)
The Hashemite University Computer Engineering Department
FLOWCHARTING AND ALGORITHMS
Onlinedeeneislam.blogspot.com1 Design and Analysis of Algorithms Slide # 1 Download From
Copyright © 2014 Curt Hill Algorithms From the Mathematical Perspective.
How Computers Solve Problems Computers also use Algorithms to solve problems, and change data into information Computers can only perform one simple step.
Chapter 2- Visual Basic Schneider1 Chapter 2 Problem Solving.
Introductory Lecture. What is Discrete Mathematics? Discrete mathematics is the part of mathematics devoted to the study of discrete (as opposed to continuous)
| MSC 8102:PROGRAMMING CONCEPTS By Vincent Omwenga, PhD. 1.
 Problem Analysis  Coding  Debugging  Testing.
Algorithms and Problem Solving
INTRODUCTION TO PROBLEM SOLVING
TK3043 Analysis and Design of Algorithms
Topic: Introduction to Computing Science and Programming + Algorithm
The Design and Analysis of Algorithms
CSE101-Lec#2 Programming Methodologies
Chapter 1 Introduction Copyright © 2007 Pearson Addison-Wesley. All rights reserved.
Introduction to The Design & Analysis of Algorithms
Courtsey & Copyright: DESIGN AND ANALYSIS OF ALGORITHMS Courtsey & Copyright:
Algorithm Algorithm is a step-by-step procedure or formula or set of instruction for solving a problem Its written in English language or natural language.
Programming Logic n Techniques
Chapter 1.
Unit# 9: Computer Program Development
Computers & Programming Languages
4. Computational Problem Solving
Introduction to Algorithms - 1
Understanding Problems and how to Solve them by using Computers
Algorithms and Problem Solving
Click to add Text Computers & Instructions. Computers are given instructions in the form of computer programs that are created through the development.
Flowcharts and Pseudo Code
WJEC GCSE Computer Science
Chapter 1 Introduction Copyright © 2007 Pearson Addison-Wesley. All rights reserved.
Reconfigurable Computing (EN2911X, Fall07)
Presentation transcript:

Joseph L. Lindo Algorithms and Data Structures Sir Joseph Lindo University of the Cordilleras

Joseph L. Lindo Case What How Section 1 Algorithm Why study algorithm? Make a lot of money out of great algorithm $ ? Ex. PageRank AlgorithmPageRank Algorithm Why

Joseph L. Lindo Case What How Section 1 Algorithm Why study algorithm? Make significant contribution to the society Ex. Viterbi AlgorithmViterbi Algorithm Why

Joseph L. Lindo Case What How Section 1 Algorithm Why study algorithm? Simply to be cool to invent something in computer science or IT field Ex. Shortest Path AlgorithmShortest Path Algorithm Why

Joseph L. Lindo Case What How Why Algorithm Definition An algorithm is a sequence of unambiguous instructions/operations for solving a problem for obtaining a required output for any legitimate input in a finite amount of time What

Joseph L. Lindo Case What How Why Algorithm What “computer”+ programs PROBLEM ALGORITHM INPUT OUTPUT Data Structures Map Navigation A  B Graphs Path

Joseph L. Lindo Case What How Why Algorithm Characteristics Finiteness - terminates after a number of steps Input - Valid inputs are clearly specified Output - can be proven to produce the correct outcome What

Joseph L. Lindo Case What How Why Algorithm Characteristics Definiteness -rigorously and unambiguously specified Effectiveness - steps are sufficiently simple and basic What

Joseph L. Lindo Case What How Why Algorithm Important Points Each step of an algorithm is unambiguous The range of inputs has to be specified carefully The same algorithm can be represented in different ways What

Joseph L. Lindo Case What How Why Algorithm Important Points The same problem may be solved by different algorithms Different algorithms may take different time to solve the same problem – we may prefer one to the other What

Joseph L. Lindo Case What How Why Algorithm Algorithmic Problem Solving What 1. Understanding the problem 2. Ascertaining the capabilities of a computational device 3. Choose between exact and approximate problem solving

Joseph L. Lindo Case What How Why Algorithm Algorithmic Problem Solving What 4.Deciding on appropriate data structure 5. Algorithm design techniques 6. Methods of specifying an algorithm (Pseudocode or diagram)

Joseph L. Lindo Case What How Why Algorithm Algorithmic Problem Solving What 7. Prove an algorithm’s correctness – mathematic induction 8. Analyzing an algorithm – Simplicity, efficiency, optimality 9. Coding an algorithm

Joseph L. Lindo Case What How Why Algorithm Algorithm Analysis Correctness Time efficiency Space efficiency What

Joseph L. Lindo Case What How Why Algorithm In general A good algorithm is a result of repeated effort and rework Better data structure Better algorithm design Better time or space efficiency Easy to implement Optimal algorithm What

Joseph L. Lindo Case What How Why Algorithm How to study Algorithm? Problem Representation/data structure in computer Operations on representations How

Joseph L. Lindo Case What How Why Algorithm How to present Algorithm? Human Language Graphical representation (Flow Chart) -->--> Pseudo code -->--> Sample Problem How

Joseph L. Lindo Case What How Why Algorithm Group Activity Write the algorithm in borrowing a book at the University of the Cordilleras. Represent the algorithm in: Human Language Flowchart Pseudo code Case

Joseph L. Lindo Algorithms and Data Structures Sir Joseph Lindo University of the Cordilleras

Joseph L. Lindo PageRank Algorithm Algorithm

Joseph L. Lindo PageRank Algorithm Algorithm Created by Larry Page The “soul” of Google Search Engine Google total assets: $31 billions 2008

Joseph L. Lindo Viterbi Algorithm Algorithm

Joseph L. Lindo Viterbi Algorithm Algorithm conceived by Andrew Viterbi in 1967 as an error-correction scheme for noisy digital communication links Viterbi algorithm is a standard component of tens of millions of high-speed modems

Joseph L. Lindo Viterbi Algorithm Algorithm It is a key building block of modern information infrastructure  Digitalcellular,  dial-up modems, satellite, deep-space  wireless LANs.  speech recognition, keyword spotting,  computational linguistics, and  bioinformatics.

Joseph L. Lindo Shortest Path Algorithm Algorithm CLICK HERE FOR MORE INFO

Joseph L. Lindo Shortest Path Algorithm Algorithm Used in Google Maps

Joseph L. Lindo Flow Chart Symbols Algorithm

Joseph L. Lindo Flow Chart Symbols Algorithm

Joseph L. Lindo Flow Chart Symbols Algorithm

Joseph L. Lindo Pseudo code Algorithm It is a cross between human language and a programming language

Joseph L. Lindo Name Search Problem Algorithm “Create a program that will determine the number of times a name occurs in a list.”

Joseph L. Lindo Human Language Representation Algorithm 1. Get the list of names, let's call this nameList 2. Get the name to look for, let's call this the keyname 3. Compare the keyname to each of the names in nameList 4. If the keyname is the same with a name in the list, add 1 to the count 5. If all the names have been compared, output the result

Joseph L. Lindo Flowchart Representation Algorithm

Joseph L. Lindo Pseudo code Representation Algorithm Let nameList = List of Names Let keyName = the name to be sought Let Count = 0 For each name in NameList do the following if name == keyName Count = Count + 1 Display Count