CSCI 240 Abstract Data Types

1 / 7
About This Presentation
Title:

CSCI 240 Abstract Data Types

Description:

Department of Computer and Information Science, School of Science, IUPUI CSCI 240 Abstract Data Types Sparse Matrices Dale Roberts, Lecturer IUPUI droberts_at_cs.iupui.edu –

Number of Views:135
Avg rating:3.0/5.0
Slides: 8
Provided by: DaleR161
Category:
Tags: csci | abstract | data | types

less

Transcript and Presenter's Notes

Title: CSCI 240 Abstract Data Types


1
Department of Computer and Information
Science,School of Science, IUPUI
CSCI 240
Abstract Data Types
Sparse Matrices
Dale Roberts, Lecturer IUPUI droberts_at_cs.iupui.edu
2
Sparse Matrices
Sparse matrices have a large number of zero
elements in proportion to the number of nonzero
elements. Storing in n x n array will have a lot
of wasted space. Alternative circular lists
storing only nonzero elements.
3
Sparse Matrix Nodes
of head nodes of rows of columns
head node
entry node
tag
j
i
aij
aij
tag is used to tell entry, head and aij nodes part
4
Linked Representation for Matrix
4
4
0
2
11
1
1
1
0
12
5
1
2
-4
3
3
-15
Circular linked list
5
Sparse Matrix Data Structure
  • define MAX_SIZE 50 / size of largest matrix
    /typedef enum head, entry tagfieldtypedef
    struct matrix_node matrix_pointertypedef
    struct entry_node int row
    int col int value
    typedef struct matrix_node
    matrix_pointer down matrix_pointer
    right tagfield tag
    union matrix_pointer
    next entry_node entry
    u
    matrix_pointer hdnodeMAX_SIZE

6
Try creating your data for this matrix
7
Acknowledgements
  • All of this code is from Horowitz, Sahni, and
    Anderson-Freed, Fundamentals of Data Structures
    in C.
  • Some slides were originally developed by Chen,
    Hsin-His.
Write a Comment
User Comments (0)
About PowerShow.com