Week # 1: Overview & Review

Slides:



Advertisements
Similar presentations
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,
Advertisements

Administrivia- Introduction CSE 373 Data Structures.
The Design and Analysis of Algorithms
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.
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)
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
DATA STRUCTURES (CS212D) 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 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.
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: 
Data Structure and Algorithms
BITS Pilani Pilani Campus Data Structure and Algorithms Design Dr. Maheswari Karthikeyan Lecture1.
Data Structures I (CPCS-204)
Data Structures Dr. Abd El-Aziz Ahmed Assistant Professor Institute of Statistical Studies and Research, Cairo University Springer 2015 DS.
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
Mohammed I DAABO COURSE CODE: CSC 355 COURSE TITLE: Data Structures.
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
CENG 213 Data Structures Dr. Cevat Şener
Data Structures and Algorithms
GC211Data Structure Lecture2 Sara Alhajjam.
Unit 1. Sorting and Divide and Conquer
Data Structures Data Structure is a way of collecting and organising data in such a way that we can perform operations on these data in an effective.
Introduction to Data Structure
structures and their relationships." - Linus Torvalds
Data Structures (CS212D) Overview & Review.
Definition In simple terms, an algorithm is a series of instructions to solve a problem (complete a task) We focus on Deterministic Algorithms Under the.
Chapter 15 Lists Objectives
Objective of This Course
Introduction CSE 373 Data Structures.
Introduction to CS II Data Structures
Data Structures: Introductory lecture
COSC 320 Advanced Data Structures and Algorithm Analysis
Some slides are borrowed from Mr. Mohammad Alqahtani
Data Structures (CS212D) Overview & Review.
ITEC 2620M Introduction to Data Structures
Introduction to Data Structures
Administrivia- Introduction
Revision of C++.
Administrivia- Introduction
COP3530- Data Structures Introduction
Design and Analysis of Algorithms
structures and their relationships." - Linus Torvalds
Data Structures and Algorithms Lecture-1: Introduction
Advanced Analysis of Algorithms
Presentation transcript:

Week # 1: Overview & Review Data Structures (CS212D) Week # 1: Overview & Review Instructor Information: Dr. Radwa El Shawi Room:2.501.29 Email:rmelshawi@pnu.edu.sa

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 (6th Edition), by M. Goodrich, R. Tamassia and M. Goldwasser , John Wiley & Sons, inc., 2014. Lecture hand-outs Lab notes and excersise

Grading/Evaluation Course Assessment Tools Percent Mid term 1 20% 15% Lab assignments, quizzes and participation 10% Project Final 40%

What is data? Data Types of 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

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

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

Algorithm = Input + Process + Output 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

Order is very important!!! A simple algorithm Problem: Find maximum of a, b, c Algorithm Input = a, b, c Output = max Process Let max = a If b > max then max = b If c > max then max = c 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 The most crucial bit Needs problem solving skills A problem can be solved in many different ways 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 Write an algorithm to find the largest of a set of numbers. You do not know the number of numbers. Write an algorithm in pseudocode that finds the average of (n) numbers. For example numbers are [4,5,14,20,3,6]s