COP 3530 Data Structures Introduction Dr Ron Eaglin

  • Slides: 13
Download presentation
COP 3530 - Data Structures Introduction Dr. Ron Eaglin

COP 3530 - Data Structures Introduction Dr. Ron Eaglin

Objectives • Understand describe field of Data Structures • Explain why data structures are

Objectives • Understand describe field of Data Structures • Explain why data structures are important in IT and Computer Science. • Understand pre-requisites to learning data structures. • Understand the outcomes of the data structures course.

What are Data Structures? Data Structure: A particular way of organizing data in a

What are Data Structures? Data Structure: A particular way of organizing data in a computer so it can be used efficiently Primitive – Bit, Integer, Float, String Complex – Array, List, Tree, Hash, Graph

Abstract Data Types • An Abstract Data Type is defined by its behavior –

Abstract Data Types • An Abstract Data Type is defined by its behavior – not its implementation • Data Structures are concrete implementations of abstract data types. • We will define the Abstract Data Types by their Interface and discuss implementation strategies

Why Data Structures? • Everything stored in a computer is stored as a Data

Why Data Structures? • Everything stored in a computer is stored as a Data Structure • Memory • Hard Drive • Other • Goals of Data Structures • • Storage Efficiency Computational Efficiency Retrieval Efficiency Search Efficiency

Importance of Data Structures • Most of the biggie tech companies like Microsoft focus

Importance of Data Structures • Most of the biggie tech companies like Microsoft focus mainly on data structures. It appears as if data structures is the only thing that they expect from a graduate. • I ask interview questions about data structures because on my team the developers design, implement and manipulate complex data structures all day every day. • Anyone who's been a developer in the last 30 years should know basic data structures like single/double linked lists, binary trees or graphs. http: //programmers. stackexchange. com/questions/102041/why-are-data-structures-so-important-in-interviews

But Why are they Important? • Building blocks of more complex systems • Used

But Why are they Important? • Building blocks of more complex systems • Used in development of algorithms and algorithmic efficiency • Fundamental to all computer systems

What do you need to know? • Basic computer programming skills • • •

What do you need to know? • Basic computer programming skills • • • Creating and calling functions Accepting user input, generate output Control structures (if/then, switch) Loops and iteration (for/next, while) Assignment and operations (+, -, *, /, ^, …) • Will learn • Objects • Pointers

Outcomes 1. Describe both complex and simple data structures. 2. Select the correct data

Outcomes 1. Describe both complex and simple data structures. 2. Select the correct data structure and algorithm to solve specific problems. 3. Implement data structures and algorithms in computer code. 4. Analyze the performance of algorithms and data structures.

Data Structures • Arrays • Lists (Queues and Stacks) • Trees (AVL, Binary Tree,

Data Structures • Arrays • Lists (Queues and Stacks) • Trees (AVL, Binary Tree, other) • Hash Tables • Graphs

Algorithms • Searching • Sorting • Traversal • Applications

Algorithms • Searching • Sorting • Traversal • Applications

Efficiency • Analyzing efficiency • Scalability of algorithms • Notations of efficiciency

Efficiency • Analyzing efficiency • Scalability of algorithms • Notations of efficiciency

Objectives • Understand describe field of Data Structures • Explain why data structures are

Objectives • Understand describe field of Data Structures • Explain why data structures are important in IT and Computer Science. • Understand pre-requisites to learning data structures. • Understand the outcomes of the data structures course.