1. What are Data Structures? CITS2200 Data Structures and Algorithms
• Data structures are software artifacts that allow data to be stored, organized and accessed.
Topic 1
Introduction to Data Structures
• They are more high-level than computer memory (hardware) and lower-level than databases and spreadsheets (which associate meta-data and meaning to the stored data).
• Why study data structures? • Collections, abstract data types (ADTs), and algorithm analysis • More on ADTs
• Ultimately data structures have two core functions: put stuff in, and take stuff out.
• What’s ahead? ?
before
m
i
s
window
s
?
null
after
c Tim French !
CITS2200
Introduction to Data Structures
Slide 1
c Tim French !
CITS2200
Introduction to Data Structures
Slide 2
2. What will we Study?
Why? • software is complex — more than any other man made system — even more so in today’s highly interconnected world
2.1 Collections . . . as name suggests, hold a bunch of things. . .
• software is fragile — smallest logical error can cause entire systems to crash
“nearly every nontrivial piece of software involves the use of collections”
• neither you, nor your software, will work in a vacuum Seen arrays — others include queues, stacks, lists, trees, maps, sets, tables. . .
• the world is unpredictable • clients are unpredictable!
D
Software must be correct, efficient, easy to maintain, and reusable.
C
E
A
A
B
E
B
B
C
D
E A
C
F
D
c Tim French !
CITS2200
Introduction to Data Structures
Slide 3
c Tim French !
CITS2200
Introduction to Data Structures
Slide 4