100 likes | 273 Views
Design and analysis of algorithms: Introduction. DESIGN and ANALYSIS of ALGORITHMS. ALGORITHMS. al- Khwārizmī : Persian mathematician, astronomer
E N D
DESIGN and ANALYSIS of ALGORITHMS
ALGORITHMS • al-Khwārizmī : Persian mathematician, astronomer • “On the calculation with Hindu numerals”; 825 AD decimal positional number system ZERO (500 AD)
ALGORITHMS • algorithm recipe • an effective method expressed as a finite list of well-defined instructions for calculating a function • Formally, algorithms are Turing machines • BISI BELE BATH • • Take rice and dal, wash and soak for 10 min. • • Soak tamarind in water; extract juice• Cook the dal till it is half done• Roast the spices. Mix them with coconut; add turmeric powder,.• Grind mixture into a thick paste using a little bit of water. • • Heat oil in pan. Burst mustard seeds and add curry leaves.• Add onions and stir fry till soft.• Add tamarind juice and 2 cups of water to the onions and bring to boil.• Add rice, vegetables, tomatoes, half-cooked dal, spice mixture and salt. Cook on a low flame till done.• Garnish with coriander leaves. Source: Wikipedia
ALGORITHMS In this course: • Instructions are basic instructions a computer can do. • However, we will be independent of programming languages/architectures/machines. • Imperative programming. Design & Analysis Programming Algorithm Computational problem tosolve Program
DESIGN PARADIGMS Design paradigm: An underlying design principle that forms the basis of many algorithms. Example: Towers of Hanoi / Brahma cone Design principle: Recursion / divide-and-conquer When subproblems merge: dynamic programming
DESIGN PARADIGMS • Brute force • Divide and conquer • Dynamic programming • Greedy method • Decrease and conquer • Transform and conquer (aka reductions)
TYPES OF PROBLEMS • SORTING • SEARCHING • STRING PROCESSING • GRAPH PROBLEMS • COMBINATORIAL PROBLEMS • GEOMETRIC PROBLEMS • NUMERICAL PROBLEMS
ALGORITHMS AND SOFT. ENGG. SYSTEM WEB SEARCH: google/bing key algorithms: indexing for fast search; ranking. THIS MEC SYSTEM: video key algorithms: mp4 compression
ALGORITHM DESIGN AND ANALYSIS CORE OF COMPUTATIONAL THINKING Useful for your entire career as a computer engineer.