tailieunhanh - Design and Analysis of Computer Algorithms

Dictionaries and scholars have offered a variety of definitions. The Merriam-Webster dictionary offers a definition of the term: "the practical application of knowledge especially in a particular area" and "a capability given by the practical application of knowledge".[1] Ursula Franklin, in her 1989 "Real World of Technology" lecture, gave another definition of the concept; it is "practice, the way we do things around here".[7] The term is often used to imply a specific field of technology, or to refer to high technology or just consumer electronics, rather than technology as a whole.[8] Bernard Stiegler, in Technics and Time, 1, defines. | CMSC 451 Design and Analysis of Computer Algorithms1 David M. Mount Department of Computer Science University of Maryland Fall 2003 1Copyright David M. Mount 2004 Dept. of Computer Science University of Maryland College Park MD 20742. These lecture notes were prepared by David Mount for the course CMSC 451 Design and Analysis of Computer Algorithms at the University of Maryland. Permission to use copy modify and distribute these notes for educational purposes and without fee is hereby granted provided that this copyright notice appear in all copies. Lecture Notes 1 CMSC 451 Lecture 1 Course Introduction Read All readings are from Cormen Leiserson Rivest and Stein Introduction to Algorithms 2nd Edition . Review Chapts. 1-5 in CLRS. What is an algorithm Our text defines an algorithm to be any well-defined computational procedure that takes some values as input and produces some values as output. Like a cooking recipe an algorithm provides a step-by-step method for solving a computational problem. Unlike programs algorithms are not dependent on a particular programming language machine system or compiler. They are mathematical entities which can be thought of as running on some sort of idealized computer with an infinite random access memory and an unlimited word size. Algorithm design is all about the mathematical theory behind the design of good programs. Why study algorithm design Programming is a very complex task and there are a number of aspects of programming that make it so complex. The first is that most programming projects are very large requiring the coordinated efforts of many people. This is the topic a course like software engineering. The next is that many programming projects involve storing and accessing large quantities of data efficiently. This is the topic of courses on data structures and databases. The last is that many programming projects involve solving complex computational problems for which simplistic or naive solutions may not be .

TỪ KHÓA LIÊN QUAN