The study of data structures and the algorithms that manipulate them is among the most fundamental topics in computer science. Most of what computer systems spend their time doing is storing, accessing, and manipulating data in one form or another. Some examples from computer science include networking, information retrieval, compilers and computer graphics.
This course will deal with the first two tasks of storage and access at a very general level. (The last issue of manipulation is further subdivided into two areas, manipulation of numeric or floating point data, which is the subject of numerical analysis, and the manipulation of discrete data, which is the subject of discrete algorithm design.) A good understanding of data structures is fundamental to all of these areas.
Whenever we deal with the representation of real world objects in a computer program we must first consider a number of issues: modeling, operations, representation and algorithms. Note that the first two items are essentially mathematical in nature, and deal with the "what" of a data structure, whereas the last two items involve the implementation issues and the "how" of the data structure. The first two essentially encapsulate the essence of an abstract data type (or ADT). In contrast the second two items, the concrete issues of implementation, will be the focus of this course.
This course will explore a number of different data structures, study their implementations, and analyze their efficiency (both in time and space). One of the goals will be to provide the students with the tools that they will need to design and implement their own data structures to solve their own specific problems in data storage and retrieval.
Course Overview:
This course will consider many different abstract data types, and many different data structures for storing each type. Note that there will generally be many possible data structures for each abstract type, and there will not generally be a "best" one for all circumstances. It will be important for the student as a designer of data structures to understand each structure well enough to know the circumstances where one data structure is to be preferred over another.
Author : Dave Mount, Department of Computer Science, University of Maryland
Publication Date : 2001
View/Download Notes for the Course of Data Structures | 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 Data Structures


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