Title: Data Structures CSCI 262, Spring 2004 Lecture 1 Big Ideas in Data Structures Course website: http:ma
1Data Structures CSCI 262, Spring 2004Lecture
1Big Ideas in Data StructuresCourse website
http//mathcs.holycross.edu/csci262
2Crafting a Program
- Four main ideas used in creating complex computer
programs - Data Abstraction
- Modularity
- Algorithmic complexity
- Standard Tools
3Recall Problem Solving
One of the most important problem solving
techniques is Divide Conquer Glue
4Dealing with Abstraction
- Abstraction
- Allows you to capture common patterns in things
and ignore inessential details. - Black Box Abstraction
- Allows us to use things without knowing how they
work. For example, a telephone. - Data Hiding
- Allows use of a program component without knowing
the specifics of how it is implemented.
5Layers of Abstraction
- We can build up layers of abstraction to create
complexity. - Without layers of abstraction we could not
understand the most complex programs - (e.g. Microsoft Word 1,000,000 lines of code).
6Modularity
- The best programs are modular.
- The pieces can fit together and be used in many
different ways. - Lego building blocks are a classic example of
modularity.
7Algorithmic Complexity
Not all computer programs are equal. The
efficiency of programs can be measured as 1. The
amount of time the program takes to run. 2. The
amount of memory space used.
8Standard Programming Tools
Data Structures Stacks Queues Lists Tables Trees G
raphs
Algorithms Searching Sorting Tree Traversal Graph
Algorithms