软件设计师(一)数据结构与算法基础

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/weixin_39104294/article/details/82869840

一、数据结构基础核线性表

概要:在数据结构基础与线性表方面,设计的考点有数组偏移量计算、上三角矩阵、三角矩阵元素储存位置计算(重点)、线性表的存储方式、链表的基本操作、队列的特征应用(重点)栈的特性应用(重点)

1、数组偏移量计算(原文链接 http://blog.csdn.net/wpb92/article/details/48931285

偏移量就是程序的逻辑地址与段首的差值。把储存单元的实际地址与其所在段的段地址之间的距离称为段内偏移,也称为“有效地址或偏移量”。

如何计算数组偏移量

数组分为一维数组、二维和多维,现在就以1-3维数组为例进行介绍(PS:在软考中只涉及到了1-3)

 一维数组:a[n]  对于一维数组,它的偏移量计算特别简单,比如在a[10]中求a[4]的偏移量

          ①  数组a的下标从0开则偏移量为4

          ②  数组a的下标从k开始(k<=4,保证所求元素在数组中)则偏移量d=4-k

       二维数组:a[m][n] 对于二维数组,它的偏移量计算分为以行为主序和以列为主序存储。以标号为a[0..4][1..5]的5行5列a[5,5]二维数组为例,计算a[2,2](a[i,j])的偏移量

         ① 以行为主序:偏移量d=i*n+j(i,j下标从0开始)以上述为例,由题可知,j的下标是以1为起始,则此时的偏移量为:d=2*5+(2-1)=11

         ② 以列为主序:偏移量d=j*n+i(i,j下标从0开始)此时偏移量d=(2-1)*5+2=7

        三维数组:a[m][n][o] 三维数组计算a[i][j][k]的公式为d=i*n*o+j*o+k

        例如:数组a[0..3],[0..2],[1..4],求a[2,2,2]的偏移量,则可求得d=2*3*4+2*4+(2-1)=33

国庆回家发现在学校总结的知识点没有保存,到家重写。头大!为了省点事就找重点总结吧,以后遇到不会的再补。

2、上三角矩阵、三角矩阵元素储存位置计算(重点)

3、队列的特征应用(重点)

猜你喜欢

转载自blog.csdn.net/weixin_39104294/article/details/82869840