0% found this document useful (0 votes)
4 views12 pages

Introduction

The document introduces CSE 225, a course focused on Data Structures and Algorithms, building on prior programming fundamentals covered in CSE 115 & 215. It emphasizes the importance of data structures for efficient software design and outlines the course content, which includes both abstract data types (ADTs) and their implementations. Key data structures to be studied include arrays, linked lists, stacks, queues, trees, graphs, and hash maps.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
4 views12 pages

Introduction

The document introduces CSE 225, a course focused on Data Structures and Algorithms, building on prior programming fundamentals covered in CSE 115 & 215. It emphasizes the importance of data structures for efficient software design and outlines the course content, which includes both abstract data types (ADTs) and their implementations. Key data structures to be studied include arrays, linked lists, stacks, queues, trees, graphs, and hash maps.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 12

Introduction to CSE 225

Data Structures and Algorithms


2

CSE 115 & 215 Fundamentals of Programming

• The history of computing / objects / types / console I/O


• Operators / loops / methods / parameter passing
• Selection statements / arrays / strings
Code or Data
• Exceptions / debugging
Driven
• File input / file output
• Pointers / unsafe code / linked lists
• Collections / multi-dimensional arrays / search algorithms
• Sorting algorithms
• Object-oriented design / polymorphism / interfaces / inheritance
• Abstract class
3

CSE 115 & 215 Fundamentals of Programming

These were the basics of programming


– The ability to manipulate the computer to perform the required tasks

You saw data storage techniques:


– Arrays, and
– ArrayList

You saw array accessing/manipulation techniques:


– Searching, and
– Sorting
4

Introduction to Data Structures

• One of the most fundamental courses in Computer Science


• Good knowledge of Data Structures is a must to design and
develop efficient software system
• We deal with data all the time and how we store, organize and
group our data together matters
• Let’s pick up some examples from our day-to-day life
5

Examples
6

Examples
7
8
What is a data structure?
• A data structure is a way to store and organize data in a computer so that it can be used
efficiently.
• What do you think efficiency means here?

• Why data structures?

 Ultimate goal -- to write efficient programs. In order to do that, one needs to organize
the data in such a way that it can be accessed and manipulated efficiently.

• What are data structures?

 A data structure is an aggregation of data components that together constitute a


meaningful whole.
 A data structure is a way of arranging data in a computer's memory or other disk
storage.
 A data structure is a collection of data, organized so that items can be stored and
retrieved by some fixed techniques.
9

How do we study data structures?

• When we study data structures, we study them in two ways:


– Mathematical / logical models (we look at an abstract view of them
or ADT)
– Implementations of the ADT
10

Abstract Data Types (ADT)

Barbara Liskov is an American Computer Scientist and a


Professor at MIT. She was the first woman to get a PhD in
Computer Science in USA and is also a Turing Award
winner for developing Liskov Substitution Principle.

Barbara, along with Stephen N. Zilles first proposed the


concepts of ADTs.
11

List (Abstract Data Type)

• List (ADT)
– Store a given number of elements of any data type
– Read elements by position
– Modify element at any position
• Arrays (Concrete Implementation)
• Linked List (Concrete Implementation)
• Abstract Data Types are entities that are definition of data and
operations but do not have implementations
12

What will we learn in this course?

• In this course, we will be talking about lots of data structures.


– We will be talking them as ADT
– We also see how to implement them
• Some of the data structures we will study include:
– Arrays
– Linked List
– Stack We will study:
– Queue  Logical view
– Tree  Operations
– Graph  Cost of operations
 Implementations
– Hash map

You might also like