还剩24页未读,继续阅读
本资源只提供10页预览,全部文档请下载后查看!喜欢就下载吧,查找使用更方便
文本内容:
REPORTING2023WORK SUMMARY《数组与广义表》ppt课件•数组的定义与性质•数组的创建与初始化目录•数组的输入与输出•广义表的定义与性质CATALOGUE•广义表的创建与初始化•数组与广义表的应用PART01数组的定义与性质数组的基本概念数组是一种线性表,由有序的元数组可以是一维或多维的,一维数组中的元素可以是任何数据类素组成,每个元素都有一个唯一数组也称为向量,多维数组可以型,如整数、浮点数、字符串等的下标表示为更高维度的几何对象数组的维数一维数组二维数组三维数组n维数组有两个下标,表示一个有三个下标,表示一个有n个下标,表示一个超只有一个下标,表示一平面网格,可以看作是立体网格,可以看作是立方体,可以看作是多个有序的元素序列多个一维数组的组合多个二维数组的组合个n-1维数组的组合数组的运算01020304数组的加法数组的数乘数组的乘法数组的转置两个相同维数的数组对应元素一个数与一个数组中的每个元两个数组相乘,结果是一个新交换一个数组的行和列相加或相减素相乘的数组,其元素是两个输入数组对应元素乘积的和PART02数组的创建与初始化一维数组的创建与初始化一维数组的创建在Python中,可以使用方括号[]来创建一维数组例如,`arr=[1,2,3,4,5]`一维数组的初始化可以通过循环结构来初始化一维数组例如,使用for循环可以依次将元素添加到数组中二维数组的创建与初始化二维数组的创建在Python中,可以使用嵌套的方括号[]来创建二维数组例如,`matrix=[[1,2,3],[4,5,6],[7,8,9]]`二维数组的初始化可以通过嵌套循环结构来初始化二维数组外层循环控制行,内层循环控制列高维数组的创建与初始化高维数组的创建在Python中,可以使用多个嵌套的方括号[]来创建高维数组例如,`hyper_matrix=[[[1,2],[3,4]],[[5,6],[7,8]]]`高维数组的初始化高维数组的初始化比较复杂,需要使用多个嵌套循环结构外层循环控制最高维度的索引,内层循环依次控制较低维度的索引PART03数组的输入与输出一维数组的输入与一维数组的输入通过循环结构,逐个输入数组元素0102例如,使用for循环,从用户处获取一系一维数组的输出0304列数据,存储到一维数组中使用循环结构,逐个输出数组元素例如,使用for循环,遍历一维数组,将0506每个元素打印到屏幕上二维数组的输入与二维数组的输入通过嵌套循环结构,逐行逐列例如,使用双重for循环,从用输入二维数组元素户处获取一个矩阵,存储到二010203维数组中二维数组的输出使用嵌套循环结构,逐行逐列例如,使用双重for循环,遍历输出二维数组元素二维数组,将每个元素打印到040506屏幕上高维数组的输入与高维数组的输入高维数组的输出通过多级循环结构,逐级输入高维数使用多级循环结构,逐级输出高维数组元素组元素例如,使用多重for循环,从用户处获例如,使用多重for循环,遍历高维数取一个高维数据结构,存储到高维数组,将每个元素打印到屏幕上组中PART04广义表的定义与性质广义表的基本概念广义表是由n个元素(n=0)广义表中的元素可以是不同的广义表可以看作是线性表的扩组成的有限序列,其中每个元数据类型,如整数、实数、字展,它不仅包含原子,还包含素可以是单个元素,也可以是符串等子表另一个广义表广义表的长度和深度01广义表的长度是指它包含的元素个数,包括原子和子表02广义表的深度是指嵌套子表的最大层数例如,广义表L=a,b,c的长度为2,深度为2广义表的运算广义表的加法广义表的子表提取两个广义表相加,要求它们的从广义表中提取一部分元素组元素个数和类型都相同,对应成的子表位置的元素相加广义表的乘法广义表的排序一个广义表与一个数相乘,将将广义表中的元素按照一定顺该数乘以表中的每个元素序排列PART05广义表的创建与初始化广义表的创建010203定义创建方法示例广义表是由n个元素通过嵌套的方式,将元素GL=a,GL1,b,GL2,c其中a1,a2,…,an组成的有限序或子表按照顺序组合起来,GL1=d,e,GL2=f,g列,其中每个元素ai可以形成一个完整的广义表是单个元素,也可以是广义表广义表的初始化定义将广义表中的元素按照一定顺序存储在计算机中,以便后续操作初始化方法可以采用顺序存储或链式存储的方式顺序存储是将广义表中的元素按照顺序存储在一块连续的内存空间中,而链式存储则是通过指针来链接各个元素示例对于广义表GL=a,GL1,b,GL2,c,可以采用链式存储结构,其中GL1和GL2分别指向其内部元素d、e、f、g广义表的输入与输入示例对于广义表GL=a,GL1,b,GL2,c,可通过标准输入设备(如键盘)输入广以通过输入设备输入a、b、c以及子义表中的元素和子表表GL1=d,e、GL2=f,g,然后通过输出设备输出整个广义表输出将广义表中的元素和子表按照一定格式输出到标准输出设备(如显示器)上PART06数组与广义表的应用数组在数据结构中的应用排序算法数组可以作为排序算法(如冒泡排存储结构序、插入排序等)的基础数据结构数组是线性数据结构的一种实现方式,可以高效地实现数据的存储和访问动态规划在动态规划问题中,数组常被用来存储子问题的解,以便于计算最优解广义表在数据结构中的应用层次结构表示法逻辑运算广义表用于表示具有层次广义表可以作为其他数据广义表可以用于实现逻辑结构的数据,如树和图结构的表示法,如二叉树、运算,如与、或、非等图的邻接表等数组与广义表在实际问题中的应用数学计算数据库索引机器学习在科学计算和工程领域,数组常在数据库中,数组和广义表可以在机器学习中,数组和广义表用被用于存储和计算大量数据用于实现高效的数据检索于存储和操作特征向量和模型参数。