Upload
nahid-hasan
View
140
Download
0
Tags:
Embed Size (px)
Citation preview
Welcome to our presentation
ALGORITHM-DESIGNPresented by : MAHTAB UDDIN
NAHIDID: 142014006
RUMANA KHANOMID : 142014008
MD. ARIF-UZZAMANID : 142014016
MARIA AFRINID : 142014023
The topic we’ll present >>>
What is Algorithm ?What is Algorithm Design ?How to Design an Algorithm ?Graph AlgorithmFlow ChartImportance of Algorithm Design Conclusion
What is algorithm ?An Algorithm is a Step by Step solution of a
specific mathematical or computer related problem.
What is Algorithm-Design ?
Algorithm design is a specific method to create a mathematical process in solving problems.
How to design algorithm ??
THERE ARE FOUR FAMOUS TECHNIQUES OF ALGORITHM DESIGN >>>
GREEDY ALGORITHMDIVIDE AND CONQUERDYNAMIC PROGRAMMINGBACK TRACKING
Greedy AlgorithmsAn algorithm which always takes the best
immediate or local solution while finding an answer.
Greedy algorithms will always find the overall or globally optimal solution for some optimization problems, but may find less-than-optimal solutions for some instances of other problems. EXAMPLE:
Greedy algorithm for the Knapsack problem
Minimal spanning tree
Image of greedy algorithm
Divide and ConquerBreak the problems into smaller sub-
problemsSolve each of the sub-problemsCombine the solutions to obtain the
solution to the original problem
EXAMPLE: Binary search in a sorted array
(recursion)
Quick sort algorithm (recursion)
Image of Divide and Conquer
Dynamic ProgrammingDynamic programming is typically used to
solve an optimization problem .Dynamic Programming is a Bottom-Up
Technique in which the smallest sub-instances are explicitly solved first and the results of these are used to construct solutions to progressively larger sub-instances.
Example: Fibonacci numbers computed by
iteration.
Warshall ’s algorithm implemented by iterations.
Image of Dynamic Programming
Back TrackingBacktracking is a general algorithm for
finding all solutions to some computational problem ,that incrementally builds candidates to the solutions, and abandons each partial candidate c ("backtracks") as soon as it determines that c cannot possibly be completed to a valid solution.
EXAMPLE: Eight queens puzzle.
Traveling salesman problem.
Image of back tracking
Graph AlgorithmA graph algorithm is an algorithm that takes
one or more graphs as inputs. Performance constraints on graph algorithms are generally expressed in terms of the number of vertices (|V|) and the number of edges (|E|) in the input graph.
Image of Graph Algorithm
Flow chartA flowchart is a type of
diagram that represents an algorithm, workflow or process, showing the steps as boxes of various kinds, and their order by connecting them with arrows.
Flowcharts are used in analyzing, designing, documenting or managing a process or program in various fields.
Symbols of Flow Chart Image
Importance of algorithm designIt is used to store and access
large quantities of data efficiently.
It is used to solve complex computational problems and to design of good programs
It is important to justify an algorithm correctness mathematically
It provides clear , simple and unambiguous description
Conclusion At last it may said that , the so called program
name Algorithm – design is one of the most enforceable solution program that can be used to solve any complicated , complex , and hard program.
Under considering the above case the concerned authority included the jubilant students should prefer this program with great care.
THANKS FOR LISTENING
US
Any Question ??