Question: Assume that we have two different data structures (STRUCT 1 and STRUCT. 2) to store three dimensional point data and we access data points in

 Assume that we have two different data structures (STRUCT 1 and

Assume that we have two different data structures (STRUCT 1 and STRUCT. 2) to store three dimensional point data and we access data points in two different ways (ACCESS - 1 and ACCESS - 2). Which data structure provides better spatial locality for the given accesses? Explain your answer by visualizing the data structures in memory and analyzing the reference patterns. STRUCT 1: #define N 1000 2: 3: struct point{ 4: float x[N]; 5: float y[N]: 6: float Z[N]; 7: }: 8: struct point points; 9: float get_point_x(int i) { return points.x[i]; } 10: float get_point_y(int i) { return points.y[i]; } 11: float get_point_z(int i) { return points.z[i]; } STRUCT. 2 1: #define N 1000 2: 3: struct point 4: float x; 5: float y; 6: float z; 7: }; 8: struct point points[N]; 9: float get_point_x(int i) { return points[i].x; } 10: float get_point y(int i) { return points[i].y; } 11: float get_point_z(int i) { return points[i].z; } ACCESS - 1 1: int i, x = 0, y = 0, z = 0; 2: for(i = 0; i

Step by Step Solution

There are 3 Steps involved in it

1 Expert Approved Answer
Step: 1 Unlock blur-text-image
Question Has Been Solved by an Expert!

Get step-by-step solutions from verified subject matter experts

Step: 2 Unlock
Step: 3 Unlock

Students Have Also Explored These Related Databases Questions!