CSCI 311 – Algorithms and Data Structures

Slides:



Advertisements
Similar presentations
Analysis of Computer Algorithms
Advertisements

Chapter 1: INTRODUCTION TO DATA STRUCTURE
CSCI 311 – Algortihms and Data Structures Steve Guattery Dana 335a (department office) x7-3828
Search: Representation and General Search Procedure Jim Little UBC CS 322 – Search 1 September 10, 2014 Textbook § 3.0 –
CHAPTER 3 COLLECTIONS Abstract Data Types. 2 A data type consists of a set of values or elements, called its domain, and a set of operators acting on.
Text Chapters 1, 2. Sorting ä Sorting Problem: ä Input: A sequence of n numbers ä Output: A permutation (reordering) of the input sequence such that:
Administrivia- Introduction CSE 373 Data Structures.
Basic Definitions Data Structures: Data Structures: A data structure is a systematic way of organizing and accessing data. Or, It’s the logical relationship.
1 A Introduction to Data Structures and Algorithm Analysis Data Structures Asst. Professor Kiran Soni.
Data Structures and Programming.  John Edgar2.
Data Structures Lecture-1:Introduction
Algorithm analysis and design Introduction to Algorithms week1
Algorithms Describing what you know. Contents What are they and were do we find them? Why show the algorithm? What formalisms are used for presenting.
CSC 201 Analysis and Design of Algorithms Lecture 03: Introduction to a CSC 201 Analysis and Design of Algorithms Lecture 03: Introduction to a lgorithms.
Unit III : Introduction To Data Structures and Analysis Of Algorithm 10/8/ Objective : 1.To understand primitive storage structures and types 2.To.
Prepared By Ms.R.K.Dharme Head Computer Department.
Major objective of this course is: Design and analysis of modern algorithms Different variants Accuracy Efficiency Comparing efficiencies Motivation thinking.
C++ Programming Language Lecture 2 Problem Analysis and Solution Representation By Ghada Al-Mashaqbeh The Hashemite University Computer Engineering Department.
Data Structures and Algorithms Lecture 3 Instructor: Quratulain Date: 8 th September, 2009.
Algorithm Analysis CS 400/600 – Data Structures. Algorithm Analysis2 Abstract Data Types Abstract Data Type (ADT): a definition for a data type solely.
Data Structures and Algorithms Dr. Tehseen Zia Assistant Professor Dept. Computer Science and IT University of Sargodha Lecture 1.
1 Data Structures CSCI 132, Spring 2014 Lecture 1 Big Ideas in Data Structures Course website:
The Hashemite University Computer Engineering Department
Data Structures and Algorithms in Java AlaaEddin 2012.
BITS Pilani Pilani Campus Data Structure and Algorithms Design Dr. Maheswari Karthikeyan Lecture1.
Data Structures Dr. Abd El-Aziz Ahmed Assistant Professor Institute of Statistical Studies and Research, Cairo University Springer 2015 DS.
CS 315 Data Structures Spring 14 Instructors (lecture) Bala Ravikumar Office: 116 I Darwin Hall Phone: piazza, (Lab.
Application architectures. Objectives l To explain the organisation of two fundamental models of business systems - batch processing and transaction processing.
Advanced Data Structures Lecture 1
Introduction toData structures and Algorithms
© 2017 Pearson Education, Hoboken, NJ. All rights reserved
Algorithm Efficiency and Sorting
Advanced Algorithms Analysis and Design
Introduction to Analysis of Algorithms
GC 211:Data Structures Week 2: Algorithm Analysis Tools
Introduction to Analysis of Algorithms
Introduction to Analysis of Algorithms
Lecture – 2 on Data structures
Unit 1. Sorting and Divide and Conquer
Lecture 3 of Computer Science II
Course Description Algorithms are: Recipes for solving problems.
Computer Science 102 Data Structures CSCI-UA
Algorithms Furqan Majeed.
week 1 - Introduction Goals
Chapter 15 QUERY EXECUTION.
Data Structures (CS212D) Overview & Review.
IPC144 Introduction to Programming Using C Week 2 – Lesson 1
structures and their relationships." - Linus Torvalds
Motivation EECS 20 Lecture 1 (January 17, 2001) Tom Henzinger.
Objective of This Course
Asymptotes: Why? How to describe an algorithm’s running time?
Lesson 4 Synchronous Design Architectures: Data Path and High-level Synthesis (part two) Sept EE37E Adv. Digital Electronics.
Introduction CSE 373 Data Structures.
Algorithm Efficiency Chapter 10.
Searching and BST Exercises
COSC 320 Advanced Data Structures and Algorithm Analysis
Design and Analysis of Algorithms (DAA) (6 cp)
Data Structures (CS212D) Overview & Review.
Part 2: Parallel Models (I)
Asst. Dr.Surasak Mungsing
ITEC 2620M Introduction to Data Structures
Introduction to Data Structures
Administrivia- Introduction
Abstract Data Types, Elementary Data Structures and Arrays
Administrivia- Introduction
COP3530- Data Structures Introduction
(1 - 2) Introduction to C Data Structures & Abstract Data Types
Course Description Algorithms are: Recipes for solving problems.
Design and Analysis of Algorithms
CMPT 225 Lecture 16 – Heap Sort.
Presentation transcript:

CSCI 311 – Algorithms and Data Structures http://www.eg.bucknell.edu/~csci311 Steve Guattery Dana 335a (department office) x7-3828 guattery@bucknell.edu http://www.eg.bucknell.edu/~guattery Ben Razet Dana 318 x7-3397 benoit.razet@bucknell.edu http://www.eg.bucknell.edu/~bhcr001

This course does not have a lab, but it does have a recitation that meets Thursday afternoons. We will meet tomorrow. Assignment: Read Appendix A and Section 3.2 in the text.

What is a data structure? “A data structure consists of a base storage method (e.g., an array) and one or more algorithms used to access or modify that data.” “A data structure is how information is stored in the computer; a data type is a data structure plus its operations.” Key point: Data structures determine how data is stored on a computer. They are part of an implementation.

What is an algorithm? “A sequence of computational steps that transform the input to the output.” “A problem-solving method suitable for implementation as a computer program.” Key points: Algorithms are not (necessarily) implementations. They are often described in terms of mathematical objects (e.g., ordered array, tree, graph) that may or may not immediately correspond to a data structure.

What is an abstract data type (ADT)? An ADT specifies the data and operations that will be used in a data type, but does not specify the implementation. ADTs serve as a bridge from an algorithmic description to an implementation using data structures.

Process for creating a program: Real-world problem on real-world objects ↓ Mathematical representation of problem and objects + algorithm(s) Computer implementation on data structures

The Big Question for This Course: Resource usage of algorithms and data structures. What resources do they use?

Resources for algorithms and data structures: Time (instructions/machine cycles) Space (memory) We will focus mainly on time.

We want algorithmic comparisons to be: independent of processor (abstract step) independent of implementation (ignore start-up overhead and constants) related to how the resource depends on problem size (asymptotic analysis)