




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、数据结构玉环电大计算机教研室2002年第4章树 学习重点了解二叉树的结构特性线熟悉二叉树的各种存储结构的特点熟练掌握二叉树的三种遍历算法线索二叉树了解最优树的特性,掌握建立最优树及哈夫曼编码的方法 树的定义和根本术语一、什么是树?树(Tree)是n(n0)个结点的有限集T,且满足以下条件:(1) 有且仅有一个特定的称为根(Root)的结点;(2) 除根结点外的其余结点可分为m(m0)个互不相交的有限集T1,T2.Tm,其中,每一个集合本身 又是一棵树, 并且称为根的子树(subtree例如,在图中,(a)是只有一个根 结点的树;(b)是有 13个结点的树,其中A是根,其余结点分成三个互不相交的
2、子树: 树的定义和根本术语二、树的根本术语树的结点:包含一个数据元素及假设干个指向其子树的分支结点的度:结点拥有的子树数树的度:树内各结点的度的最大值 叶子终端结点:度为零的结点非终端结点分支结点:度不为零的结点孩子、双亲及兄弟结点:结点的层次和树的深度: 二叉树一、什么是二叉树?二叉树(binary tree)是另一种树型结构,它的特点是每个结点至多只有二棵子树(即二叉树中不存在度大于2的结点),并且,二叉树的子树有左右之分,其次序不能任意颠倒. 二叉树的五种根本形态见P50图421二、二叉树的重要性质二叉树性质1:二叉树第i(i1)层上至多有2i-1个结点性质2:深度为K(K1)的二叉树至
3、多有2k-1个结点性质3:在任意二叉树中,假设叶子结点即度为0个数为N0,度为1的结点数为N1 ,度为2的结点个数为N2 ,那么: N0 N2 1性质4:具有n个结点的完全二叉树,其深度为log2n+1二叉树性质5:假设对n个结点的完全二叉树进行顺序编号(1In),那么,对于编号为i(i 1)的结点,有:(1)当i=1时,该结点为根,它无双亲结点;(2)当i1时,该结点的双亲结点编号为i/2;(3)当2in,那么有编号为2i 的左孩子,否那么没有左孩子;(4)假设2i+1n,那么有编号为2i+1的右孩子,否那么没有右孩子。二、二叉树的重要性质二叉树三、二叉树的存储结构1、顺序存储结构 连续的存
4、储单元存储二叉树的数据元素。例如图6.4(b)的完全二叉树, 可以向量(一维数组 ) bt(1:6)作它的存储结构,将二叉树中编号为i的结点的数据元素存放在分量bti中,如图6.6(a) 所示。但这种顺序存储结构仅适合于完全二叉树,而一般二叉树也按这种形式来存储,这将造成存 贮浪费。如和图6.4(c)的二叉树相应的存储结构图6.6(b)所示,图中以“0”表示不存在此结点. 二叉树三、二叉树的存储结构2、 链式存储结构 由二叉树的定义得知二叉树的结点由一个数据元素和分别指向左右子树的两个分支构成,那么表 示二叉树的链表中的结点至少包含三个域:数据域和左右指针域,如图(b)所示。有时,为了便于找
5、到结点的双亲,那么还可在结点结构中增加一个指向其双亲受的指针域,如图6.7(c)所示。 二叉树四、遍历二叉树遍历二叉树(traversing binary tree)的问题, 即如何按某条搜索路径巡访树中每个结点,使得每个结点均被访问一次,而且仅被访问一次。 其中常见的有三种情况:分别称之为先(根)序遍历,中(根)序遍历和后(根)序遍历。 1、先根(前序)遍历访问根节点前序遍历左子树前序遍历右子树2、中根(中序)遍历中序遍历左子树访问根节点中序遍历右子树二叉树四、遍历二叉树2、后根(后序)遍历后序遍历左子树后序遍历右子树访问根节点二叉树四、遍历二叉树二叉树五、线索二叉树简介p58)六、二叉树、
6、树和森林1、树的存储结构双亲数组、结点定长、孩子兄弟二叉链表p61)2、树与二叉树之间的转换一般树转化为二叉树将一般树转化为二叉树的思路,主要根据树的孩子一兄弟存储方式而来,具体步骤为:(1)加线:在各兄弟结点之间用虚线相连。可理解为每个结点的兄弟指针指向它的一个兄弟。(2)抹线:对每个结点仅保存它与其最左一个孩子的连线,抹去该结点与其它孩子之间的连线。可理解为每个结点仅有一个孩子指针,让它指向自己的第一个孩子。(3)旋转:把虚线改为实线从水平方向向下旋转45,成右斜下方向。原树中实线成左斜下方向。这样就形成一棵二叉树。(1)加线:(2)抹线: (3)旋转:一般树转化为二叉树七、哈夫曼树及其应
7、用哈夫曼树,又称最优二叉树,是一类带权路径最短的树,有着广泛的应用。一、根本概念:1、路径长度:从树中一个节点到另一个节点之间的分支构成这两个节点的路径,路径上的分支数目称为路径长度。2、树的路径长度:是从树根到每一节点的路径之和. 这种路径长度最短的二叉树是本节中定义的完全二叉树. 3、节点的带权路径长度:从树根到该结点之间的路径长度与结点上权的乘积。4、树的带权路径长度:树中所有叶子结点的带权路径长度之和,通常记作 WPL=WkLk(k=1.n). 5、最优二叉树或哈夫曼树: 假设有n个权值w1,w1,.,wn,试构造一棵有n个叶子结点的二叉树,每个叶子结点带权为W1, 那么其中带权路径长
8、度WPL最少的二叉树称作最优二叉树或哈夫曼树. 例如,图例6.24中的三棵二叉树,都有备无4个叶子结点a、b、c、d,分别带权力下放7、5、2、4,它们的带权路径长度分别为:(a)WPL=72+52+24+42=36 (b)WPL=73+53+21+42=46 (c)WPL=71+52+23+43=35 其中以(c)树的为最少.可以验证,它恰为哈夫曼树,既取带权路径在所有带权为7、5、2、4,的四个叶子结点二叉树居最少七、哈夫曼树及其应用1构造哈夫曼树的方法(1)根据给定的n个权值 W1,W2,W n构成n棵二叉树的集合F=T1,T2,T n ,其中每一棵二叉树T i中只有一个带权为Wi的根结
9、点,其左右子树均空;(2)在F中选出两棵根结点权值最小的树作为一棵新的二叉树的左右子树,且置新二叉树根结点的权值为两棵子树根结点的权值之和;(3)从F中删去这两棵树,同时把新二叉树参加F中;(4)重复(2)和3,直到F中只有一棵树为止,此树便是哈夫曼树。现根据上述的方法,对于一组具体的权值2,4,5,8构造哈夫曼树。图4-6-2为具体构造过程二、构造哈夫曼树数据结构玉环电大计算机教研室2002年第5章图 学习重点熟悉图的各种存储结构熟练掌握遍历图的递归算法和非递归算法应用图的遍历算法求解各种简单路径问题一、图的定义和术语 图GGraph是一种数据结构,它的形式化定义为 Graph=V,E 其中
10、:V是顶点vertex的非空有穷集合E是用顶点对表示的边Edge的有穷集合一图的定义1、无向图:假设图G中表示边的顶点是无序的,那么称G为无向图,通常用(Vi,Vj)表示顶点Vi和Vj间相连的边。在无向图中, (Vi,Vj)和(Vj,Vi)表示同一条边。G2为无向图。G2=(V,E)其中V=V1,V2,V3,V4,V5 E=(V1,V2),(V1,V4)(V2,V3),(V2,V5)(V3,V4),(V3,V5)2、有向图:假设图G中表示边的顶点对是有序的,那么称G为有向图。 有向边通常称为弧(arc),用表示从顶点Vi到Vj的一条弧,称Vi为弧尾(tail)或初始点,称Vj为弧头head或终
11、端点。在有向图中, 和表示两条不同弧。G1=(V,E)其中: V=V1,V2,V3,V4E=(,)二图的根本术语1、邻接点、相关边p73)2、完全图图示:p73有n(n-1) /2条边的无向图称为无向完全图;有n(n-1)条边的有向图称为有向完全图;用n 表示图中顶点数目,用e表示边或弧的数目.在下面的讨论中我们不考虑顶点到其自身的弧或边4、顶点的度顶点的度TD入度ID出度OD3、子图对于图GV,E, GV,E假设有V V ,EE那么G为G的子图二图的根本术语5、路径、回路路径顶点序列,在有向图中,路径也是有向的。路径长度路径上边或弧的数目回路或环路径的起终点相同简单路径顶点不重复出现的路径6
12、、连通、强连通连通假设从顶点Vi到Vjij)有路径,那么称Vi和Vj是连通的连通图在无向图中任意两顶点Vi和Vjij)都是连通的,那么称此无向图为连通图连通分量无向图中极大连通子图称为连通分量强连通图在有向图中任意两顶点Vi和Vj都是连通的,那么称此有向图为强连通图强连通分量有向图中极大强连通子图称为强连通分量7、权、网二、图的存储结构(一)邻接矩阵表示法用两个数组分别存储数据元素(顶点)的信息和数据元素之间的关系(边或弧)的信息0 1 0 1 0 00 0 1 0 0 01 0 0 0 0 10 0 1 0 0 10 0 0 1 0 01 0 0 0 1 0特点:1、无向图的邻接表一定对称;
13、2、无向图的邻接表的第i行(列)非零元素的个数正好是第i个顶点的度 有向图的邻接表的第i行非零元素的个数正好是第i个顶点的出度 有向图的邻接表的第I列非零元素的个数正好是第i个顶点的入度3、从邻接矩阵很容易确定图中任意两顶点是否有边或弧相连邻接矩阵表示的存储形式:# define VEX_NUM 10 /* 图的顶点数 */Typedef char vextype ; /* 顶点类型 */Typedef struct vextype vexsVEX_NUM; /* 顶点向量 */ int arcsVEX_NUMVEX_NUM;/* 邻接矩阵 */Mgraph;创立邻接矩阵的算法参见P75)邻接
14、矩阵表示法二、图的存储结构(二)邻接表adjacecy List图的邻接表是一种顺序分配和链式分配相结合的一种存储结构。在邻接表中,对图中每个顶点建立一个单链表,第i个单链表中的结点表示依附于顶点vi的边对有向图是以顶点vi为尾的弧。 特点:1、假设无向图中有n个顶点,e条边,那么它的邻接表需n个头结点和2e个表结点。2、在无向图的邻接表中,顶点vi的度恰为第i个链表中的结点数;而在有向图中,第i个链表中的结点个数只是顶点vi的出度。比较邻接矩阵与邻接表(P76)创立邻接表算法(P77)三、图的遍历从图中某一顶点出发访遍图中其余顶点,且使每一顶点仅被访问一次1、深度优先搜索遍历连通图深度优先遍
15、历类似于树的先序遍历,其根本思想如下:假定以图中某个顶点vi为出发点,首先访问出发点,然后选择一个vi的未访问过的邻接点vj,以vj为新的出发点继续进行深度优先搜索,直至图中所有顶点都被访问过。显然,这是一个递归的搜索过程。现以图5-3-1中G为例说明深度优先搜索过程。假定v0是出发点,首先访问v0。因v0有两个邻接点v1、v2均末被访问过,可以选择v1作为新的出发点,访问v1之后,再找v1的末访问过的邻接点。同v1邻接的有v0、v3和v4,其中v0已被访问过,而v3、v4尚未被访问过,可以选择v3作为新的出发点。重复上述搜索过程,继续依次访问v7、v4 。访问v4之后,由于与v4相邻的顶点均
16、已被访问过,搜索退回到v7。由于v7、v3和v1都是没有末被访问的邻接点,所以搜索过程连续地从v7退回到v3,再退回v1,最后退回到v0。这时再选择v0的末被访问过的邻接点v2,继续往下搜索,依次访问v2、v5和v6,止此图中全部顶点均被访问过。遍历过程见图5-3-1b,得到的顶点的访问序列为:v0 v1 v3 v7 v4 v2 v5 v6。因为深度优先搜索遍历是递归定义的,故容易写出其递归算法。下面的算法5.3是以邻接矩阵作为图的存储结构下的深度优先搜索遍历算法;算法5.4是以邻接表作为图的存储结构下的深度优先搜索遍历算法。算法5.3int visitedVAX_VEX=0;void Dfs
17、_m( Mgraph *G,int i)/* 从第i个顶点出发深度优先遍历图G,G以邻接矩阵表示*/printf(%3c,G-vexsi);visitedi=1;for (j=0;jarcsij=1)& (!visitedj)Dfs_m(G,j); /*Dfs_m */ 算法5.4int visitedVEX_NUM=0;void Dfs_L(ALgraph G,int i)/* 从第i个顶点出发深度优先遍历图G,G以邻接表表示 */printf(%3c,Gi.data);visitedi=1;p=Gi.firstarc;while (p!=NULL) if(visitedp-adjvex=0
18、)Dfs_L(G,p-adjvex);p=p-nextarc; /*dfs_L*/2、广度优先搜索遍历连通图广度优先遍历类似于树的按层次遍历,其根本思想如下:从图中某个顶点vi为出发点,在访问了vi 之后,依次访问vi的各个未曾访问过的邻接点;然后分别从这些邻接点出发,依次访问它们未曾访问过的邻接点,直至图中所有顶点都被访问过。得到的顶点的访问序列为:v0 v1 v2 v3 v4 v5 v6 v7 。int visitedVAX_VEX=0;void Bfs_m( Mgraph *G,int k)/* 从第k个顶点出发广度优先遍历图G,G以邻接矩阵表示*/Int qu20,f=0,r=0;pr
19、intf(%3c,G-vexsk);visitedk=1;While (r!f) f+ ;I=quf;for (j=0;jarcsij=1)& (!visitedj)printf(%3c,G-vexsk);visitedj=1;r+;qur=j; /*Bfs_m */四、图的最小生成树(一)生成树的概念(二)网络的最小生成树 如果连通图是一个网络,称该网络中所有生成树中权值总和最小的生成树为最小生成树也称最小代价生成树。P81图示MST性质P811、普里姆算法普里姆算法的根本思想如下:假设G=(V,E)是连通网,T=(U,TE)为欲构造的最小生成树。初始时,U=u0,TE=。重复下述操作:在所
20、有uU,vV-U的边中,选择一条权值最小的边(u,v)并入TE,同时将v并入U,直到U=V为止。这时产生的TE中具有n-1条边。上述过程中求得的T=(U,TE)便是G的一棵最小生成树。普里姆算法演示2、克 鲁斯卡尔算法五、最短路径1、从某源点到其余顶点之间的最短路径设有向网G=V,E,以某指定顶点为源点v0,求从v0出发到图中所有其余各项点的最短路径。以图5-5-1所示的有向网络为例,假设指定v0为源点,通过分析可以得到从v0出发到其余各顶点的最短路径和路径长度为:v0 v1 :无路径v0 v2 :10v0 v3 :50 经v4v0 v4 :30v0 v5 :60 经v4、v3如何在计算机中求
21、得从v0到其余各项点的最短路径呢? 迪杰斯特拉(Dijkstra)于1959年提出了一个按路径长度递增的次序产生最短路径的算法。 其根本思想是:把图中所有顶点分成两组,第一组包括已确定最短路径的顶点(初始只包括顶点v0),第二组包括尚未确定最短路径的顶点,然后按最短路径长度递增的次序逐个把第二组的顶点加到第一组中去,直至从v0出发可以到达的所有顶点都包括到第一组中。在这过程中,总保持从v0到第一组各顶点的最短路程长度都不大于从v0到第二组的任何顶点的最短路径长度。另外,每一个顶点对应一个距离值,第一组的顶点对应的距离值就是从v0到此顶点的只包括第一组的顶点为中间顶点的最短路径长度。1、拓扑排序
22、对AOV网进行拓扑排序的方法和步骤是:1从AOV网中选择一个没有前驱(即入度为0)的顶点并且输出之;2从网中删去该顶点和所有以该顶点为尾的弧;重复上述两步,直止全部顶点均被输出,或者当前网中不再存在没有前驱的顶点为止。操作结果的前一种情况说明网中不存在有向回路,拓扑排序成功;后一种情况说明网中存在有向回路。六、有向无环图及其应用下面图5-6-2给出了一个AOV网实施上述步骤的例子。aAOV网;(b)输出v0后;c输出v5后;d输出v3后;e输出v2后;f输出v1后。这样得到的一个拓扑排序序列为:v0, v5, v3, v2, v1, v47JaMePhSkWnZr$u*x+A2D5H8KcNf
23、QiUlXo#s%v)y0B3F6I9LdOgSjVmYq!t&w-z1D4G7JbMePhTkWoZr$u(x+A2E5H9KcNfRiUlXp#s&v)y0C3F6IaLdOgSjVnYq!t*w-z1D4G8JbMeQhTkWoZr%u(x+B2E5H9KcOfRiUmXp#s&v)z0C3F7IaLdPgSkVnYq$t*w-A1D5G8JbNeQhTlWoZr%u(y+B2E6H9KcOfRjUmXp!s&v)z0C4F7IaMdPgSkVnZq$t*x-A1D5G8KbNeQiTlWo#r%v(y+B3E6H9LcOgRjUmYp!s&w)z0C4F7JaMdPhSkVnZq$u*
24、x-A2D5G8KbNfQiTlXo#r%v(y0B3E6I9LcOgRjVmYp!t&w)z1C4G7JaMePhSkWnZr$u*x+A2D5H8KcNfQiUlXo#s%v(y0B3F6I9LdOgRjVmYq!t&w-z1C4G7JbMePhTkWnZr$u(x+A2E5H8KcNfRiUlXp#s%v)y0C3F6IaLdOgSjVnYq!t*w-z1D4G7JbMeQhTkWoZr$u(x+B2E5H9KcNfRiUmXp#s&v)y0C3F7IaLdPgSjVnYq$t*w-A1D4G8JbNeQhTlWoZr%u(y+B2E6H9KcOfRjUmXp!s&v)z0C3F7IaM
25、dPgSkVnYq$t*x-A1D5G8JbNeQiTlWo#r%u(y+B3E6H9LcOfRjUmYp!s&w)z0C4F7JaMdPhSkVnZq$u*x-A2D5G8KbNeQiTlXo#r%v(y+B3E6I9LcOgRjUmYp!t&w)z1C4F7JaMePhSkWnZq$u*x+A2D5H8KbNfQiUlXo#s%v(y0B3F6I9LdOgRjVmYp!t&w-z1C4G7JaMePhTkWnZr$u*x+A2E5H8KcNfQiUlXp#s%v)y0B3F6IaLdOgSjVmYq!t*w-z1D4G7JbMeQhTkWoZr$u(x+B2E5H9KcNfRiUlXp#s
26、&v)y0C3F6IaLdPgSjVnYq!t*w-A1D4G8JbMeQhTlWoZr%u(x+B2E6H9KcOfRiUmXp!s&v)z0C3F7IaMdPgSkVnYq$t*w-A1D5G8NfRiUlXp#s&v)y0C3F6IaLdPgSjVnYq!t*w-A1D4G8JbMeQhTlWoZr%u(x+B2E6H9KcOfRiUmXp!s&v)z0C3F7IaLdPgSkVnYq$t*w-A1D5G8JbNeQhTlWo#r%u(y+B2E6H9LcOfRjUmXp!s&w)z0C4F7IaMdPhSkVnZq$t*x-A2D5G8KbNeQiTlWo#r%v(y+B3E6H9Lc
27、OgRjUmYp!s&w)z1C4F7JaMdPhSkWnZq$u*x-A2D5H8KbNfQiTlXo#s%v(y0B3E6I9LdOgRjVmYp!t&w)z1C4G7JaMePhSkWnZr$u*x+A2D5H8KcNfQiUlXo#s%v)y0B3F6I9LdOgSjVmYq!t&w-z1D4G7JbMePhTkWoZr$u(x+A2E5H9KcNfRiUlXp#s%v)y0C3F6IaLdOgSjVnYq!t*w-z1D4G8JbMeQhTkWoZr%u(x+B2E5H9KcOfRiUmXp#s&v)z0C3F7IaLdPgSkVnYq$t*w-A1D4G8JbNeQhTlWoZr%
28、u(y+B2E6H9KcOfRjUmXp!s&v)z0C4F7IaMdPgSkVnZq$t*x-A1D5G8KbNeQiTlWo#r%v(y+B3E6H9LcOgRjUmYp!s&w)z0C4F7JaMdPhSkVnZq$u*x-A2D5G8KbNfQiTlXo#r%v(y0B3E6I9LcOgRjVmYp!t&w)z1C4G7JaMePhSkWnZr$u*x+A2D5H8KbNfUmYp!s&w)z0C4F7JaMdPhSkVnZq$u*x-A2D5G8KbNfQiTlXo#r%v(y0B3E6I9LcOgRjVmYp!t&w)z1C4F7JaMePhSkWnZq$u*x+A2D5H8KbN
29、fQiUlXo#s%v(y0B3F6I9LdOgRjVmYq!t&w-z1C4G7JbMePhTkWnZr$u(x+A2E5H8KcNfRiUlXp#s%v)y0B3F6IaLdOgSjVmYq!t*w-z1D4G7JbMeQhTkWoZr$u(x+B2E5H9KcNfRiUmXp#s&v)y0C3F7IaLdPgSjVnYq$t*w-A1D4G8JbMeQhTlWoZr%u(x+B2E6H9KcOfRiUmXp!s&v)z0C3F7IaMdPgSkVnYq$t*x-A1D5G8JbNeQiTlWo#r%u(y+B3E6H9LcOfRjUmYp!s&w)z0C4F7IaMdPhSkr%u(x+
30、B2E6H9KcOfRiUmXp!s&v)z0C3F7IaMdPgSkVnYq$t*x-A1D5G8JbNeQiTlWo#r%u(y+B2E6H9LcOfRjUmXp!s&w)z0C4F7IaMdPhSkVnZq$t*x-A2D5G8KbNeQiTlXo#r%v(y+B3E6I9LcOgRjUmYp!t&w)z1C4F7JaMdPhSkWnZq$u*x-A2D5H8KbNfQiTlXo#s%v(y0B3E6I9LdOgRjVmYp!t&w-z1C4G7JaMePhTkWnZr$u*x+A2E5H8KcNfQiUlXp#s%v)y0B3F6I9LdOgSjVmYq!t&w-z1D4G7JbMeP
31、hTkWoZr$u(x+A2E5H9KcNfRiUlXp#s&v)y0C3F6IaLdPgSjVnYq!t*w-A1D4G8JbMeQhTkWoZr%u(x+B2E5H9KcOfRiUmXp#s&v)z0C3F7IaLdPgSkVnYq$t*w-A1D5G8JbNeQhTlWo#r%u(y+B2E6H9LcOfRjYq!t*w-z1D4G8JbMeQhTkWoZr%u(x+B2E5H9KcOfRiUmXp#s&v)z0C3F7IaLdPgSkVnYq$t*w-A1D5G8JbNeQhTlWo#r%u(y+B2E6H9KcOfRjUmXp!s&v)z0C4F7IaMdPgSkVnZq$t*x-A
32、1D5G8KbNeQiTlWo#r%v(y+B3E6H9LcOgRjUmYp!s&w)z1C4F7JaMdPhSkWnZq$u*x-A2D5G8KbNfQiTlXo#r%v(y0B3E6I9LcOgRjVmYp!t&w)z1C4G7JaMePhSkWnZr$u*x+A2D5H8KcNfQiUlXo#s%v)y0B3F6I9LdOgRjVmYq!t&w-z1C4G7JbMePhTkWnZr$u(x+A2E5H8KcNfRiUlXp#s%v)y0C3F6IaLdOgSjVnYq!t*w-z1D4G8JbMeQhTkWoZr$u(x+B2E5H9KcNfRiUmXp#s&v)y0C3F7IaLdPg
33、SjVnYq$t*w-A1D4G8JbNeQhTlWoZr%u(y+B2E6H9KcOfRjUmXp!s&v)z0C4F7IaMdPgSkVnYq$t*x-A1D5G8JbiUmXp#s&v)y0C3F7IaLdPgSjVnYq$t*w-A1D4G8JbNeQhTlWoZr%u(y+B2E6H9KcOfRiUmXp!s&v)z0C3F7IaMdPgSkVnYq$t*x-A1D5G8JbNeQiTlWo#r%u(y+B3E6H9LcOfRjUmYp!s&w)z0C4F7JaMdPhSkVnZq$u*x-A2D5G8KbNeQiTlXo#r%v(y+B3E6I9LcOgRjUmYp!t&w)D5G
34、8JbNeQiTlWo#r%u(y+B3E6H9LcOfRjUmYp!s&w)z0C4F7IaMdPhSkVnZq$t*x-A2D5G8KbNeQiTlXo#r%v(y+B3E6I9LcOgRjUmYp!t&w)z1C4F7JaMePhSkWnZq$u*x+A2D5H8KbNfQiTlXo#s%v(y0B3E6I9LdOgRjVmYp!t&w-z1C4G7JaMePhTkWnZr$u*x+A2E5H8KcNfQiUlXp#s%v)y0B3F6IaLdOgSjVmYq!t*w-z1D4G7JbMePhTkWoZr$u(x+A2E5H9KcNfRiUlXp#s&v)y0C3F6IaLdPgSjVnYq!t*w-A1D4G8JbMeQhTlWoZr%u(x+6I9LdOgSjVmYq!t&w-z1D4G7JbMePhTkWoZr$u(x+A2E5H9KcNfRiUlXp#s&v)y0C3F6IaLdPgSjVnYq!t*w-A1D4G8JbMeQhTlWoZr%u(x+B2E5H9KcOfRiUmXp#s&v)z0C3F7IaLdPgSkVnYq$t*w-A1D5G8JbNeQhTlWo#r%u(y+B2E6H9LcOf
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 沧州租赁房屋租金调整及支付方式协议
- 国际货运代理及仓储管理合同
- 车库租赁合同范本及车位租赁合同变更
- 人参皂苷Rg3对肾癌786-0细胞中EphB4及BcL-Xl蛋白调控机制及抗癌潜能研究
- 女性亚健康课件
- 奇妙的对联说课课件
- 岗位实习实践报告
- 家长给小学老师的建议怎么写
- 初中化学实验室制取气体总结
- 实习报告成果
- 2025年北方华创招聘笔试参考题库含答案解析
- 期末综合试题 2024-2025学年下期初中英语人教版七年级下册(新教材)
- 2025江苏扬州宝应县“乡村振兴青年人才”招聘67人笔试模拟试题含答案详解
- 2025年甘肃高考真题化学试题(解析版)
- 恶臭的测定作业指导书
- 中国政法大学《中国政治制度史》2023-2024学年第二学期期末试卷
- 2024年上海浦东新区公办学校储备教师教辅招聘真题
- 2025年高考历史全国卷试题评析-教育部教育考试院
- 贵州省贵阳市2023−2024学年度第二学期期末监测试卷高一 数学试题(含解析)
- 超高玻璃吊装方案(3篇)
- 井冈山的故事试题及答案
评论
0/150
提交评论