0% found this document useful (0 votes)
273 views

Vidya Mam PPT - Lecture1

This document provides an overview of the CSE 201 course on Data Structures and Algorithms. It outlines the course details including schedule, evaluation process, plagiarism policy, topics to be covered, textbooks, and lab outline. The course aims to help students understand data structures and their application in problem solving. It will cover linear and non-linear data structures, and their implementation and use through programming assignments and labs. Choosing the appropriate data structure is important as it impacts program efficiency.

Uploaded by

koushik Ram
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)
273 views

Vidya Mam PPT - Lecture1

This document provides an overview of the CSE 201 course on Data Structures and Algorithms. It outlines the course details including schedule, evaluation process, plagiarism policy, topics to be covered, textbooks, and lab outline. The course aims to help students understand data structures and their application in problem solving. It will cover linear and non-linear data structures, and their implementation and use through programming assignments and labs. Choosing the appropriate data structure is important as it impacts program efficiency.

Uploaded by

koushik Ram
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/ 22

CSE 201: Data Structures and

Algorithms

Lecture 1: Introduction
Dr. Vidhya Balasubramanian

Amrita School of Engineering


CSE 201: Data Structures and
Algorithms Amrita Vishwa Vidyapeetham
Course Overview
● CSE 230: Data Structures
– Monday 6th hour
– Wednesday 4th hour
– Thursday 1st hour
– Friday 1st hour
● CSE 281: Data Structures and Algorithms Lab
– Friday – 3,4
● Course Website: https://sites.google.com/site/amritadsdaa
– Email: [email protected]

Amrita School of Engineering


CSE 201: Data Structures and
Algorithms Amrita Vishwa Vidyapeetham
Evaluation Pattern
● Theory
– Goal: Understand data structures and study the
application of data structures in problem solving
– Midterms – 15+15
– Tutorials and Assignments : 20
● Lab
– Implementation and effective use of data structures
– Periodical labs – 20+20
– End Semester Lab – 20
– Continuous Assessment – 40
Amrita School of Engineering
CSE 201: Data Structures and
Algorithms Amrita Vishwa Vidyapeetham
Plagiarism/Copying Policy
● Kindly do your own work, it is in your best interest
● Lab exams and theory exams test your understanding of the
subject
– Performance is usually poor if you don't do your own work
● Plagiarism/Copying is strictly forbidden in this course
– Assignments must be original
– Lab code must be original
● For every assignment/lab that is copied there will be negative
grading.

Amrita School of Engineering


CSE 201: Data Structures and
Algorithms Amrita Vishwa Vidyapeetham
Course Outline
● Introduction to Data Structures
● Introduction to Abstract Data Types
● Linear Data Structures
– Stacks and Recursion
– Queues
– Lists
– Vectors and Iterators
● Non-linear Data Structures
– Trees, Graphs, Skiplists
● Dictionaries and Hashing
Amrita School of Engineering
CSE 201: Data Structures and
Algorithms Amrita Vishwa Vidyapeetham
Text Books and References

Michael T Goodrich and Roberto Tamassia and Michael H 
Goldwsasser, “Data Structures and Algorithms in Java”, Fifth 
edition, John Wiley publication, 2010.

Clifford A. Shaffer, “Data Structures and Algorithm Analysis”, Third 
Edition, Dover Publications, 2012.

Goodrich M T, Tamassia R and Michael H. Goldwasser, “Data 
Structures and Algorithms in  Python++”, Wiley publication, 2013.

Jean –Paul, Tremblay and Paul G. Sorenson, An Introduction to Data 
Structures with Applications, Tata McGraw­Hill, Second Edition, 
2002.

Amrita School of Engineering


CSE 201: Data Structures and
Algorithms Amrita Vishwa Vidyapeetham
Lab Outline
● Implementing Data Structures
– Using Java and its visualization libraries to implement the
data structures
● Using Data Structures
– In Java
– Usage of in-built libraries in Java
– Modularity and good programming practices important!

Amrita School of Engineering


CSE 201: Data Structures and
Algorithms Amrita Vishwa Vidyapeetham
Why Data Structures!!!

Searching??????
Huge volumes of data in different formats, need to be organized!!!

Amrita School of Engineering


CSE 201: Data Structures and
Algorithms Amrita Vishwa Vidyapeetham
Organization of data

B-Trees
Arrays
Dictionaries

Amrita School of Engineering


CSE 201: Data Structures and
Algorithms Amrita Vishwa Vidyapeetham
Effective Searching and Retrieval

Binary-tree visualization of the Yahoo


search engine bot crawling an
experimental website
Amrita School of Engineering
CSE 201: Data Structures and
Algorithms Amrita Vishwa Vidyapeetham
Effectiveness in Modeling

Amrita School of Engineering


CSE 201: Data Structures and
Algorithms Amrita Vishwa Vidyapeetham
Modeling Processes

Fractal

Amrita School of Engineering


CSE 201: Data Structures and
Algorithms Amrita Vishwa Vidyapeetham
Modeling Data

Amrita School of Engineering


CSE 201: Data Structures and
Algorithms Amrita Vishwa Vidyapeetham
Efficiency

Amrita School of Engineering


CSE 201: Data Structures and
Algorithms Amrita Vishwa Vidyapeetham
Efficiency

Amrita School of Engineering


CSE 201: Data Structures and
Algorithms Amrita Vishwa Vidyapeetham
Efficiency

Amrita School of Engineering


CSE 201: Data Structures and
Algorithms Amrita Vishwa Vidyapeetham
Efficiency

Amrita School of Engineering


CSE 201: Data Structures and
Algorithms Amrita Vishwa Vidyapeetham
Other functionalities

Amrita School of Engineering


CSE 201: Data Structures and
Algorithms Amrita Vishwa Vidyapeetham
Examples

Amrita School of Engineering


CSE 201: Data Structures and
Algorithms Amrita Vishwa Vidyapeetham
Philosophy of Data Structures
● Applications getting more complex
– Need for more efficiency
● What is a Data Structure?
– is any data representation and its associated operations
– Used for organizing or structuring a collection of data
items
● Need
– Chosen data structure impacts the running time of
program

Amrita School of Engineering


CSE 201: Data Structures and
Algorithms Amrita Vishwa Vidyapeetham
Efficiency
● A solution is efficient if it solves the problem within the specified constraints
– Available space
– Time taken
● Choice of Data Structure depends on the following
– Are all data items inserted into the data structure at the beginning, or are
other operations interspersed with insertions ?
– Can data items be deleted, and how often are they deleted?
● Does frequent deletion require reorganizing the data structure
– Are all data items processed in some well-defined order, or is search for
specific data items allowed?

Amrita School of Engineering


CSE 201: Data Structures and
Algorithms Amrita Vishwa Vidyapeetham
Choice of Data Structure
● Depends on application/modeling requirement
– Stacks most suitable for recursion
● Space vs time considerations
– Hash tables are fast but occupy more memory
– Arrays are not dynamic
● Suitability for disk based access
– For large volumes of data, the data structure will not fit
main memory
– Is the data structure suitable for disk based storage and
access
Amrita School of Engineering
CSE 201: Data Structures and
Algorithms Amrita Vishwa Vidyapeetham

You might also like