# Data Structure. Lecture 3

Save this PDF as:

Size: px
Start display at page:

## Transcription

1 Data Structure Lecture 3

2 Data Structure Formally define Data structure as: DS describes not only set of objects but the ways they are related, the set of operations which may be applied to the elements of data object. Example: INTEGER data structure consists of set of values operations like +, -, *, div, mod etc.

3 Cont The study of data structure involves Understanding of the structural relationships present within data Technique for representing and manipulating such structures within a computer. Alternatively one can think DS as a combination of abstract (logical) structure and storage structure DS = (Abstract + Storage) structures

4 Cont Abstract Structure: deals with mathematical aspect of data with all possible operations to be applied. Storage Structure:deals with representation of data within computer storage. Example: DS for WHOLE NUMBER (WN) Abstract: WN = {0,1,2, } Operations : test for zero, addition, test for equality, successor Storage for WN in the form of binary digits

5 Cont Data structures and algorithms are central to the development of good quality computer programs. Their role is brought out clearly in the following diagram. Mathematcial Model Abstract Dat Type Data Structures Informal Algorithm Pseudo Language Program Program in C or Java or...

6 Abstract data Type - ADT ADT is a set of elements with a collection of well defined operations. The operations can take as operands not only instances of the ADT but other types of operands or instances of other ADTs. Similarly results need not be instances of the ADT. At least one operand or the result is of the ADT type in question.

7 Cont Data Structures: An implementation of an ADT is: a translation into statements of a programming language, the declarations that define a variable to be of that ADT type and the operations defined on the ADT (using procedures of the programming language) Object-oriented languages such as C++ and Java provide explicit support for expressing ADTs by means of classes. Examples of ADTs include list, stack, queue, set, tree, graph, etc.

8 Data Type Data Type. Data type of a variable is the set of values that the variable may take. Basic data types in C / C++ : int char float double Data object is a term referring to a set of elements such as integer = {.., -2, -1,0,1,2,..}

9 Cont Each programming language has its own basic data types. Data structures are built up from the basic data types of the underlying programming language using the available data structuring facilities, such as arrays, records (structures in C), pointers, files, sets, etc.

10 STACK Example: A ``STACK'' is an ADT which can be defined as: a sequence of elements and operations: null(s), push(s, x), pop(s), top(s) This can be implemented structures such as using data array singly linked list doubly linked list circular array

11 Overall Data Structures Data Structure Primitive Non Primitive Integer Real Linear Non linear Boolean array tree Char list graph String stack sets Pointer queue

12 Primitive data structure Integer, real, char, boolean are data types directly handled by system or operated upon by machine level instructions. These are also called Data Types. String, pointers are data types handled by a programming languages.

13 Non Primitive DS It can be considered to consists of a structured set of primitive DS. Linear DS: It basically satisfies the property of linearity i.e., storage structure is sequential or contiguous. Non linear DS: Does not satisfy the proper of sequentiality. Ex : tree, graphs, sets etc.

14 Arrays It is an ordered set of items with fixed number of elements. In computer programming, an array is also known as a vector (for one-dimensional arrays) or a matrix (for two-dimensional arrays). Arrays elements are usually of the same size and data type. Individual elements are accessed by their position in the array. The position is given by an index, which is also called a subscript.

15 Cont The index usually uses a consecutive range of integers. Most programming languages have arrays as a built-in data type. Any array component can be efficiently accessed (inspected or updated) using its index, in O(1) time. Each array component has a fixed and unique index.

16 Cont The indices range from a lower bound to an upper bound. An array A with lower bound as -5 and upper bound as 10 can be declared as A[-5..10]. (Pascal) In most programming languages, the first array index is fixed as 0 or 1. An array A with n items declared as A[10] is accessed as A(1), A(2),..., A(n) or A(0), A(1),..., A(n-1) depending of start index.

17 Cont Array size can not be Decreased (No addition) Increased (No deletion) Possible operations are Retrieve the value Update the value Mathematically, array is defined as set of pairs <index, value>. For each index, there is a associated value. Array is given a name.

18 Representation of One-dim Array Mapping of one-dimensional array into memory is obvious. Memory is logically viewed as onedimensional array (very large). Address of A(i) = α +(i-1). No control over values stored at (α-1) or (α-n) Memory A(1) A(2) A(n) α α + 1 α + (n-1)

19 Two dimensional Array Two-dimensional array is represented by pair of indices and value <(i,j), value>. A few common representations include: Row-major & Column-major representations

20 Row-major The elements of each row are stored in order. Example: Consider two dimensional array declared as A[3,2] (3 rows and 2 columns) whose start index starts with 1. The elements are referred as A(1,1), A(1,2), A(2,1), A(2,2), A(3,1), A(3,2) Or we can write as A(i, j), i= 1,3; j=1,2 Here i refers to row number and j as column number. Address of A(i, j) = α +(i-1)*u 1 +(j-1). Here α is start address and u 1 dimension. is upper bound of first

21 Column-major The elements of each column are stored in order. Elements of an array A[3,2] are stored as: A(1,1), A(2,1), A(3,1), A(1,2), A(2,2), A(3,2) Or we can write as A(i, j), j= 1,3; i=1,2. Address of A(i, j) = α +(j-1)*u 2 +(i-1). Here u 2 is upper bound of second dimension.

22 Multidimensional Array Multidimensional array is array of arrays. Multi-dimensional arrays are typically represented by one-dimensional arrays of references to other one-dimensional arrays. Array of arrays are also of value in programming languages that only supply one-dimensional arrays as primitives.

23 The subarrays can be either the rows or columns.

24 Address of cell in Multi-dim Array Let n-dim array is declared as A[u 1,u 2,,u n ] Assume α to be start address. Address of A(i 1,i 2, i n ) is: = α + (i j 1) a j, j = 1,.. n, where Π u k, for k = j+1,,n-1 a j = 1, j = n

25 Ordered List It is an ordered set consisting of a variable number of elements. Size of the list can grow or shrink List is either empty or can be written as (a 1,a 2,,a n ), a i S ( some set ) The list is a flexible abstract data type. It is useful when the number of elements are not known before running a program or can change during running. It is well suited to sequential processing. The next element of a list is readily accessible from the current element. It is less suitable for random access to elements.

26 List Operations Possible operations are: (for i = 1,..,n), where, n= size Retrieve i th element, Store a new value at i th position, Shifting of data Insert a new value at ith position size = n+1 Delete element at ith position size = n-1

27 The List Abstract Data Type Type: list L = nil cons e * list L Here L is type of list elements, e is an element to be inserted. Operations: null : list L -> boolean head : list L -> L tail : list L -> list L

28 Application Most common way to implement list is an array, where list element a i is associated with array index i. Example: Representation of polynomial using list. General form of polynomial P(x) of degree n is: P(x) = a n x n +a n-1 x n a 1 x 1 +a 0, where a n 0

29 Cont P(x) can be represented by an ordered list as: P=(n,a n,a n-1,, a 0 ) degree coefficients Coefficients are in decreasing order of exponent. This representation is suitable for non sparse polynomial.

30 Sparse Polynomial Sparse polynomial are those whose most of coefficients are zero. Example: Consider the following polynomial P(x) = 4x x One can represent it as follows: (100, 100, 4, 2, 56, 0,10) Alternatively, store pair of exponent and coefficient for nonzero elements of a polynomial.

31 Cont Example: If P(x) = 4x x P(x) = ((100,4), (2,56), (0,10)) Use array of structure {exp, coef} exp coef

32 Single array for multiple polynomials Since polynomials are of unpredictable sizes, one can use global array for representing number of polynomials. Let P,Q and R are polynomials Multiplication of two polynomials ps pe qs qe rs re free free is an index to location in an array available free for further use. {ps,qs, rs} are start and {pe,qe and re} are end indices of corresponding polynomials.

33 Sparse Matrix Matrix is said to be sparse if number of non zero elements are quite few as compared to total number elements. Example: Let M[1000, 1000] be a matrix with 0.01% elements nonzero i.e., 100 elements are non zero Obviously, 2-dim array representation will be quite inefficient w.r.t. memory requirement. One can use an array of triples (row, col, val).

34 Cont Let M[100,200] with 4 elements to be non zero. M = ((2,14,204), (2,8,56), (5,2,789), (5,9,123)) One can also use 2-dim array A[t+1, t+1], where t = number of non zero elements and val is of integer type. A Row (=n) 100 Col (=m) 200 Val (=t)

35 Algorithm 1 for each row in a matrix A { take row (i, j, v) from A and store as (j, i, v) in B } Here B is transpose matrix of A. The rows in B are not in increasing order of 1 st column So sort it in increasing order on 1 st column. Complexity: O(t log 2 t), where t is number of nonzero elements.

36 Representation of sparse matrix Matrix A Rows Cols Nonzero terms B -Transpose of A Rows Cols Nonzero terms

37 Representation of Transpose matrix Matrix B Rows Cols Nonzero terms B sorted on rows Rows Cols Nonzero terms

38 Algorithm 2 for j = 1 to m (column of A) { take row (i, j, v) from A and store as (j, i, v) in B } Here B is transpose matrix of A. Complexity: O(t * m) In the worst situations, when all elements are nonzero, then complexity is O(m 2 n) as t = n*m. ThisismuchhigherthanO(n*m)incaseifmatrix is stored using ordinary 2-dim representation with n rows & m columns.

39 Representation of transpose using Algorithm 2 Matrix A Rows Cols Nonzero terms Transpose of A as B Rows Cols Nonzero terms

40 Fast Transpose Can we design algorithm for transpose using new representation having worst complexity O(n*m)? Answer is : Yes Computes[j] - Numberofrows j in transpose matrix B of A. Compute start[j] - Start index of j in transpose matrix B start[ j ] = start[ j-1] + s[ j-1] Pick up row from A as (i, j, v) and store it in B as (j, i, v) at start[ j] index

41 Pseudo-Algorithm for fast Transpose n = A[1,1]; m = A[1,2]; t=a[1,3]; B[1,1] = m; B[1,2] = n; B[1,3]=t; for i = 1 to m { s[ j] = 0}; for j = 1 to t { s[a[ j, 2]] = s[a[ j, 2]] + 1}; start[1] = 2; for i = 2 to m { start[i] = start[i-1]+s[i-1] } for i = 2 to t+1 { j = start[a[i,2]] ; B[ j, 1] = A[i, 2]; B[ j, 2] = A[i, 1]; B[ j, 3] = A[i, 3]; start[a[i,2]] = j+1 } Complexity = O(t+m) O(nm), for t= n*m

### DATA STRUCTURES USING C

DATA STRUCTURES USING C QUESTION BANK UNIT I 1. Define data. 2. Define Entity. 3. Define information. 4. Define Array. 5. Define data structure. 6. Give any two applications of data structures. 7. Give

### Abstract Data Type. EECS 281: Data Structures and Algorithms. The Foundation: Data Structures and Abstract Data Types

EECS 281: Data Structures and Algorithms The Foundation: Data Structures and Abstract Data Types Computer science is the science of abstraction. Abstract Data Type Abstraction of a data structure on that

### Analysis of a Search Algorithm

CSE 326 Lecture 4: Lists and Stacks 1. Agfgd 2. Dgsdsfd 3. Hdffdsf 4. Sdfgsfdg 5. Tefsdgass We will review: Analysis: Searching a sorted array (from last time) List ADT: Insert, Delete, Find, First, Kth,

### Algorithms and Data Structures

Algorithms and Data Structures Part 2: Data Structures PD Dr. rer. nat. habil. Ralf-Peter Mundani Computation in Engineering (CiE) Summer Term 2016 Overview general linked lists stacks queues trees 2 2

### Quiz 4 Solutions EECS 211: FUNDAMENTALS OF COMPUTER PROGRAMMING II. 1 Q u i z 4 S o l u t i o n s

Quiz 4 Solutions Q1: What value does function mystery return when called with a value of 4? int mystery ( int number ) { if ( number

### 1) The postfix expression for the infix expression A+B*(C+D)/F+D*E is ABCD+*F/DE*++

Answer the following 1) The postfix expression for the infix expression A+B*(C+D)/F+D*E is ABCD+*F/DE*++ 2) Which data structure is needed to convert infix notations to postfix notations? Stack 3) The

### Data Structure [Question Bank]

Unit I (Analysis of Algorithms) 1. What are algorithms and how they are useful? 2. Describe the factor on best algorithms depends on? 3. Differentiate: Correct & Incorrect Algorithms? 4. Write short note:

### Krishna Institute of Engineering & Technology, Ghaziabad Department of Computer Application MCA-213 : DATA STRUCTURES USING C

Tutorial#1 Q 1:- Explain the terms data, elementary item, entity, primary key, domain, attribute and information? Also give examples in support of your answer? Q 2:- What is a Data Type? Differentiate

### PES Institute of Technology-BSC QUESTION BANK

PES Institute of Technology-BSC Faculty: Mrs. R.Bharathi CS35: Data Structures Using C QUESTION BANK UNIT I -BASIC CONCEPTS 1. What is an ADT? Briefly explain the categories that classify the functions

### 5. A full binary tree with n leaves contains [A] n nodes. [B] log n 2 nodes. [C] 2n 1 nodes. [D] n 2 nodes.

1. The advantage of.. is that they solve the problem if sequential storage representation. But disadvantage in that is they are sequential lists. [A] Lists [B] Linked Lists [A] Trees [A] Queues 2. The

### 10CS35: Data Structures Using C

CS35: Data Structures Using C QUESTION BANK REVIEW OF STRUCTURES AND POINTERS, INTRODUCTION TO SPECIAL FEATURES OF C OBJECTIVE: Learn : Usage of structures, unions - a conventional tool for handling a

### UNIVERSITI MALAYSIA SARAWAK KOTA SAMARAHAN SARAWAK PSD2023 ALGORITHM & DATA STRUCTURE

STUDENT IDENTIFICATION NO UNIVERSITI MALAYSIA SARAWAK 94300 KOTA SAMARAHAN SARAWAK FAKULTI SAINS KOMPUTER & TEKNOLOGI MAKLUMAT (Faculty of Computer Science & Information Technology) Diploma in Multimedia

### Unit 1. 5. Write iterative and recursive C functions to find the greatest common divisor of two integers. [6]

Unit 1 1. Write the following statements in C : [4] Print the address of a float variable P. Declare and initialize an array to four characters a,b,c,d. 2. Declare a pointer to a function f which accepts

### 1. Relational database accesses data in a sequential form. (Figures 7.1, 7.2)

Chapter 7 Data Structures for Computer Graphics (This chapter was written for programmers - option in lecture course) Any computer model of an Object must comprise three different types of entities: 1.

### Matrix Multiplication

Matrix Multiplication CPS343 Parallel and High Performance Computing Spring 2016 CPS343 (Parallel and HPC) Matrix Multiplication Spring 2016 1 / 32 Outline 1 Matrix operations Importance Dense and sparse

### Common Data Structures

Data Structures 1 Common Data Structures Arrays (single and multiple dimensional) Linked Lists Stacks Queues Trees Graphs You should already be familiar with arrays, so they will not be discussed. Trees

### 4. MATRICES Matrices

4. MATRICES 170 4. Matrices 4.1. Definitions. Definition 4.1.1. A matrix is a rectangular array of numbers. A matrix with m rows and n columns is said to have dimension m n and may be represented as follows:

### KITES TECHNOLOGY COURSE MODULE (C, C++, DS)

KITES TECHNOLOGY 360 Degree Solution www.kitestechnology.com/academy.php info@kitestechnology.com technologykites@gmail.com Contact: - 8961334776 9433759247 9830639522.NET JAVA WEB DESIGN PHP SQL, PL/SQL

### 1. The memory address of the first element of an array is called A. floor address B. foundation addressc. first address D.

1. The memory address of the first element of an array is called A. floor address B. foundation addressc. first address D. base address 2. The memory address of fifth element of an array can be calculated

### Sequential Data Structures

Sequential Data Structures In this lecture we introduce the basic data structures for storing sequences of objects. These data structures are based on arrays and linked lists, which you met in first year

### Sample Questions Csci 1112 A. Bellaachia

Sample Questions Csci 1112 A. Bellaachia Important Series : o S( N) 1 2 N N i N(1 N) / 2 i 1 o Sum of squares: N 2 N( N 1)(2N 1) N i for large N i 1 6 o Sum of exponents: N k 1 k N i for large N and k

### Algorithms and Abstract Data Types

Algorithms and Abstract Data Types Informally, algorithm means is a well-defined computational procedure that takes some value, or set of values, as input and produces some other value, or set of values,

### Data Structure and Algorithm I Midterm Examination 120 points Time: 9:10am-12:10pm (180 minutes), Friday, November 12, 2010

Data Structure and Algorithm I Midterm Examination 120 points Time: 9:10am-12:10pm (180 minutes), Friday, November 12, 2010 Problem 1. In each of the following question, please specify if the statement

### 7.1 Our Current Model

Chapter 7 The Stack In this chapter we examine what is arguably the most important abstract data type in computer science, the stack. We will see that the stack ADT and its implementation are very simple.

### Introduction to Data Structures

Introduction to Data Structures Albert Gural October 28, 2011 1 Introduction When trying to convert from an algorithm to the actual code, one important aspect to consider is how to store and manipulate

### BCS2B02: OOP Concepts and Data Structures Using C++

SECOND SEMESTER BCS2B02: OOP Concepts and Data Structures Using C++ Course Number: 10 Contact Hours per Week: 4 (2T + 2P) Number of Credits: 2 Number of Contact Hours: 30 Hrs. Course Evaluation: Internal

### Bhakta Kavi Narsinh Mehta University, Junagadh

Bhakta Kavi Narsinh Mehta University, Junagadh Draft Syllabus for B.Sc. (Computer Science) Bachelor of Science (Computer Science) (Semester - 1) Effective From June - 2016 B.Sc. (C.S.) (Semester - 1) CS-101:

### ALLIED PAPER : DISCRETE MATHEMATICS (for B.Sc. Computer Technology & B.Sc. Multimedia and Web Technology)

ALLIED PAPER : DISCRETE MATHEMATICS (for B.Sc. Computer Technology & B.Sc. Multimedia and Web Technology) Subject Description: This subject deals with discrete structures like set theory, mathematical

### C & Data Structures P. S. Deshpande O. G. Kakde

C & Data Structures P. S. Deshpande O. G. Kakde CHARLES RIVER MEDIA, INC. Hingham, Massachusetts Page 2/174 Table of Contents C & Data Structures CHAPTER 0: INTRODUTION...5 1. What This Book Is About...5

### 12 Abstract Data Types

12 Abstract Data Types 12.1 Source: Foundations of Computer Science Cengage Learning Objectives After studying this chapter, the student should be able to: Define the concept of an abstract data type (ADT).

LINKED DATA STRUCTURES 1 Linked Lists A linked list is a structure in which objects refer to the same kind of object, and where: the objects, called nodes, are linked in a linear sequence. we keep a reference

### Data Structures Using C++ 2E. Chapter 5 Linked Lists

Data Structures Using C++ 2E Chapter 5 Linked Lists Doubly Linked Lists Traversed in either direction Typical operations Initialize the list Destroy the list Determine if list empty Search list for a given

### Class Overview. CSE 326: Data Structures. Goals. Goals. Data Structures. Goals. Introduction

Class Overview CSE 326: Data Structures Introduction Introduction to many of the basic data structures used in computer software Understand the data structures Analyze the algorithms that use them Know

### BM267 - Introduction to Data Structures

BM267 - Introduction to Data Structures 3. Elementary Data Structures Ankara University Computer Engineering Department BLM267 1 Objectives Learn about elementary data structures - Data structures that

### AP Computer Science AB Syllabus 1

AP Computer Science AB Syllabus 1 Course Resources Java Software Solutions for AP Computer Science, J. Lewis, W. Loftus, and C. Cocking, First Edition, 2004, Prentice Hall. Video: Sorting Out Sorting,

1 ADTs,, Arrays, Linked Lists Outline and Required Reading: ADTs ( 2.1.2) Arrays ( 1.5) Linked Lists ( 4.3.1, 4.3.2) COSC 2011, Fall 2003, Section A Instructor: N. Vlajic Abstract Data Type (ADT) 2 abstract

Lecture 11 Doubly Linked Lists & Array of Linked Lists In this lecture Doubly linked lists Array of Linked Lists Creating an Array of Linked Lists Representing a Sparse Matrix Defining a Node for a Sparse

### Linked Lists, Stacks, Queues, Deques. It s time for a chainge!

Linked Lists, Stacks, Queues, Deques It s time for a chainge! Learning Goals After this unit, you should be able to... Differentiate an abstraction from an implementation. Define and give examples of problems

### WESTMORELAND COUNTY PUBLIC SCHOOLS 2011 2012 Integrated Instructional Pacing Guide and Checklist Computer Math

Textbook Correlation WESTMORELAND COUNTY PUBLIC SCHOOLS 2011 2012 Integrated Instructional Pacing Guide and Checklist Computer Math Following Directions Unit FIRST QUARTER AND SECOND QUARTER Logic Unit

### UNIT III: 1. What is an array? How to declare and initialize arrays? Explain with examples

UNIT III: Arrays: Introduction, One-dimensional arrays, Declaring and Initializing arrays, Multidimensional arrays. Strings: Introduction to Strings, String operations with and without using String handling

### AP Computer Science Java Mr. Clausen Program 9A, 9B

AP Computer Science Java Mr. Clausen Program 9A, 9B PROGRAM 9A I m_sort_of_searching (20 points now, 60 points when all parts are finished) The purpose of this project is to set up a program that will

### CompuScholar, Inc. Alignment to Utah's Computer Programming II Standards

CompuScholar, Inc. Alignment to Utah's Computer Programming II Standards Course Title: TeenCoder: Java Programming Course ISBN: 978 0 9887070 2 3 Course Year: 2015 Note: Citation(s) listed may represent

### MLR Institute of Technology

MLR Institute of Technology DUNDIGAL 500 043, HYDERABAD COMPUTER SCIENCE AND ENGINEERING Computer Programming Lab List of Experiments S.No. Program Category List of Programs 1 Operators a) Write a C program

### 1. Define: (a) Variable, (b) Constant, (c) Type, (d) Enumerated Type, (e) Identifier.

Study Group 1 Variables and Types 1. Define: (a) Variable, (b) Constant, (c) Type, (d) Enumerated Type, (e) Identifier. 2. What does the byte 00100110 represent? 3. What is the purpose of the declarations

### Data Structures Using Java

Data Structures Using Java D. S. Malik P. S. Nair THOMSON COURSE TECHNOLOGY Australia Canada Mexico Singapore Spain United Kingdom United States TABLE OF Contents PREFACE XXV 1.Software Engineering Principles

### Data Structure with C

Subject: Data Structure with C Topic : Tree Tree A tree is a set of nodes that either:is empty or has a designated node, called the root, from which hierarchically descend zero or more subtrees, which

### One Dimension Array: Declaring a fixed-array, if array-name is the name of an array

Arrays in Visual Basic 6 An array is a collection of simple variables of the same type to which the computer can efficiently assign a list of values. Array variables have the same kinds of names as simple

### Thomas Jefferson High School for Science and Technology Program of Studies Foundations of Computer Science. Unit of Study / Textbook Correlation

Thomas Jefferson High School for Science and Technology Program of Studies Foundations of Computer Science updated 03/08/2012 Unit 1: JKarel 8 weeks http://www.fcps.edu/is/pos/documents/hs/compsci.htm

### International Journal Of Engineering Research & Management Technology

International Journal Of Engineering Research & Management Technology ISSN: 2348-4039 September- 2014 Volume 1, Issue-5 Dynamic Implementation Using Linked List Karuna Department of Information and Technology

### The Union-Find Problem Kruskal s algorithm for finding an MST presented us with a problem in data-structure design. As we looked at each edge,

The Union-Find Problem Kruskal s algorithm for finding an MST presented us with a problem in data-structure design. As we looked at each edge, cheapest first, we had to determine whether its two endpoints

### Data Structures and Data Manipulation

Data Structures and Data Manipulation What the Specification Says: Explain how static data structures may be used to implement dynamic data structures; Describe algorithms for the insertion, retrieval

### C Primer. Fall Introduction C vs. Java... 1

CS 33 Intro Computer Systems Doeppner C Primer Fall 2016 Contents 1 Introduction 1 1.1 C vs. Java.......................................... 1 2 Functions 1 2.1 The main() Function....................................

### Stacks. Linear data structures

Stacks Linear data structures Collection of components that can be arranged as a straight line Data structure grows or shrinks as we add or remove objects ADTs provide an abstract layer for various operations

### VB.NET Programming Fundamentals

Chapter 3 Objectives Programming Fundamentals In this chapter, you will: Learn about the programming language Write a module definition Use variables and data types Compute with Write decision-making statements

### Binary Heap Algorithms

CS Data Structures and Algorithms Lecture Slides Wednesday, April 5, 2009 Glenn G. Chappell Department of Computer Science University of Alaska Fairbanks CHAPPELLG@member.ams.org 2005 2009 Glenn G. Chappell

### Arrays. Atul Prakash Readings: Chapter 10, Downey Sun s Java tutorial on Arrays: http://java.sun.com/docs/books/tutorial/java/nutsandbolts/arrays.

Arrays Atul Prakash Readings: Chapter 10, Downey Sun s Java tutorial on Arrays: http://java.sun.com/docs/books/tutorial/java/nutsandbolts/arrays.html 1 Grid in Assignment 2 How do you represent the state

### 4.3 Stacks and Queues. Pushdown Stacks. Data Structures and Data Types. Collections

Data Structures and Data Types 4.3 Stacks and Queues Data types Set values. Set operations on those values. Some are built in to Java: int, double, char,... Most are not: Complex, Picture, Charge, Stack,

### Vimal P.Parmar Research Scholar, Department of Computer Science Saurashtra University, Rajkot Gujarat, INDIA

Comparing Linear Search and Binary Search Algorithms to Search an Element from a Linear List Implemented through Static Array, Dynamic Array and Linked List Vimal P.Parmar Research Scholar, Department

### Comp 245 Data Structures. Stacks

Comp 245 Data Structures Stacks What is a Stack? A LIFO (last in, first out) structure Access (storage or retrieval) may only take place at the TOP NO random access to other elements within the stack An

### Classification - Examples -1- 1 r j C max given: n jobs with processing times p 1,..., p n and release dates

Lecture 2 Scheduling 1 Classification - Examples -1-1 r j C max given: n jobs with processing times p 1,..., p n and release dates r 1,..., r n jobs have to be scheduled without preemption on one machine

### Comp Arrays and Pointers. Class Notes. T h e G r o u p o f T h r e e

Comp 2401 Arrays and Pointers Class Notes 2013 T h e G r o u p o f T h r e e Introduction To Arrays: In C programming, one of the frequently problem is to handle similar types of data. For example: if

### CHAPTER 4 ESSENTIAL DATA STRUCTRURES

CHAPTER 4 ESSENTIAL DATA STRUCTURES 72 CHAPTER 4 ESSENTIAL DATA STRUCTRURES In every algorithm, there is a need to store data. Ranging from storing a single value in a single variable, to more complex

### Factoring Algorithms

Institutionen för Informationsteknologi Lunds Tekniska Högskola Department of Information Technology Lund University Cryptology - Project 1 Factoring Algorithms The purpose of this project is to understand

### Algorithms and Data Structures

Algorithm Analysis Page 1 BFH-TI: Softwareschule Schweiz Algorithm Analysis Dr. CAS SD01 Algorithm Analysis Page 2 Outline Course and Textbook Overview Analysis of Algorithm Pseudo-Code and Primitive Operations

### SmartArrays and Java Frequently Asked Questions

SmartArrays and Java Frequently Asked Questions What are SmartArrays? A SmartArray is an intelligent multidimensional array of data. Intelligent means that it has built-in knowledge of how to perform operations

### 6. Standard Algorithms

6. Standard Algorithms The algorithms we will examine perform Searching and Sorting. 6.1 Searching Algorithms Two algorithms will be studied. These are: 6.1.1. inear Search The inear Search The Binary

### 11 Multivariate Polynomials

CS 487: Intro. to Symbolic Computation Winter 2009: M. Giesbrecht Script 11 Page 1 (These lecture notes were prepared and presented by Dan Roche.) 11 Multivariate Polynomials References: MC: Section 16.6

### GUJARAT TECHNOLOGICAL UNIVERSITY, AHMEDABAD, GUJARAT. Course Curriculum. DATA STRUCTURES (Code: 3330704)

GUJARAT TECHNOLOGICAL UNIVERSITY, AHMEDABAD, GUJARAT Course Curriculum DATA STRUCTURES (Code: 3330704) Diploma Programme in which this course is offered Semester in which offered Computer Engineering,

### Glossary of Object Oriented Terms

Appendix E Glossary of Object Oriented Terms abstract class: A class primarily intended to define an instance, but can not be instantiated without additional methods. abstract data type: An abstraction

### IE 680 Special Topics in Production Systems: Networks, Routing and Logistics*

IE 680 Special Topics in Production Systems: Networks, Routing and Logistics* Rakesh Nagi Department of Industrial Engineering University at Buffalo (SUNY) *Lecture notes from Network Flows by Ahuja, Magnanti

### 2) Write in detail the issues in the design of code generator.

COMPUTER SCIENCE AND ENGINEERING VI SEM CSE Principles of Compiler Design Unit-IV Question and answers UNIT IV CODE GENERATION 9 Issues in the design of code generator The target machine Runtime Storage

### Solution of Linear Systems

Chapter 3 Solution of Linear Systems In this chapter we study algorithms for possibly the most commonly occurring problem in scientific computing, the solution of linear systems of equations. We start

### Data Structures. Level 6 C30151. www.fetac.ie. Module Descriptor

The Further Education and Training Awards Council (FETAC) was set up as a statutory body on 11 June 2001 by the Minister for Education and Science. Under the Qualifications (Education & Training) Act,

### INTERNATIONAL JOURNAL OF PURE AND APPLIED RESEARCH IN ENGINEERING AND TECHNOLOGY

INTERNATIONAL JOURNAL OF PURE AND APPLIED RESEARCH IN ENGINEERING AND TECHNOLOGY A PATH FOR HORIZING YOUR INNOVATIVE WORK A REVIEW ON THE USAGE OF OLD AND NEW DATA STRUCTURE ARRAYS, LINKED LIST, STACK,

### Algorithms and Data Structures

Basic Data Structures Page 1 BFH-TI: Softwareschule Schweiz Basic Data Structures Dr. CAS SD01 Basic Data Structures Page 2 Outline Data Structures and Abstract Data Types Linear Data Structures Implementing

### Classification - Examples

Lecture 2 Scheduling 1 Classification - Examples 1 r j C max given: n jobs with processing times p 1,...,p n and release dates r 1,...,r n jobs have to be scheduled without preemption on one machine taking

### MATH 423 Linear Algebra II Lecture 38: Generalized eigenvectors. Jordan canonical form (continued).

MATH 423 Linear Algebra II Lecture 38: Generalized eigenvectors Jordan canonical form (continued) Jordan canonical form A Jordan block is a square matrix of the form λ 1 0 0 0 0 λ 1 0 0 0 0 λ 0 0 J = 0

### QUEUES. Primitive Queue operations. enqueue (q, x): inserts item x at the rear of the queue q

QUEUES A queue is simply a waiting line that grows by adding elements to its end and shrinks by removing elements from the. Compared to stack, it reflects the more commonly used maxim in real-world, namely,

### C programming: exercise sheet L2-STUE (2011-2012)

C programming: exercise sheet L2-STUE (2011-2012) Algorithms and Flowcharts Exercise 1: comparison Write the flowchart and associated algorithm that compare two numbers a and b. Exercise 2: 2 nd order

### Merge Sort. 2004 Goodrich, Tamassia. Merge Sort 1

Merge Sort 7 2 9 4 2 4 7 9 7 2 2 7 9 4 4 9 7 7 2 2 9 9 4 4 Merge Sort 1 Divide-and-Conquer Divide-and conquer is a general algorithm design paradigm: Divide: divide the input data S in two disjoint subsets

### Cours de C++ Utilisations des conteneurs

Cours de C++ Utilisations des conteneurs Cécile Braunstein cecile.braunstein@lip6.fr 1 / 18 Introduction Containers - Why? Help to solve messy problems Provide useful function and data structure Consistency

### PROBLEMS (Cap. 4 - Istruzioni macchina)

98 CHAPTER 2 MACHINE INSTRUCTIONS AND PROGRAMS PROBLEMS (Cap. 4 - Istruzioni macchina) 2.1 Represent the decimal values 5, 2, 14, 10, 26, 19, 51, and 43, as signed, 7-bit numbers in the following binary

### Semantic Analysis: Types and Type Checking

Semantic Analysis Semantic Analysis: Types and Type Checking CS 471 October 10, 2007 Source code Lexical Analysis tokens Syntactic Analysis AST Semantic Analysis AST Intermediate Code Gen lexical errors

### Introduction to Data Structures and Algorithms

Introduction to Data Structures and Algorithms Chapter: Elementary Data Structures(1) Lehrstuhl Informatik 7 (Prof. Dr.-Ing. Reinhard German) Martensstraße 3, 91058 Erlangen Overview on simple data structures

### Lecture 2: Data Structures Steven Skiena. http://www.cs.sunysb.edu/ skiena

Lecture 2: Data Structures Steven Skiena Department of Computer Science State University of New York Stony Brook, NY 11794 4400 http://www.cs.sunysb.edu/ skiena String/Character I/O There are several approaches

### Homework Exam 1, Geometric Algorithms, 2016

Homework Exam 1, Geometric Algorithms, 2016 1. (3 points) Let P be a convex polyhedron in 3-dimensional space. The boundary of P is represented as a DCEL, storing the incidence relationships between the

### MAX = 5 Current = 0 'This will declare an array with 5 elements. Inserting a Value onto the Stack (Push) -----------------------------------------

=============================================================================================================================== DATA STRUCTURE PSEUDO-CODE EXAMPLES (c) Mubashir N. Mir - www.mubashirnabi.com

### Array Abstract Data Type

1 Array Abstract Data Type Table of Contents What this module is about... 1 Introduction... 2 Data type objects... 3 Array elements... 3.1 Sub -arrays... 3.2 Array descriptor... 3.3 Data type operations...

### Answers to Review Questions Chapter 7

Answers to Review Questions Chapter 7 1. The size declarator is used in a definition of an array to indicate the number of elements the array will have. A subscript is used to access a specific element

### Sources: On the Web: Slides will be available on:

C programming Introduction The basics of algorithms Structure of a C code, compilation step Constant, variable type, variable scope Expression and operators: assignment, arithmetic operators, comparison,

### 8 Square matrices continued: Determinants

8 Square matrices continued: Determinants 8. Introduction Determinants give us important information about square matrices, and, as we ll soon see, are essential for the computation of eigenvalues. You

### Chapter Objectives. Chapter 9. Sequential Search. Search Algorithms. Search Algorithms. Binary Search

Chapter Objectives Chapter 9 Search Algorithms Data Structures Using C++ 1 Learn the various search algorithms Explore how to implement the sequential and binary search algorithms Discover how the sequential

### 198:211 Computer Architecture

198:211 Computer Architecture Topics: Lecture 8 (W5) Fall 2012 Data representation 2.1 and 2.2 of the book Floating point 2.4 of the book 1 Computer Architecture What do computers do? Manipulate stored

### LC-3 Data Structures. Textbook chapter 10

LC-3 Data Structures Textbook chapter 10 LC-3 data structures Abstract data structures are Defined by the rules for inserting and extracting data In this section, we will talk about The array The stack

### CS104: Data Structures and Object-Oriented Design (Fall 2013) October 24, 2013: Priority Queues Scribes: CS 104 Teaching Team

CS104: Data Structures and Object-Oriented Design (Fall 2013) October 24, 2013: Priority Queues Scribes: CS 104 Teaching Team Lecture Summary In this lecture, we learned about the ADT Priority Queue. A

### Lecture 11 Array of Linked Lists

Lecture 11 Array of Linked Lists In this lecture Array of Linked Lists Creating an Array of Linked Lists Representing a Sparse Matrix Defining a Node for Sparse Matrix Exercises Solutions An Array of Linked

### CUDAMat: a CUDA-based matrix class for Python

Department of Computer Science 6 King s College Rd, Toronto University of Toronto M5S 3G4, Canada http://learning.cs.toronto.edu fax: +1 416 978 1455 November 25, 2009 UTML TR 2009 004 CUDAMat: a CUDA-based