收藏 分销(赏)

数据结构teaching-materials5.ppt

上传人:仙人****88 文档编号:14746079 上传时间:2026-11-13 格式:PPT 页数:23 大小:291KB 下载积分:10 金币
下载 相关
数据结构teaching-materials5.ppt_第1页
第1页 / 共23页
数据结构teaching-materials5.ppt_第2页
第2页 / 共23页


点击查看更多>>
资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,数组,(array),的基本概念,Ch 5,数组和广义表,数组,是若干个类型相同的数据元素的有序集合。其中每个数据元素称之为一个数组元素,它通常用下标,(index),标识,下标的个数取决于数组维数,且每个下标都具有固定的下界和上界,每一维的长度为该维的,(,上界,下界,+1),。,数据对象,n,维数组,A,b1b2,bn,中含有,b,i,(b,i,是数组第,i,维的长度,),个数据元素,i=1,n,数据关系,每个数据元素均受,n,个关系的约束,.,如,2,维数组的行、列关系:,、,,,3,维数组中的每个元素考虑其,3,维关系则最多分别有,3,个前驱和,3,个后继,),依次类推,m,维数组中的每个元素则最多分别有,m,个前驱和,m,个后继,.,因此,多维数组,(n,2),是一种复杂的非线性结构,.,n-Array=(D/,数据对象,R/,数据关系,O/,基本操作,),描述:,P90,基本操作,(1),初始化即定义一个数组,(2),存取或修改数组元素的值,但不允许进行,插入,、,删除,运算,(why?),其中每个数组元素记为,a,j1j2,jn,j,i,表示,n,维中的第,i,维,(i=1,2,.,n),且,j,i,=1,2,b,i,(,或记作,1.b,i,),或,j,i,=0,1,b,i,1(,或记作,0.b,i,1),如,:A,6,-,一维,数组,A(,即,n=1),长度为,6(,即,b,1,=6),a,1,a,6,或,a,0,a,5,A,4,5,-,二维数组,A(,即,n=2),长度分别为,4,和,5(,即,b,1,=4,b,2,=5),a,11,a,45,或,a,00,a,34,数组的顺序存储,n=1,时,1,维数组便退化为一个,定长的,线性表,n=2,时,2,维数组可看作一个,扩展,的定长的线性表,:A,m,n,=(,1,2,p,),它的每个数据元素又均是一个定长的线性表,即,i,=(a,i1,a,i2,a,in,),或,i,=(a,1i,a,2i,a,mi,),因此,一个,n,维数组可定义成其数据元素为,n1,维数组类型的一维数组类型,p=m,行优先,p=n,列优先,如何用线性的,(,即一维的,),存储结构来表示非线性的多维数组,?,先按某种,次序,将数组元素排成一个线性序列,然后再将其依次存放至,RAM.,行优先顺序,(Row-Major Ordering),列优先顺序,(Column-Major Ordering),因为数组一旦建立,存储结构中的元素个数和元素之间的关系就不再发生变化,.,因此一般都只采用顺序存储的方法来表示数组,.,注,:C/C+,Delphi,VB,中的数组均是按行优先顺序存储的,.,typedef,ElemType,Amn;,/m,n,的二维数组,或,typedef,ElemType,A1n;,/,含,n,个元素的一维数组,typedef,A1 Am;,/,含,m,个元素的一维数组,/A,中每个元素是,A1,类型,上述的行、列优先顺序可推广到维数更高的数组,:,行优先,规定为先按最右的下标排,从右向左,最后按最左下标排,.,列优先,则先按最左的下标排,从左向右,最后按最右下标排,.,如,:,三维数组,A,m,n,p,按行优先,则,:,a,1,1,1,a,1,1,2,a,1,1,p,a,1,2,1,a,1,2,2,a,1,2,p,a,1,n,1,a,1,n,p,a,2,1,1,a,2,1,p,a,2,2,1,a,2,2,p,a,m,1,p,a,m,n,p,Loc(a,i,j,k,)=Loc(a,1,1,1,)+(i-1),n,p+(j-1),p+k-1,L,数组的顺序存储,一个例子,以二维数组为例,Loc(,a,i,j,)=Loc(a,1,1,)+(i-1),n+(j-1),L,以行为主序存放,a,mn,a,m2,a,m1,a,2n,a,22,a,21,a,1n,a,12,a,11,0,1,n-1,m,n-1,n,(),(),(),(),(),(),(),(),(),以列为主序存放,0,1,m-1,m,n-1,m,a,mn,a,2n,a,1n,a,m2,a,22,a,12,a,m1,a,21,a,11,Loc(a,i,j,)=Loc(a,1,1,)+(j-1),m+(i-1),L,数组的顺序存储,可将,Loc(a,i,j,k,)=Loc(a,1,1,1,)+(i-1),n,p+(j-1),p+k-1,L,推广至一般情况,:,Loc(a,j1,j2,jn,)=Loc(a,1,1,1,)+(j,1,-1),b,2,b,3,b,n,+,(j,2,-1),b,3,b,4,b,n,+,(j,n-1,-1),b,n,+j,n,-1,L,上述的讨论,数组,A,b1b2,bn,中数组元素各维下标均从,1,开始计算,即,j,i,=1,2,b,i,.,若元素各维下标均从,0,开始计算,即,j,i,=0,1,b,i,-1,则上述所有地址公式变为,:,二维,数组,A,m,n,:,Loc(a,i,j,)=Loc(a,0,0,)+(i,n+j),L (,按行优先,),Loc(a,i,j,)=Loc(a,0,0,)+(j,m+i),L (,按列优先,),三维数组,A,m,n,p,:,Loc(a,i,j,k,)=Loc(a,0,0,0,)+(i,n,p+j,p+k),L(,按行优先,),n,维数组,A,b1b2,bn,:,Loc(a,j1,j2,jn,)=Loc(a,0,0,0,)+(j,1,b,2,b,3,b,n,+,j,2,b,3,b,4,b,n,+,j,n-1,b,n,+,j,n,)L,C/C+,允许大于,2,维的数组,维数的限制依赖于具体的编译程序,.,考虑高维数组由于占用内存太多,一般较少使用,.,因此,有关数组的运算只需掌握一维、二维、三维数组运算即可,.P9394,略去,数组的运算,几个例子,1.,设,2,维数组,A,5,6,的每个元素占,4,个字节,已知,Loc(a,0,0,)=1000,A,共占多少字节,?A,的元素,a,45,的起始地址为多少,?,按行和按列优先存储时,a,24,的起始地址分别为多少,?,A,5,6,中共有,5,6=30,个数组元素,共占,30,4,=120,字节,又元素下标地址从,0,开始计算,.,则知,a,45,是,A,中最末一个元素,其,Loc(a,56,)=Loc(a,0,0,)+120 4=1116.,若按行优先,则,:Loc(a,24,)=Loc(a,0,0,)+(i,n+j),L=1000+(2,6+4,),4=1064.,若按列优先,则,:Loc(a,24,)=Loc(a,0,0,)+(j,m+i),L=1000+(4,4+2,),4=1040.,2.(00,考研题,),三维数组,A,4,5,6,按行优先存储在内存中,若每个元素占,2,个字节存储单元,且数组中第一个元素的存储地址为,120,则元素,a,3,4,5,的存储地址为,:,A.356 B.358 C.360 D.362,按题目并不知道数组元素下标是从,0,还是,1,开始计算下标即第一个元素是,a,0,0,0,还是,a,1,1,1,且,a,3,4,5,的,各维下标值无论是从,0,还是,1,开始计算都合法,因此只能分别按下标从,0,和,1,开始来计算,a,3,4,5,的存储地址,然后与答案比较而选择结果,.,否则,自己约定或按考试指定的参考用书中的说明,.,一般地,若有数组,Ar.s,t.u,则表示一个二维数组,a,r,t,为其第一个元素且两维大小分别为,s-r+1,u-t+1.,对,A,b1,b2,b3,Loc(a,i,j,k,)=Loc(a,0,0,0,)+(i,b,2,b,3,+j,b,3,+k),L (,按行优先,),Loc(a,i,j,k,)=Loc(a,1,1,1,)+(i-1),b,2,b,3,+(j-1),b,3,+(k-1),L,对,A,4,5,6,则,:Loc(a,3,4,5,)=120+(3,5,6+4,6+5),2=358,Loc(a,3,4,5,)=120+(,2,5,6+,3,6+,4,),2=284,因此,选择,B.,思考题,:,设有数组,A1.10,-2.4,4.8,按行优先存储在内存中,若每个元素占,3,个字节存储单元,且数组中第一个元素的存储地址为,120,则元素,a,5,0,7,的存储地址是多少,?,3.,按行及按列优先顺序列出,4,维数组,A,2,3,2,3,的所有元素在,RAM,中的存储次序,设第一个数组元素是,a,0000,.,该,4,维数组共有,2,3,2,3=36,个元素,.,按多维数组的行、列优先次序分别得,:,a,0000,a,0001,a,0002,a,0010,a,0011,a,0012,a,0100,a,0101,a,0102,a,0110,a,0111,a,0112,a,0200,a,0201,a,0202,a,0210,a,0211,a,0212,a,1000,a,1001,a,1002,a,1010,a,1011,a,112,a,1100,a,1101,a,1102,a,1110,a,1111,a,1112,a,1200,a,1201,a,1202,a,1210,a,1211,a,1212,a,0000,a,1000,a,0100,a,1100,a,0200,a,1200,a,0010,a,1010,a,0110,a,1110,a,0210,a,1210,a,0001,a,1001,a,0101,a,1101,a,0201,a,1201,a,0011,a,1011,a,0111,a,1111,a,0211,a,1211,a,0002,a,1002,a,0102,a,1102,a,0202,a,1202,a,0012,a,1012,a,0112,a,1112,a,0212,a,1212,列优先次序,行优先次序,特殊矩阵,(,数组,),的存储结构,1.,特殊矩阵的定义,值相同,(0,或非零,),的数据元素在矩阵中分布有规律的矩阵。,1),n,阶,(,M,n,n,),下,(,上,),三角矩阵,(Lower/Upper Triangular Matrix),x,x x,x x x,x x x x,M=,n,0/C,x,x x,x x x,x x x x,M=,n,0/C,对角线以上,(,以下,),的数据元素均为,0,或常数,C.,2)n,阶三对角矩阵,x x,x x x,x x x,M=,n,0/C,x x x,x x,0/C,对角线及其直接上下方元素为非,0.,M=,n,3)n,阶,对称矩阵,a,ij,=,a,ji,i,j,0,n-1,(Tri-diagonal Matrix),(Symmetrical Matrix),2.,特殊矩阵的压缩存储,压缩存储就是只存储矩阵中的所有非,0,元素。,将非零元素分布有规律的这些特殊矩阵,M,压缩到一维数组,A,中,并确定出这两者之间的一一对应关系,即若已知矩阵中的非,0,元素,a,ij,则能,找到它在一维数组中的位置,k;,反之亦然。,约定,:矩阵,M,和,数组,A,的下标均从,0,开始并且按行优先存储,.,2,对,n,阶下,(,上,),三角矩阵,i,(i+1),2,+j,If i,j,(,下三角矩阵,),j,(j+1),+i,If i,j,(,上三角矩阵,),k=,其中:,i,j,0,n-1,k,0,n(n+1)/2-1,对,n,阶三对角矩阵,k=2,i+j,其中:,i,j,0,n-1,k,0,3n-3,(i-1),i,2,+j 1+1,(j-1),j,+i 1+1,k=,2,k=2,(i 1)+(j1)+1,=2,i+j 2,其中:,i,j,1,n,k,1,n(n+1)/2,k,1,3n-2,Loc(a,ij,)=Loc(a,00,)+j,L,i,(i+1),2,Loc(a,ij,)=Loc(a,00,)+2,i+j,对,n,阶对称矩阵,同,n,阶下,(,上三角,),矩阵,三,元组表,稀疏矩阵,(Sparse Matrix),的一种压缩存储方法,1.,三元组,(,表,),的表示,(i,j,a,ij,),其中,a,ij,0,。,若干个这样的三元组构成三元组表。,三元组表中每个元组和稀疏矩阵中每个非,0,元素一一对应。,只有少量非零元素且在其中分布无规律,(,稀疏因子,),typedef,struct,tuple,int,i,j;,/,非,0,元素的行下标、列下标,ElemType,e;Triple;,typedef,struct,smatrix,int,mu,nu,tu,;,/,矩阵的行数、列数、非,0,元素个数,Triple,dataMaxSize,;,SMatrix,;,/P98,?,union,M=,6,6,15,0,0,0,91,0,0,11,0,0,0,0,0,3,0,0,0,28,22,0,6,0,0,0,0,0,0,0,0,0,15,0,0,0,0,0,15,0,0,22,0,15,0,11,3,0,0,0,0,0,0,6,0,0,0,0,0,0,0,0,91,0,0,0,0,0,0,0,28,0,0,0,T=,6,6,1,M.datap.i,M.datap.j,M.datap.e,T.dataq.i,T.dataq.j,T.dataq.e,p,2,3,4,5,6,7,8,1,1,1,2,2,3,5,6,1,4,6,3,4,1,3,15,22,15,11,3,6,91,28,2,1,1,2,3,3,4,4,6,1,5,2,6,1,3,1,15,91,11,3,28,22,6,15,2,2.,通过三元组表对稀疏矩阵进行运算,-,转置,从三元组表到三元组表的运算,方法一,:,对矩阵,M,m,n,的每一列,(,col,=1 to nu),均扫描一趟三元组表,(,共,n,趟,),,每趟均需比较,(M.datap.j,col,)(,共,p=1 to,tu,次,).,O(nu,tu,).,具体算法描述,P98-99/A.5.1.,1,M.datap.i,M.datap.j,M.datap.e,T.dataq.i,T.dataq.j,T.dataq.e,p,2,3,4,5,6,7,8,1,1,1,2,2,3,5,6,1,4,6,3,4,1,3,15,22,15,11,3,6,91,28,2,1,1,1,5,15,91,2,2,11,3,3,6,3,28,2,4,4,1,3,22,6,6,1,15,其中第,5,趟的扫描结果为空,q=1;,/q,为存放转置矩阵,T,的三元组的标识位置,for(,col,=1;,col,=,M.nu,;+,col,),/,趟数控制,for(p=1;p=,M.tu,;+p),/,每趟的扫描,if(M.datap.j=,col,),/,生成新的三元组表,T.dataq.i=M.datap.j;T.dataq.j=M.datap.i;,T.dataq.e=M.datap.e;+q;,for(p=1;p=,M.tu,;+p),col,=M.datap.j;q=,cpotcol,;,T.dataq.j=M.datap.i;T.dataq.j=T.datap.i;,T.dataq.e=M.datap.e;+,cpotcol,;,2.,通过三元组表对稀疏矩阵进行运算,-,转置,从三元组表到三元组表的运算,方法二:,先,计算出,M,m,n,的每一列中非,0,元素的个数,numcol,:,for(,col,=1;col=,M.nu,;+,col,),numcol,=0;,for(t=1;t=,M.tu,;+t)+numM.datat.j;,/,求,M,中每一列非,0,个数,再,求得每一列的第一个非,0,元素在,T.data,中,应有的位置,cpotcol,.,这两者之间的关系如下:,cpot1=1;,cpotcol,=cpotcol-1+numcol-1,其中,:2,col,M.nu,对上例,则有:,col,numcol,cpotcol,1 2 3 4 5 6,2 1 2 2 0 1,1 3 4 6 8 8,最后,,这时只需扫描一趟三元组表,:,根据,M.datap.j,的列值,col,按,cpot,col,的位置值,q,将,M.datap,放在,T.data,q,中即可,.,O(nu,+,tu,).,完整算法,P100/A.5.2.,对,稀疏矩阵当然还有其它的运算,如修改、两个矩阵的相加和相乘等。,M=,6,6,15,0,0,0,91,0,0,11,0,0,0,0,0,3,0,0,0,28,22,0,6,0,0,0,0,0,0,0,0,0,15,0,0,0,0,0,15,0,0,22,0,15,0,11,3,0,0,0,0,0,0,6,0,0,0,0,0,0,0,0,91,0,0,0,0,0,0,0,28,0,0,0,T=,6,6,Transpose,for(,col,=2;colrow=m;p-,col,=n;,/input m&n,SM-,hm,=p;SM-hrc0=p;,for(i=1;i row=0;p-,col,=0;SM-,hrci,=p;,p-right=p;p-down=p;,SM-hrci-1-next=p;,/,初始化行列头结点,SM-,hrcs,-next=SM-,hm,;,scanf(&r,while(r!=rend),p=(,CLNode,*),malloc(sizeof(CLNode,);,p-row=r;p-,col,=c;p-,val,=v;,q=SM-,hrcr,;,/,准备插入到行中,while(q-right!=SM-,hrcr,),&(q-right-,col,right;,p-right=q-right;q-right=p;,q=SM-,hrcc,;,/,准备插入到列中,while(q-down!=SM-,hrcc,),&(q-down-,col,down;,p-down=q-down;q-down=p;,scanf(&r,m,n,hm,0,0,hrc1,hrc0,for(i=1,p=SM-,hm,-next;p!=SM-,hm,;i+),/p,指向第一个行列头结点,/i,控制行值,for(j=1,q=p-right;q!=p;j+),/q,指向第,i,行的第一个非零元素结点,/j,控制列值,if(j=q-,col,),printf,(q-,val,);q=q-right;,/q,指向该行下一个非,0,元素,else,printf,(“t”);,/,格式控制,printf,(“n”);,/,格式控制,p=p-next;,/p,指向下一个行列头结点,4.,稀疏矩阵的十字链表的输出,/,遍历算法,void,OutputSM_CrossLinked,(CrossList,*SM),/traverse by rows,广义表,(Lists),的概念和特征,广义表,(,也称,列表,),是,n(n,0),个数据元素的有限集合,记作,LS=(,1,2,n,),LS,广义表的名称,n,是它的长度,(n=0,时称为,空表,,记作,:LS=(),i,(1in),是广义表中的一个元素,它或是称之为原子,(atom),或是称之为子表,(,sublists,),的广义表,通常原子用小写字母表示,广义表用大写字母表示,当广义表为非空,(n,1,),时,称表中第一个元素,1,为,表头,(head),,称,其余元素组成的,表,(,2,3,n,),为,表尾,(tail),。,因此,,其中,表头元素可能是一个原子或一个广义表,表尾元素则一定是一个广义表,一对确定的表头和表尾可以确定一个唯一的广义表,广义表是一种多层次结构的线性结构,是一个递归的概念,一个广义表可为其它的广义表所共享,特征,例子,A=()B=(e)C=(a,(b,c,d)D=(A,B,C)E=(a,E)F=(),Lists,Len(LS),Head(LS),Tail(LS),0,-,-,1,e,(),2,a,(b,c,d),3,A,(B,D),2,a,(E),1,(),(),注,:其中,GetHead,(LS)/,Head,(LS,),和,GetTail,(LS)/,Tail,(LS,),是广义表的两个基本运算。,例,利用,Head(LS),和,Tail(LS),运算写出从广义表,B=(a,(b,c,d),中分离出原子项,c,的过程,:,Tail(B)=(b,c,d),Head(Tail(B)=(b,c,d),Tail(Head(Tail(B)=(c,d),Head(Tail(Head(Tail(B)=c,广义表的存储结构,链式结构,(P109),任何广义表存储结构均由一个,表头指针,指向:除空表的,表头指针,为空外,对任何非空广义表,其,表头指针,均指向一个,表结点,,且,该表结点,中的,hp,指针指向广义表表头,(,原子结点,/,表结点,),,,tp,指针指向广义表表尾,(,若表尾为空表,则,tp,为空,否则,tp,必指向一个表结点,),。,tag=0,atom,tag=1,hp,tp,原子结点,表结点,其中:指针,hp,指向,该,广义表的表头,指针,tp,指向,该,广义表的表尾,typedef,enum,ATOM,LISTS,ElemTag,;,typedef,struct,listsnode,ElemTag,tag;,/common part,union,AtomType,atom;,struct,struct,listsnode,*hp,*,tp,;,ptr,;,/private part,ListsNode,*Lists;,ptr,几个广义表物理存储结构的例子,广义表的存储结构,链式结构,(P109),画出下列广义表的物理存储结构,(,设表头指针用广义表的名称表示,):,A=()B=(e)C=(a,(b,c,d)D=(A,B,C)E=(a,E)F=(),1,1,A Null(,),B,0 e,1,C,0 a,1,1,1,(b,c,d),1,0 b,0 c,0 d,(c,d),(d),(b,c,d),1,D,(B,C),A,1,1,(C),B,C,1,E,0 a,1,(E),F,1,(),广义表的运算,大多通过递归的方法实现,1.,输出广义表,void,OutputLists,(Lists,L,int,ht),/,表头指针,L,指向广义表,Lists,的表结点,/base case:1.,当,L,指向空表时,输出一对括号,/base case:2.,当,L,指向原子结点时,输出该原子,/general case:,当,L,指向广义表时,则先输出其表头,再输出其表尾,/,辅助控制变量,ht,用来标识输出表头,(=0),还是表尾,(=1),if(!L),printf,(“()”);,else if(L-tag=ATOM),printf(L,-atom);,else,if(ht=0),printf,();,OutputLists,(L,-,ptr.hp,0);,if(!L-,ptr.tp,),printf,();,else,printf,(,);,OuputLists,(L,-,ptr.tp,1);,广义表的运算,大多通过递归的方法实现,2.,计算广义表的深度,P113/A.5.5(,要求,会用递归分析法计算广义表深度,),int,DepthLists,(Lists,L),/,广义表的深度可定义为广义表中括号的重数,/,广义表,L,的深度可递归地定义成:,/base case 1.,当,L,指向空表时,Depth(L)=1;2.,当,L,指向原子结点时,Depth(L)=0,/general case:,当,L,指向非空表时,Depth(L)=1+Max Depth(,i,),if(!L)return 1;,if(L-tag=ATOM)return 0;,for(max=0,p=L;p;p=p-,ptr.tp,),depth=,DepthLists,(p,-,ptr.hp,);,if(depth max)max=depth;,return max+1;,3.,复制一个广义表,P114/A.5.6,4.,创建一个广义表,P116117/A.5.7,1in,例:计算广义表,A=(),(a,(b),深度的过程,Depth(A)=1+MaxDepth(,1,),Depth(,2,),Depth(,1,),=Depth(,(),)=1,Depth(,2,),=Depth(,(a,(b),)=1+MaxDepth(,a,),Depth(,(b),),Depth(,a,)=0,Depth(,(b),)=1+MaxDepth(,b,),Depth(,b,)=0,=1,=2,=3,/,该算法描述可靠吗?为什么?应如何修改该算法?,Exercises,1.True or False.,当,n=1,时,,n,维数组就是一个线性表,。,特殊矩阵压缩存储后,必会失去随机存取功能。,稀疏矩阵压缩存储后,必会失去随机存取功能。,任何一个非空广义表其表头可能是原子,也可能是广义表,但其表尾必定为广义表。,若一个广义表的表头为空表,则此广义表亦为空表。,任何一个非空广义表均可分解成表头和表尾,反之,一对确定的表头和表尾可唯一确定一个广义表。,任何一个广义表都有一个表头,该表头或为原子或为广义表。,2.Fill in the blank.,将一个,A1.100,1.100,的三对角矩阵,按行优先压缩存储到一维数组,B1.X,中,则,X,的值,(,即该数组的大小,),为,_,;,A,中元素,A,66,65,在,B,中的位置,K,为,_,。设有一个下三角矩阵,M1.n,1.n,,,与此相对应的压缩存储的数组,A0.x,则,x=_,M,中元素,a,ij,在,A,中的位置值为,_,。广义表,(),的长度为,_,。若广义表,A,满足,GetHead(A,)=,GetTail(A,),则,A,为,_(1.()2.(),()3.()4.(),(),(),。,3.n,维数组的索引函数,(index function),问答,(P92-93),:,(,注,:,index function,gives the sequential location of an array entry.E.g.for 2-dim array with bounds(0.n-1,0.m-1)and row-major ordering:entry(i,j)goes to position m,i+j),What is the index function for a 2-dimensional rectangular array with bounds(0.n-1,0.m-1)under column-major ordering?,Give the index function,with row-major ordering,for a 2-dimensional array with arbitrary bounds(r.s,t.u).,*Find the index function,with the generalization of row-major ordering,for an array with d-dimensions and arbitrary bounds for each dimension.,4.,编写一个在十字链表中查找元素的算法:若已知,i,、,j,查找,a,ij,;,或已知,x,的值,查找它在第几行列。若找不到,则给出相应的提示信息。,*,5.,计算矩阵,C=A,B,其中,A,B,均为十字链表存储方式,要求结果,C,也用十字链表表示。,6.,已知下列广义表,画出其物理存储结构,并计算其长度和深度,表,A,和表,B,的表头和表尾各是什么?同时根据计算广义表深度的递归算法分析表,C,的深度,且给出从表,C,中分离出原子项,a,的运算,(,运算符为,Head,和,Tail),。,A=(a,(b,c,d),e,(f,g),B=(a),C=(y,(z,w),(a,(x,z,w),D=(x,(y),B),D),*7.,写一算法,CompareLists,(Lists,L1,Lists L2),比较两个广义表是否相等。,
展开阅读全文

开通  VIP、SVIP  下载更划算
下载10份以上建议开通 VIP 会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        关注我们

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服