our presentation on algorithm design
TRANSCRIPT
![Page 1: Our presentation on algorithm design](https://reader036.vdocuments.mx/reader036/viewer/2022062513/555e3484d8b42a63048b4779/html5/thumbnails/1.jpg)
Welcome to our presentation
![Page 2: Our presentation on algorithm design](https://reader036.vdocuments.mx/reader036/viewer/2022062513/555e3484d8b42a63048b4779/html5/thumbnails/2.jpg)
![Page 3: Our presentation on algorithm design](https://reader036.vdocuments.mx/reader036/viewer/2022062513/555e3484d8b42a63048b4779/html5/thumbnails/3.jpg)
ALGORITHM-DESIGNPresented by : MAHTAB UDDIN
NAHIDID: 142014006
RUMANA KHANOMID : 142014008
MD. ARIF-UZZAMANID : 142014016
MARIA AFRINID : 142014023
![Page 4: Our presentation on algorithm design](https://reader036.vdocuments.mx/reader036/viewer/2022062513/555e3484d8b42a63048b4779/html5/thumbnails/4.jpg)
The topic we’ll present >>>
What is Algorithm ?What is Algorithm Design ?How to Design an Algorithm ?Graph AlgorithmFlow ChartImportance of Algorithm Design Conclusion
![Page 5: Our presentation on algorithm design](https://reader036.vdocuments.mx/reader036/viewer/2022062513/555e3484d8b42a63048b4779/html5/thumbnails/5.jpg)
What is algorithm ?An Algorithm is a Step by Step solution of a
specific mathematical or computer related problem.
![Page 6: Our presentation on algorithm design](https://reader036.vdocuments.mx/reader036/viewer/2022062513/555e3484d8b42a63048b4779/html5/thumbnails/6.jpg)
What is Algorithm-Design ?
Algorithm design is a specific method to create a mathematical process in solving problems.
![Page 7: Our presentation on algorithm design](https://reader036.vdocuments.mx/reader036/viewer/2022062513/555e3484d8b42a63048b4779/html5/thumbnails/7.jpg)
How to design algorithm ??
THERE ARE FOUR FAMOUS TECHNIQUES OF ALGORITHM DESIGN >>>
GREEDY ALGORITHMDIVIDE AND CONQUERDYNAMIC PROGRAMMINGBACK TRACKING
![Page 8: Our presentation on algorithm design](https://reader036.vdocuments.mx/reader036/viewer/2022062513/555e3484d8b42a63048b4779/html5/thumbnails/8.jpg)
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
![Page 9: Our presentation on algorithm design](https://reader036.vdocuments.mx/reader036/viewer/2022062513/555e3484d8b42a63048b4779/html5/thumbnails/9.jpg)
Image of greedy algorithm
![Page 10: Our presentation on algorithm design](https://reader036.vdocuments.mx/reader036/viewer/2022062513/555e3484d8b42a63048b4779/html5/thumbnails/10.jpg)
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)
![Page 11: Our presentation on algorithm design](https://reader036.vdocuments.mx/reader036/viewer/2022062513/555e3484d8b42a63048b4779/html5/thumbnails/11.jpg)
Image of Divide and Conquer
![Page 12: Our presentation on algorithm design](https://reader036.vdocuments.mx/reader036/viewer/2022062513/555e3484d8b42a63048b4779/html5/thumbnails/12.jpg)
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.
![Page 13: Our presentation on algorithm design](https://reader036.vdocuments.mx/reader036/viewer/2022062513/555e3484d8b42a63048b4779/html5/thumbnails/13.jpg)
Image of Dynamic Programming
![Page 14: Our presentation on algorithm design](https://reader036.vdocuments.mx/reader036/viewer/2022062513/555e3484d8b42a63048b4779/html5/thumbnails/14.jpg)
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.
![Page 15: Our presentation on algorithm design](https://reader036.vdocuments.mx/reader036/viewer/2022062513/555e3484d8b42a63048b4779/html5/thumbnails/15.jpg)
Image of back tracking
![Page 16: Our presentation on algorithm design](https://reader036.vdocuments.mx/reader036/viewer/2022062513/555e3484d8b42a63048b4779/html5/thumbnails/16.jpg)
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.
![Page 17: Our presentation on algorithm design](https://reader036.vdocuments.mx/reader036/viewer/2022062513/555e3484d8b42a63048b4779/html5/thumbnails/17.jpg)
Image of Graph Algorithm
![Page 18: Our presentation on algorithm design](https://reader036.vdocuments.mx/reader036/viewer/2022062513/555e3484d8b42a63048b4779/html5/thumbnails/18.jpg)
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.
![Page 19: Our presentation on algorithm design](https://reader036.vdocuments.mx/reader036/viewer/2022062513/555e3484d8b42a63048b4779/html5/thumbnails/19.jpg)
Symbols of Flow Chart Image
![Page 20: Our presentation on algorithm design](https://reader036.vdocuments.mx/reader036/viewer/2022062513/555e3484d8b42a63048b4779/html5/thumbnails/20.jpg)
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
![Page 21: Our presentation on algorithm design](https://reader036.vdocuments.mx/reader036/viewer/2022062513/555e3484d8b42a63048b4779/html5/thumbnails/21.jpg)
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.
![Page 22: Our presentation on algorithm design](https://reader036.vdocuments.mx/reader036/viewer/2022062513/555e3484d8b42a63048b4779/html5/thumbnails/22.jpg)
THANKS FOR LISTENING
US
![Page 23: Our presentation on algorithm design](https://reader036.vdocuments.mx/reader036/viewer/2022062513/555e3484d8b42a63048b4779/html5/thumbnails/23.jpg)
Any Question ??