What is algorithm design? An algorithm was defined 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.
A good understanding of algorithms is essential for a good understanding of the most basic element of computer science: programming. Unlike a program, an algorithm is a mathematical entity, which is independent of a specific programming language, machine, or compiler. Thus, in some sense, algorithm design is all about the mathematical theory behind the design of good programs.
One of the elements that this course focuses on is to try to study algorithms as pure mathematical objects, and so ignore issues such as programming language, machine, and operating system. This has the advantage of clearing away the messy details that affect implementation. But these details may be very important.
Document Organization:
The notes will consist of three major sections. The first is on the mathematical tools necessary for the analysis of algorithms. This will focus on asymptotics, summations, recurrences. The second element will deal with one particularly important algorithmic problem: sorting a list of numbers. The notes will show a number of different strategies for sorting, and use this problem as a case study in different techniques for designing and analyzing algorithms. The final third of the course will deal with a collection of various algorithmic problems and solution techniques. Finally the notes will close with a very brief introduction to the theory of NP-completeness. NP-complete problem are those for which no efficient algorithms are known, but no one knows for sure whether efficient solutions might exist.
Author : Dave Mount, Department of Computer Science, University of Maryland
Publication Date : 1998
View/Download Notes for the Course of Algorithms | Course web page
Blog Archive
-
▼
2010
(59)
-
▼
August
(39)
- Adaptive Object-Oriented Software: The Demeter Met...
- Building Skills in Object-Oriented Design - Step-b...
- Introduction to Object-Oriented Programming Using C++
- Java Au Naturel - Guide to Object Oriented Design,...
- Java: An Object First Approach
- Object-Oriented Programming And The Objective-C La...
- Object Oriented Analysis and Design - Course Notes
- Learning Object Oriented Programming with Delphi
- Seamless Object-Oriented Software Architecture - A...
- Objective-C 2.0 Essentials
- Object-Oriented System Development
- Object-Oriented Software Composition
- A Practical Introduction to Data Structures and Al...
- Algorithmic Problem Solving
- Computational Modeling and Complexity Science
- Algorithms
- Algorithms for Programmers
- Average Case Analysis of Algorithms on Sequences
- Art Gallery Theorems and Algorithms
- Art of Programming Contest
- Algorithms in the Real World: Lecture Notes
- Data Structures and Algorithms with Object-Oriente...
- Data Structures and Algorithms with Object-Oriente...
- Data Structures and Algorithms With Object-Oriente...
- Design and Analysis of Algorithms: Course Notes
- Design and Analysis of Computer Algorithms
- Efficient Algorithms for Sorting and Synchronization
- Foundations of Computer Science
- GNU libavl Online Book
- Practical Optimization: A Gentle Introduction
- Optimization Algorithms on Matrix Manifolds
- Object-oriented Programming with Ansi-C
- Notes for the Course of Data Structures
- Notes for the Course of Algorithms
- Notes for the Course of Advanced Algorithms
- Jeff Erickson's Algorithms Course Materials
- Introduction to Algorithms
- Problems on Algorithms, Second Edition
- Sorting and Searching Algorithms: A Cookbook
-
▼
August
(39)
Sunday, August 1, 2010
Notes for the Course of Algorithms


Posted under :
Algorithms and Data Structures,
Computer Science
Subscribe to:
Post Comments (Atom)
0 comments:
Post a Comment