Arrays. 1D Array Representation In C 1-dimensional array x = [a, b, c, d] map into contiguous memory locations Memory abcd start location(x[i]) = start.

Slides:



Advertisements
Similar presentations
Linear Transformations and Matrices Jim Van Verth Lars M. Bishop
Advertisements

Arrays and Matrices CSE, POSTECH. 2 2 Introduction Data is often available in tabular form Tabular data is often represented in arrays Matrix is an example.
Gauss – Jordan Elimination Method: Example 2 Solve the following system of linear equations using the Gauss - Jordan elimination method Slide 1.
Matrices CSE, POSTECH.
Arrays.
1.5 Elementary Matrices and a Method for Finding
1.7 Diagonal, Triangular, and Symmetric Matrices.
Arrays. Memory organization Table at right shows 16 bytes, each consisting of 8 bits Each byte has an address, shown in the column to the left
Stanford University CS243 Winter 2006 Wei Li 1 Loop Transformations and Locality.
Introduction of Arrays. Arrays Array form an important part of almost all programming language. It provides a powerful feature and can be used as such.
Matrix table of values
© The McGraw-Hill Companies, 2006 Chapter 16 Two-dimensional arrays.
Chapter 11 Section 11.0 Review of Matrices. Matrices A matrix (despite the glamour of the movie) is a collection of numbers arranged in a rectangle or.
Chapter 1: Matrices Definition 1: A matrix is a rectangular array of numbers arranged in horizontal rows and vertical columns. EXAMPLE:
1.7 Diagonal, Triangular, and Symmetric Matrices 1.
Table of Contents Solving Systems of Linear Equations - Gaussian Elimination The method of solving a linear system of equations by Gaussian Elimination.
Determinants. Determinant - a square array of numbers or variables enclosed between parallel vertical bars. **To find a determinant you must have a SQUARE.
One Dimensional Arrays. Declaring references to array objects How would you declare a variable somearray that is an array of ints? int[] somearray;
Notes 7.3 – Multivariate Linear Systems and Row Operations.
 Row and Reduced Row Echelon  Elementary Matrices.
Solving Systems of Equations by matrices
Arrays and Matrices 황승원 Fall 2010 CSE, POSTECH. 2 2 Any real-life matrix you know?
Lesson 13-1: Matrices & Systems Objective: Students will: State the dimensions of a matrix Solve systems using matrices.
SNU IDB Lab. Ch8. Arrays and Matrices © copyright 2006 SNU IDB Lab.
COSC 1P03 Introduction to Data Structures 1.1 COSC 1P03  Audience  planning to major in COSC (prereq. 1P02 60%)  Lectures (AS202, AS217), labs (J301),
Two dimensional arrays in Java Computer Science 3 Gerb Objective: Use matrices in Java.
Array Cs212: DataStructures Lab 2. Array Group of contiguous memory locations Each memory location has same name Each memory location has same type a.
CHAPTER: 12. Array is a collection of variables of the same data type that are referenced by a common name. An Array of 10 Elements of type double.
1 Data Structures CSCI 132, Spring 2014 Lecture 32 Tables I.
Data Structure Sang Yong Han Chung-Ang University Spring
Addressing Modes Chapter 6 S. Dandamudi To be used with S. Dandamudi, “Introduction to Assembly Language Programming,” Second Edition, Springer,
Section 7-3 Solving 3 x 3 systems of equations. Solving 3 x 3 Systems  substitution (triangular form)  Gaussian elimination  using an augmented matrix.
Equivalence Relations
Data Structures - Part I CS 215 Lecture 7. Motivation  Real programs use abstractions like lists, trees, stacks, and queues.  The data associated with.
Assembly - Arrays תרגול 7 מערכים.
UNIT-4 1. Arrays: Definition and declaration, Initialization, Accessing elements of arrays, Storing values in arrays, Inter-function Communication: Passing.
Sparse Matrices Matrix  table of values. Sparse Matrices Matrix  table of values Row 2 Column 4 4 x 5 matrix.
MATRIX A set of numbers arranged in rows and columns enclosed in round or square brackets is called a matrix. The order of a matrix gives the number of.
1 Arrays of Arrays Quick review … arrays Arrays of arrays ≡ multidimensional array Example: times table Representation in memory Ragged arrays Example:
Chapter 8: Part 3 Collections and Two-dimensional arrays.
1. 2  Introduction  Array Operations  Number of Elements in an array One-dimensional array Two dimensional array Multi-dimensional arrays Representation.
Arrays in java Unit-1 Introduction to Java. Array There are situations where we might wish to store a group of similar type of values in a variable. Array.
Multidimensional Arrays tMyn1 Multidimensional Arrays It is possible to declare arrays that require two or more separate index values to access an element.
C++ Array 1. C++ provides a data structure, the array, which stores a fixed-size sequential collection of elements of the same type. An array is used.
Multi-dimensional Array 1 Multi-dimensional array refers to an array with more than one index. It is a logical representation. On physical storage, the.
Two dimensional arrays A two dimensional m x n array A is a collection of m. n elements such that each element is specified by a pair of integers (such.
MULTI-DIMENSIONAL ARRAYS 1. Multi-dimensional Arrays The types of arrays discussed so far are all linear arrays. That is, they all dealt with a single.
Array contiguous memory locations that have the same name and type. Note: an array may contain primitive data BUT an array is a data structure a collection.
1 ENERGY 211 / CME 211 Lecture 4 September 29, 2008.
Chapter 1 Section 1.6 Algebraic Properties of Matrix Operations.
Introduction Types of Matrices Operations
Arrays. 1D Array Representation In C++ 1-dimensional array x = [a, b, c, d] map into contiguous memory locations Memory abcd start location(x[i]) = start.
C++ Arrays SarMag Trimester 31 C++ Arrays. C++ Arrays SarMag Trimester 32 C++ Arrays An array is a consecutive group of memory locations. Each group is.
Lecture 1 Linear algebra Vectors, matrices. Linear algebra Encyclopedia Britannica:“a branch of mathematics that is concerned with mathematical structures.
1 2-d Arrays. 2 Two Dimensional Arrays We have seen that an array variable can store a list of values Many applications require us to store a table of.
A very brief introduction to Matrix (Section 2.7) Definitions Some properties Basic matrix operations Zero-One (Boolean) matrices.
MATRICES A rectangular arrangement of elements is called matrix. Types of matrices: Null matrix: A matrix whose all elements are zero is called a null.
1.5 Matricies.
Arrays.
L9Matrix and linear equation
Chapter 8: Lesson 8.1 Matrices & Systems of Equations
Reminder: Array Representation In C++
بردارها و ماتريس ها ساختمان داده ها
Reminder: Array Representation In C++
Determinant of a Matrix
Arrays.
Arrays.
Reminder: Array Representation In C++
Arrays and Matrices Prof. Abdul Hameed.
ENERGY 211 / CME 211 Lecture 11 October 15, 2008.
Presentation transcript:

Arrays

1D Array Representation In C 1-dimensional array x = [a, b, c, d] map into contiguous memory locations Memory abcd start location(x[i]) = start + i

Space Overhead space overhead = 4 bytes for start (excludes space needed for the elements of x) Memory abcd start

2D Arrays The elements of a 2-dimensional array a declared as: int [][]a = new int[3][4]; may be shown as a table a[0][0] a[0][1] a[0][2] a[0][3] a[1][0] a[1][1] a[1][2] a[1][3] a[2][0] a[2][1] a[2][2] a[2][3]

Rows Of A 2D Array a[0][0] a[0][1] a[0][2] a[0][3] row 0 a[1][0] a[1][1] a[1][2] a[1][3] row 1 a[2][0] a[2][1] a[2][2] a[2][3] row 2

Columns Of A 2D Array a[0][0] a[0][1] a[0][2] a[0][3] a[1][0] a[1][1] a[1][2] a[1][3] a[2][0] a[2][1] a[2][2] a[2][3] column 0column 1column 2column 3

2D Array Representation In C++ view 2D array as a 1D array of rows x = [row0, row1, row 2] row 0 = [a,b, c, d] row 1 = [e, f, g, h] row 2 = [i, j, k, l] and store as 4 1D arrays 2-dimensional array x a, b, c, d e, f, g, h i, j, k, l

2D Array Representation In C abcd efgh ijkl x[]

Space Overhead space overhead = space required by the array x[] = 3 * 4 bytes = 12 bytes = number of rows x 4 bytes abcd efgh ijkl x[]

Array Representation In C This representation is called the array-of-arrays representation. Requires contiguous memory of size 3, 4, 4, and 4 for the 4 1D arrays. 1 memory block of size number of rows and number of rows blocks of size number of columns abcd efgh ijkl x[]

Row-Major Mapping Example 3 x 4 array: a b c d e f g h i j k l Convert into 1D array y by collecting elements by rows. Within a row elements are collected from left to right. Rows are collected from top to bottom. We get y[] = {a, b, c, d, e, f, g, h, i, j, k, l} row 0 row 1row 2…row i

Locating Element x[i][j] assume x has r rows and c columns each row has c elements i rows to the left of row i so ic elements to the left of x[i][0] so x[i][j] is mapped to position ic + j of the 1D array row 0 row 1row 2…row i 0c2c3cic

Space Overhead 4 bytes for start of 1D array + 4 bytes for c (number of columns) = 8 bytes row 0row 1row 2…row i

Disadvantage Need contiguous memory of size rc.

Column-Major Mapping a b c d e f g h i j k l Convert into 1D array y by collecting elements by columns. Within a column elements are collected from top to bottom. Columns are collected from left to right. We get y = {a, e, i, b, f, j, c, g, k, d, h, l}

Matrix Table of values. Has rows and columns, but numbering begins at 1 rather than 0. a b c d row 1 e f g h row 2 i j k l row 3 Use notation x(i,j) rather than x[i][j]. May use a 2D array to represent a matrix.

Shortcomings Of Using A 2D Array For A Matrix Indexes are off by 1. C arrays do not support matrix operations such as add, transpose, multiply, and so on. –Suppose that x and y are 2D arrays. Can’t do x + y, x –y, x * y, etc. in C.

Diagonal Matrix An n x n matrix in which all nonzero terms are on the diagonal.

Diagonal Matrix x(i,j) is on diagonal iff i = j number of diagonal elements in an n x n matrix is n non diagonal elements are zero store diagonal only vs n 2 whole

Lower Triangular Matrix An n x n matrix in which all nonzero terms are either on or below the diagonal. x(i,j) is part of lower triangle iff i >= j. number of elements in lower triangle is … + n = n(n+1)/2. store only the lower triangle

Array Of Arrays Representation Use an irregular 2-D array … length of rows is not required to be the same x[] 789l0

Creating And Using An Irregular Array /* declare a two-dimensional array variable */ /* and allocate the desired number of rows */ int ** iArray; MALLOC(iArray, numberOfRows*sizeof(*iArray); /* now allocate space for the elements in each row */ for (int i = 0; i < numberOfRows; i++) MALLOC(iArray[i], length[i]*sizeof(int)); /* use the array like any regular array */ iArray[2][3] = 5; iArray[4][6] = iArray[2][3] + 2; iArray[1][1] += 3;

Map Lower Triangular Array Into A 1D Array Use row-major order, but omit terms that are not part of the lower triangle. For the matrix we get 1, 2, 3, 4, 5, 6, 7, 8, 9, 10

Index Of Element [i][j] Order is: row 1, row 2, row 3, … Row i is preceded by rows 1, 2, …, i-1 Size of row i is i. Number of elements that precede row i is … + i-1 = i(i-1)/2 So element (i,j) is at position i(i-1)/2 + j -1 of the 1D array. r 1r2r3 …row i 0136