DATA STRUCTURES (CS212D) Week # 1: Overview & Review.

Slides:



Advertisements
Similar presentations
Chapter 1: INTRODUCTION TO DATA STRUCTURE
Advertisements

Lecture # 02 07/02/2013Dr. Muhammad Umair 1. 07/02/2013Dr. Muhammad Umair 2  Numeric  Integer Numbers  0,10,15,4563 etc.  Fractional Number  10.5,
Lecture - 1 on Data Structures. Prepared by, Jesmin Akhter, Lecturer, IIT,JU Data Type and Data Structure Data type Set of possible values for variables.
Administrivia- Introduction CSE 373 Data Structures.
1 ES 314 Advanced Programming Lec 2 Sept 3 Goals: Complete the discussion of problem Review of C++ Object-oriented design Arrays and pointers.
The Design and Analysis of Algorithms
Unit 1. Sorting and Divide and Conquer. Lecture 1 Introduction to Algorithm and Sorting.
HORSEED International University
DATA STRUCTURE Subject Code -14B11CI211.
Data Structures Lecture-1:Introduction
Data Structures & Agorithms Lecture-1: Introduction.
C o n f i d e n t i a l Developed By Nitendra NextHome Subject Name: Data Structure Using C Title: Overview of Data Structure.
Instructor: Dr. Sahar Shabanah Fall Lectures ST, 9:30 pm-11:00 pm Text book: M. T. Goodrich and R. Tamassia, “Data Structures and Algorithms in.
Teaching Teaching Discrete Mathematics and Algorithms & Data Structures Online G.MirkowskaPJIIT.
CS223 Algorithms D-Term 2013 Instructor: Mohamed Eltabakh WPI, CS Introduction Slide 1.
Data Structures Lecture 1: Introduction Azhar Maqsood NUST Institute of Information Technology (NIIT)
Lecture No.01 Data Structures Dr. Sohail Aslam
ITEC 2620A Introduction to Data Structures
Data Structures Lecture 1 : Model Course Syllabi 0 Dr. Essam Halim Houssein Lecturer, Faculty of Computers and Informatics, Benha University.
Computer Science Department Data Structures and Algorithms Lecture 1.
Instructor Information: Dr. Radwa El Shawi Room: Week # 1: Overview & Review.
GC 211:Data Structures Week#1: Overview & Review
CS212: DATA STRUCTURES Lecture 1: Introduction. What is this course is about ?  Data structures : conceptual and concrete ways to organize data for efficient.
1 Introduction to Data Structures. 2 Course Name : Data Structure (CSI 221) Course Teacher : Md. Zakir Hossain Lecturer, Dept. of Computer Science Stamford.
 DATA STRUCTURE DATA STRUCTURE  DATA STRUCTURE OPERATIONS DATA STRUCTURE OPERATIONS  BIG-O NOTATION BIG-O NOTATION  TYPES OF DATA STRUCTURE TYPES.
Major objective of this course is: Design and analysis of modern algorithms Different variants Accuracy Efficiency Comparing efficiencies Motivation thinking.
Data Structures and Algorithms Lecture 1 Instructor: Quratulain Date: 1 st Sep, 2009.
Data Structure Introduction.
Data Structures Lecture 1: Introduction. Course Contents Data Types   Overview, Introductory concepts   Data Types, meaning and implementation  
Lecture 11 Data Structures, Algorithms & Complexity Introduction Dr Kevin Casey BSc, MSc, PhD GRIFFITH COLLEGE DUBLIN.
ICS202 Data Structures King Fahd University of Petroleum & Minerals College of Computer Science & Engineering Information & Computer Science Department.
Data Structures and Algorithms Dr. Tehseen Zia Assistant Professor Dept. Computer Science and IT University of Sargodha Lecture 1.
Elementary Data Organization. Outline  Data, Entity and Information  Primitive data types  Non primitive data Types  Data structure  Definition 
Data Structures & Algorithms CHAPTER 1 Introduction Ms. Manal Al-Asmari.
2 Obaid Ullah HOD Computer Science Dept. Superior University Sialkot Campus.
1 i206: Lecture 12: Hash Tables (Dictionaries); Intro to Recursion Marti Hearst Spring 2012.
Course Info Instructor U.T. Nguyen Office: CSEB Office hours: Tuesday, 14:30-15:30 Thursday, 12:00-12:45 By.
Data Structures and Algorithms in Java AlaaEddin 2012.
Course Introductions.  Introduction to java  Basics of Java  Classes & Objects  Java Collections and APIs  Algorithms and their analysis  Recursion.
DATA STRUCTURES (CS212D) Overview & Review Instructor Information 2  Instructor Information:  Dr. Radwa El Shawi  Room: 
Onlinedeeneislam.blogspot.com1 Design and Analysis of Algorithms Slide # 1 Download From
Data Structure and Algorithms
Computer Science: A Structured Programming Approach Using C1 Objectives ❏ To introduce the basic concepts of linked lists ❏ To introduce the basic concepts.
BITS Pilani Pilani Campus Data Structure and Algorithms Design Dr. Maheswari Karthikeyan Lecture1.
Data Structures I (CPCS-204)
1 CENG 707 Data Structures and Algorithms Nihan Kesim Çiçekli Department of Computer Engineering Middle East Technical University Fall 2013.
Maitrayee Mukerji. INPUT MEMORY PROCESS OUTPUT DATA INFO.
Lecture 1 Data Structures Aamir Zia. Introduction Course outline Rules and regulations Course contents Good Programming Practices Data Types and Data.
COMP9024: Data Structures and Algorithms Course Outline Hui Wu Session 1, 2016
Advanced Data Structures Lecture 1
Introduction toData structures and Algorithms
Introduction to Data Structures
COMP9024: Data Structures and Algorithms
Course Developer/Writer: A. J. Ikuomola
The Design and Analysis of Algorithms
GC211Data Structure Lecture2 Sara Alhajjam.
Unit 1. Sorting and Divide and Conquer
Data Structures (CS212D) Overview & Review.
Objective of This Course
Introduction CSE 373 Data Structures.
Data Structures: Introductory lecture
Some slides are borrowed from Mr. Mohammad Alqahtani
Week # 1: Overview & Review
Data Structures (CS212D) Overview & Review.
ITEC 2620M Introduction to Data Structures
Introduction to Data Structures
Administrivia- Introduction
Administrivia- Introduction
COP3530- Data Structures Introduction
Data Structures and Algorithms Lecture-1: Introduction
Presentation transcript:

DATA STRUCTURES (CS212D) Week # 1: Overview & Review

Instructor Information 2  Instructor Information:  Dr. Radwa El Shawi  Room: 

Outline 3  Singly Linked Lists  Doubly Linked Lists  Recursions

Course objectives  Be familiar with problem solving  Be familiar with basic techniques of algorithm analysis.  Be familiar with the concept of recursion.  Master the implementation of linked data structures such as linked lists, stacks, and queues.

Course objectives Cont.  Be familiar with advanced data structures such as balanced search trees, graphs and hash tables.  Master analyzing problems and writing program solutions to problems using the above techniques  Be able to select appropriate data structures and algorithms for given problems

Course Outline  Introduction to data structures  Arrays  Recursion  Linked Lists  Stacks and queues  Trees  Graphs  Hash tables

Course Material  Textbook: Data Structures & Algorithms in JAVA (6 th Edition), by M. Goodrich, R. Tamassia and M. Goldwasser, John Wiley & Sons, inc.,  Lecture hand-outs  Lab notes and excersise

Grading/Evaluation Course Assessment ToolsPercent Mid term 115% Mid term 215% Lab assignments, quizzes and participation 10% Final lab20% Final40%

What is data?  Data  A collection of facts from which conclusion may be drawn  e.g. Data: Temperature 35°C; Conclusion: It is hot.  Types of data  Textual: For example, your name (Nourah)  Numeric: For example, your ID (090254)  Audio: For example, your voice  Video: For example, your voice and picture  (...)

What is data structure?  A particular way of storing and organizing data in a computer so that it can be used efficiently and effectively.  Data structure is the logical or mathematical model of a particular organization of data.  A group of data elements grouped together under one name.  For example, an array of integers

There are many, but we named a few. We’ll learn these data structures in details through this term! Array Linked List Tree Queue Stack Types of data structures

The Need for Data Structures  Goal: to organize data  Criteria: to facilitate efficient  storage of data  retrieval of data  manipulation of data  Design Issue:  select and design appropriate data types (This is the main motivation to learn and understand data structures)

Data Structure Operations  Traversing  Accessing each data element exactly once so that certain items in the data may be processed  Searching  Finding the location of the data element (key) in the structure  Insertion  Adding a new data element to the structure

Data Structure Operations (cont.)  Deletion  Removing a data element from the structure  Sorting  Arrange the data elements in a logical order (ascending/descending)  Merging  Combining data elements from two or more data structures into one

What is algorithm?  A finite set of instructions which accomplish a particular task  A method or process to solve a problem  Transforms input of a problem to output  Algorithm = Input + Process + Output  Algorithm development is an art – it needs practice, practice and only practice!

What is a good algorithm?  It must be correct  It must be finite (in terms of time and size)  It must terminate  It must be unambiguous  Which step is next?  It must be space and time efficient  A program is an instance of an algorithm, written in some specific programming language

A simple algorithm  Problem: Find maximum of a, b, c  Algorithm  Input = a, b, c  Output = max  Process o Let max = a o If b > max then max = b o If c > max then max = c o Display max  Order is very important!!!

Algorithm development: Basics  Clearly identify:  what output is required?  what is the input?  What steps are required to transform input into output o The most crucial bit o Needs problem solving skills o A problem can be solved in many different ways o Which solution, amongst the different possible solutions is optimal?

Algorithm Design: Practice  Example 1: Determining even/odd number  A number divisible by 2 is considered an even number, while a number which is not divisible by 2 is considered an odd number. Write pseudo-code to display first N odd/even numbers.  Example 2: Computing Weekly Wages  Gross pay depends on the pay rate and the number of hours worked per week. However, if you work more than 40 hours, you get paid time-and-a-half for all hours worked over 40. Write the pseudo-code to compute gross pay given pay rate and hours worked

Even/ Odd Numbers  Input range  for num←0; num<=range; num←num+1 do  if num % 2 = 0 then  print num is even  else  print num is odd  endif  endfor

Computing weekly wages Input hours_worked, pay_rate if hours_worked <= 40 then gross_pay ← pay_rate x hours_worked else basic_pay ← pay_rate x 40 over_time ← hours_worked – 40 over_time_pay ← 1.5 x pay_rate x over_time gross_pay ← basic_pay + over_time_pay endfor print gross_pay

Homework 1.Write an algorithm to find the largest of a set of numbers. You do not know the number of numbers. 2.Write an algorithm that finds the average of (n) numbers. For example numbers are [4,5,14,20,3,6]s

Computer Science Department Oct-15

Computer Science Department Oct-15