Anzeige

Introduction To Algorithms.ppt

28. Mar 2023
Anzeige

Más contenido relacionado

Anzeige

Introduction To Algorithms.ppt

  1. Tuesday, March 28, 2023 1 Data Structures & Algorithms Represented By Nale Rajesh K. (Lecturer COE Malegaon (Bk)) Introduction To Algorithms
  2. Tuesday, March 28, 2023 2 How do we solve problems?  We "just do"  Guesswork-and-luck  Trial-and-error  Experience (possibly someone else's)  "Scientifically"
  3. Tuesday, March 28, 2023 3 0100111010110010101010101 0010101010101001100101010 1010100101101001110101010 1010010010111010011110101 010111110101010001101… sterilize(saw,alcohol); raise_hammer(); lower hammer(fast); start(saw); /* etc. etc. */ Patient has elevated pressure in anterior parietal lobe The Problem-solving Process Problem specification Algorithm Program Executable (solution) Design Implementation Compilation "Doctor, my head hurts" Analysis 1. Sterilize cranial saw 2. Anaesthetize patient 3. Remove top of skull 4. Get the big spoon... 5. etc., etc.
  4. Tuesday, March 28, 2023 4 sterilize(saw,alcohol); raise_hammer(); lower hammer(fast); start(saw); /* etc. etc. */ The Problem-solving Process Problem specification Algorithm Program Executable (solution) Analysis Design Implementation Compilation "Doctor, my head hurts" Patient has elevated pressure in anterior parietal lobe. 1. Sterilize cranial saw 2. Anaesthetize patient 3. Remove top of skull 4. Get the big spoon... 5. etc., etc. 01001110101100101010101010010 10101010100110010101010101001 011010011101010101010010010111 010011110101010111110101010001 10100001101...
  5. Tuesday, March 28, 2023 5 The Problem-solving Process Problem specification Algorithm Program Executable (solution) Analysis Design Implementation Compilation
  6. Tuesday, March 28, 2023 6  A sequence of instructions specifying the steps required to accomplish some task  Named after: Muhammad ibn Musa al-Khwarizmi of Khowarezm (now Khiva in Uzbekistan) Algorithm
  7. Tuesday, March 28, 2023 7  A sequence of instructions describing how to do a task Algorithm – Working Definition [As opposed to actually executing the instructions]
  8. Tuesday, March 28, 2023 8 Algorithm -- Examples  A cooking recipe  Assembly instructions for a model  The rules of how to play a game  VCR instructions  Description of a martial arts technique  Directions for driving from A to B  A knitting pattern  A car repair manual
  9. Tuesday, March 28, 2023 9 Algorithm – Examples (cont)  Recipe for Almond and honey slice  Recipe for Arroz con pollo
  10. Tuesday, March 28, 2023 10 Almond and Honey Slice 1/2 quantity Shotcrust Pastry 185 g unsalted butter 100 g castor sugar 5 tablespoons honey 50 ml cream 50 ml brandy or any other liqueur or spirit 300 g flaked almonds Preheat oven for 200° C Line a 30 cm  20 cm baking tray with baking paper, and then with pastry Bake blind for 20 minutes, then remove weights and foil Turn oven up to 220° C. Bring remaining ingredients to a boil, stirring. Spread evenly over pastry. Bake until topping is bubbling and has caramelised evenly, about 15 minutes. Cool before cutting into fingers or squares. From: Stephanie Alexander, The Cook’s Companion, Viking/Penguin, Ringwood, Victoria, 1996, p. 349.
  11. Tuesday, March 28, 2023 11 Almond and Honey Slice 1/2 quantity Shotcrust Pastry 185 g unsalted butter 100 g castor sugar 5 tablespoons honey 50 ml cream 50 ml brandy or any other liqueur or spirit 300 g flaked almonds Preheat oven for 200° C Line a 30 cm  20 cm baking tray with baking paper, and then with pastry Bake blind for 20 minutes, then remove weights and foil Turn oven up to 220° C. Bring remaining ingredients to a boil, stirring. Spread evenly over pastry. Bake until topping is bubbling and has caramelised evenly, about 15 minutes. Cool before cutting into fingers or squares. Instructions are given in the order in which they are performed (“executed”)
  12. Tuesday, March 28, 2023 12 Correct Algorithm? Cut chicken into pieces and brown the pieces on all sides in a casserole dish in hot olive oil. Remove the chicken and to the juices in the casserole add garlic, onions and green peppers, and sauté until onion is golden. Add bay leaf, whole tomatoes, and chicken broth. When the broth boils add salt, saffron and rice. Arrange chicken on rice, cover casserole and bake in a moderate oven (350°F) for 20 minutes or until the rice is tender. Add beans and artichokes during last 10 minutes of cooking.
  13. Tuesday, March 28, 2023 13 Cut chicken into pieces and brown the pieces on all sides in a casserole dish in hot olive oil. Remove the chicken and to the juices in the casserole add garlic, onions and green peppers, and sauté until onion is golden. Add bay leaf, whole tomatoes, and chicken broth. When the broth boils add salt, saffron and rice. Arrange chicken on rice, cover casserole and bake in a moderate oven (350°F) for 10 minutes. Add beans and artichokes. Cover, and bake for another 10 minutes or until rice is tender. Correct Algorithm?
  14. Tuesday, March 28, 2023 14 From Algorithms to Programs Problem C Program Algorithm: A sequence of instructions describing how to do a task (or process)
  15. Tuesday, March 28, 2023 15 Components of an Algorithm  Variables and values  Instructions  Sequences  Procedures  Selections  Repetitions  Documentation
  16. Tuesday, March 28, 2023 16 Values  Represent quantities, amounts or measurements  May be numerical or alphabetical (or other things)  Often have a unit related to their purpose  Example:  Recipe ingredients
  17. Tuesday, March 28, 2023 17 Variables This jar can contain 10 cookies 50 grams of sugar 3 slices of cake etc. Values Variable  Are containers for values places to store values
  18. Tuesday, March 28, 2023 18 Restrictions on Variables  Variables may be restricted to contain a specific type of value
  19. Tuesday, March 28, 2023 19 Components of an Algorithm  Values and Variables  Instruction (a.k.a. primitive)  Sequence (of instructions)  Procedure (involving instructions)  Selection (between instructions)  Repetition (of instructions)  Documentation (beside instructions)
  20. Tuesday, March 28, 2023 20 Instructions (Primitives)  Some action that is simple...  ...and unambiguous...  ...that the system knows about...  ...and should be able to actually do
  21. Tuesday, March 28, 2023 21 Instructions – Examples  Take off your shoes  Count to 10  Cut along dotted line  Knit 1  Purl 2  Pull rip-cord firmly  Sift 10 grams of arsenic Directions to perform specific actions on values and variables.
  22. Tuesday, March 28, 2023 22 Instructions -- Application  Some instructions can only be applied to a specific type of values or variables  Examples:
  23. Tuesday, March 28, 2023 23 Instructions (Primitives) -- Recommendations  When writing an algorithm, make each instruction simple and unambiguous  Example: Cut chicken into pieces and brown the pieces on all sides in a casserole dish in hot olive oil. Cut chicken into pieces. Heat olive oil in a casserole dish. Brown the chicken pieces in the casserole dish.
  24. Tuesday, March 28, 2023 24 Instruction (Primitives)  When writing an algorithm, make the instructions simple and unambiguous.  Example: Cut chicken into pieces and brown the pieces on all sides in a casserole dish in hot olive oil. Cut chicken into pieces. Heat olive oil in a casserole dish. Brown the chicken pieces in the casserole dish. A “sequence” of simple instructions
Anzeige