DATA STRUCTURES & C# GENERICS Trent Spangler | Greg Phelps.
-
Upload
ralf-sutton -
Category
Documents
-
view
230 -
download
0
Transcript of DATA STRUCTURES & C# GENERICS Trent Spangler | Greg Phelps.
DATA STRUCTURES & C# GENERICS
Trent Spangler | Greg Phelps
OUTLINE
Data Structures
• Importance
• Definition
• Examples
• Different Structure Types
• Uses
C# Generics
• Definition
• Pros & Cons
• In Depth
Why are data structures important?
• Store and manage large amounts of data efficiently• Databases
• Sorting or Indexing Services.
• Search structures for information we want
DATA STRUCTURES
“A particular way of storing and
organizing data.”
Real-world Examples
Structure Types
Array
Linked List
Sorted List
Trees
Hash Table
Queues & Stacks
Arrays
“systematic arrangement of
objects, usually in rows and columns”
1, 2, and 3 Dimensional
Linked List
• Data stored in a “node” which means it contains data and a reference to the next node in the sequence
• Advantage:• Easy insertion or deletion without reorganization
• Disadvantage:• Must search from the beginning because lists are
sequential/ordered
Sorted List
Similar to Linked List
“Nodes” are sorted and are inserted accordingly
Trees
Each “node” has no more than two children, referred to as left and right.
Example
Hash Table
Value = phone #
Key = Sandvig
Hash(Sandvig) 5
Hash(Gandalf) 5
Queues & Stacks
Push: insert
Pop: extract
Peek: examine
STACTIVITY
GENERICSWhat are they?
A simple definition:
“Generics allow you to define type-
safe data structures, without
committing to actual data types.”
GenericsPros & Cons
• Pros• Code Reusability
• Type Safety
• Increased performance from less code
• Cons• Complexity
• Learning curve
Mainly used with collections/data
structures
Generics In Depth
• Information is stored in objects instead of variables
• Note: You cannot implicitly convert type object to other data types (int, string, etc.)
DraculaExplanation
ofGenerics
REFERENCES • http://en.wikipedia.org/wiki/Data_structure
• http://en.wikipedia.org/wiki/Main_Page
• http://codersbarn.com/post/2008/04/09/What-are-C-Generics-Part-I.aspx