第12讲:数据结构之线性结构数据结构之:线性结构由n个数据元素组成的有限序列除头元素外,每个元素都有一个前趋除尾元素外,每个元素都有一个后继例如:26个英文字母表(a,b,……,Z)是一个线性表线性结构:线性表、栈、队列操作方法和要求的不同划分线性表的两种存储方式顺序存储结构:数组连续存储易于定位,不易于插入和删除链式存储结构:链表非连续存储易于插入和删除,不易于定位一、线性表线性表是最常用且最简单的一种数据结构,它是由n个数据元素组成的有序集合
数组与链表链表数组数组的插入与删除1234567891011126
5数组的插入与删除均需要移动后面的元素插入:6
5删除:4123456789101112123456789101112123456789101112链表的插入与删除无需移动任何元素插入:删除:顺序存储结构的元素访问顺序存储结构是指用一组地址连续的存贮单元依次存储线性表的元素,通常用数组实现
它是按首址(表中第1个元素的地址)十位移来访问每一个元素
loc(a[i])—a表中元素i的内存地址(1≤i≤n);loc(b[i,j])—b表中(i,j)元素的内存地址(1≤i≤n,1≤j≤m);一维数组按照下标递增的顺序访问表中元素a[1]→a[2]→……→a[n]loc(a[i])=loc(a[1])+(i-1)*k//k—每个数据元素的长度(字节或机器字);首址位移二维数组有按照先行后列和先列后行的顺序访问表中元素:b[1
m]先行后列:loc(b[i,j])=loc(b[1,1])+(m*(i-1)+(j-1))*kk—每个数据元素的长度;首址位移先列后行:loc(b[i,j])=loc(b[1,1])+(n*(j-1)+(i-1))*kk—每个数据元素的长度;首址位移①一个向量第一个元素的存储地址是100,每个元素的长度是2,则第5个元