Contents: CS2
From
(→Topics) |
|||
Line 7: | Line 7: | ||
There is sometimes a difference made between a data structure and an abstract data type (ADT). An ADT describes the public interface of a data structure: the type of data and the valid operations on the data. An ADT, however, does not consider an implementation, and this is the essential difference. | There is sometimes a difference made between a data structure and an abstract data type (ADT). An ADT describes the public interface of a data structure: the type of data and the valid operations on the data. An ADT, however, does not consider an implementation, and this is the essential difference. | ||
- | == | + | == Introduction to Computability and Complexity == |
- | + | <br/> | |
- | *[[Asymptotic Measures|Asymptotic Measures]] | + | *[[Computability and Complexity|Overview of computability and complexity]] <br/> |
- | *[[Emperical Measures|Emperical Measures]] | + | *[[Asymptotic Measures|Asymptotic Measures]] <br/> |
- | + | *[[Emperical Measures|Emperical Measures]] <br/> | |
- | + | <br/> | |
- | + | == Algorithms == | |
- | + | <br/> | |
- | + | *[[Algorithms and Pysdocode|Overview of Algorithms and Pysdocode]] <br/> | |
- | *[[Memory Allocation|Memory Allocation]] | + | *[[Searching|Seaching]] <br/> |
- | *[[Primitive Structures|Primitive Structures]] | + | *[[Sorting|Sorting]] <br/> |
- | *[[Concept of an Element (Node)|Concept of an Element (Node)]] | + | <br/> |
- | *[[Abstract Data Types|Abstract Data Types]] | + | == Preliminaries of Data Organization == |
- | + | <br/> | |
- | + | *[[Memory Allocation|Memory Allocation]] <br/> | |
- | + | *[[Primitive Structures|Primitive Structures]] <br/> | |
- | + | *[[Concept of an Element (Node)|Concept of an Element (Node)]] <br/> | |
- | + | *[[Abstract Data Types|Abstract Data Types]] <br/> | |
- | + | <br/> | |
- | + | == ADTs and Data Structures == | |
- | + | <br/> | |
- | #[[Binary Trees|Binary Trees]] | + | ===Linear Structures=== |
- | #Binary Search Trees | + | <br/> |
- | #AVL Trees | + | *[[Lists|Lists]] <br/> |
- | #Red-Black Trees | + | *[[Stacks|Stacks]] <br/> |
- | #Splay Trees | + | *[[Queues|Queues]] <br/> |
- | #Heaps | + | <br/> |
- | #B-Trees | + | ===Trees=== |
- | + | #[[Binary Trees|Binary Trees]] <br/> | |
- | + | #Binary Search Trees <br/> | |
- | + | #AVL Trees <br/> | |
- | + | #Red-Black Trees <br/> | |
- | #Sets | + | #Splay Trees <br/> |
- | #Maps and Dictionaries | + | #Heaps <br/> |
- | #Hash Tables | + | #B-Trees <br/> |
- | + | <br/> | |
+ | ===Graphs=== | ||
+ | <br/> | ||
+ | ===Un-ordered Collections=== | ||
+ | <br/> | ||
+ | #Sets <br/> | ||
+ | #Maps and Dictionaries <br/> | ||
+ | #Hash Tables <br/> | ||
<br> | <br> |
Revision as of 15:51, 26 March 2009
Introduction (needs to be written)
Contents |
Data Structures and Abstract Data Types
A data structure is a means of organizing data in a computer’s memory to try to optimize either the memory needed or the time to access the data. This brings up the classic trade-off in Computer Science: the trade-off between Time and Space. In most situations today, it seems that we are primarily interested in minimizing the Time aspect. But, given smaller and smaller devices that increasingly do more (think of the evolution of the cell phone), minimizing the Space aspect can be important also.
There is sometimes a difference made between a data structure and an abstract data type (ADT). An ADT describes the public interface of a data structure: the type of data and the valid operations on the data. An ADT, however, does not consider an implementation, and this is the essential difference.
Introduction to Computability and Complexity
Algorithms
Preliminaries of Data Organization
ADTs and Data Structures
Linear Structures
Trees
- Binary Trees
- Binary Search Trees
- AVL Trees
- Red-Black Trees
- Splay Trees
- Heaps
- B-Trees
Graphs
Un-ordered Collections
- Sets
- Maps and Dictionaries
- Hash Tables