Algorthm Design and Analysis, Week 2 Notes
Algorthm Design and Analysis, Week 2 Notes CSC 3110
Popular in Algorithm Design and Analysis
Popular in Computer Science and Engineering
This 1 page Class Notes was uploaded by Judy on Friday September 9, 2016. The Class Notes belongs to CSC 3110 at Wayne State University taught by Alaa Khalaf Al-Makhzoomy in Fall 2016. Since its upload, it has received 8 views. For similar materials see Algorithm Design and Analysis in Computer Science and Engineering at Wayne State University.
Reviews for Algorthm Design and Analysis, Week 2 Notes
Report this Material
What is Karma?
Karma is the currency of StudySoup.
You can buy or earn more Karma at anytime and redeem it for class notes, study guides, flashcards, and more!
Date Created: 09/09/16
OneNote Online https://onenote.oﬀiceapps.live.com/o/onenotefram... Week 2 Notes Friday, September 9, 2016 12:03 PM Fundamentals of Algorithms Think of algorithms as a tool rather than a solution There are several steps that should be taken before you even get to coding an algorithm You may want to use things like paper or white boards for visualizing your plan All of this helps to prevent excessive or unnecessary debugging. 1. First, understand the problem a.Keep in mind any special cases 2.Decide on the techniques you will use to solve the problem 3.Design the algorithm 4.Prove its correctness a.If everything works well, move forward b.Otherwise, redesign the algorithm or change your techniques 5.Analyze the algorithm a.Analyze it in terms of memory used, time complexity, etc. b.If it needs to be or can be improved, redesign the algorithm or change your techniques 6.Code the algorithm Main Issues Related To Algorithms A good algorithm is a result of repeated eﬀort and work There are two main issues related to Algorithms: 1.How to Design them 2.How to analyze their eﬃciency Important Problem Types Sorting: Rearranging items of a given list in a particular order (increasing/decreasing) Sorting is considered "stable" if it preserves relative order of any two equal elements in input Sorting is considered "in place" if it does not require any extra memory Searching: Finding a given value (search key) in a given set. Keep in mind cases where data changes String Processing: Processing sequences of characters from an alphabet This has been important for computer science for a long time Graph Problems: Collections of points (vertices), some connected by lines (edges) Can be used for modeling a wide range of applications Basic graph algorithms include: Graph Traversal: shortest path problem Topological Sorting Some graph problems are very hard computationally. Combinatorial Problems: Finding a combinatorial object (permutations, combinations) that satisfy certain constraints Examples are the traveling salesman problem and the graph coloring problem Geometric problems: Deal with geometric objects Examples include the closest pair problem and the convex hull problem Numerical Problems: involve math objects of continuous nature The majority of these can only be solved approximately. 1 of 1 09/09/2016 07:49 PM
Are you sure you want to buy this material for
You're already Subscribed!
Looks like you've already subscribed to StudySoup, you won't need to purchase another subscription to get this material. To access this material simply click 'View Full Document'