版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
word文档精品文档分享第二次验一、问题:Matrix-chainproduct分析:此题是矩阵链乘问题,需要求出最优括号化方案。即矩阵的乘法链上添加括号来改变运算顺序以使矩阵链乘法的代降。可以分析该链乘的一个子段总结一结。假m[i,j]表示i*⋯*Aj的链
成需要进展的乘法次〔假j-ii*⋯*Aj分为两段进展i*⋯*A〕*〔Ak+1*⋯*Aj〕可以得出m[i,j]的递推公式可以得出,当i=j的时候,m[i,j]=0。当i<j的时候。k的取值X是i到j-1,对k的每一个取值都可以得到一个m[i,j]的值,取出最小值即时m[i,j]的最优化方案。递推公式如下:可以根据上式得到一个递归算法。此题即是求m[1,n]的值。用二维m存储m[i,j]的值,用二维s来储存应当分割的位。以此题中第一个矩阵a)<3,5,2,1,10>为例,可以得出如下矩阵:1word文档精品文档分享通过m数组可以得出最少的乘法次数,通过s数组可以输出最优方案。遇到的问题:在输出s数组的结果的时候仍然需要递归调用,需要适宜的控制递归的条件。总结:在矩阵链乘问题中可以看出,动态规划结合递归的思想可以快捷的解决很多问题。此题中,重点是归纳出m[i,j]的递推公式。二、问题:LongestCommonSubsequence分析:此题即是最长公共子序列问题。假设有序列A[m]和序列B[n],显然,对
于每一个[i,j],都对应着一个公共子序列的长度。假设长度为,就可以得到一个二维数组c[m,n]。对于c[i,j],当Ai=Bj的时候,问题就转变为求A[1..i-1]和B[1..j-1]的公共子序列长度的问题,所以c[i,j]的长度就是c[i-1,j-1]+1;同理,当Ai!=Bj的时候,c[i,j]应该在c[i-1,j]与c[i,j-1]中取最大值。另外,当i或者j等于0的时候,显然c的值为0。由上面所述,可以得到递推公式如下:为了解决这个问题,还如要定义另一个数组用于存放c数组中每一个元素的来源。这个来源其实就反映了公共子串。可以通过箭头表示来源,相连的箭头序列中指向左上方的箭头最多的一串对应的就是最长公共子序列。比方对于题目中给出的第一个例子X:xzyzzyxY:zxyyzxz可以用一个矩阵表示计算的过程:2word文档精品文档分享遇到的问题:’是属于‘’还是‘’会给结果带来不同。在输出子序列的时候,最长公共子序列可能不止一个,但是最终未能解决还是只能输出一个。总结:最长公共子序列问题可以利用动态规划很好的解决。动态规划的思想就是根据规律获得推导公式,然后解决问题。三、问题:LongestCommonSubstring分析:最长公共子序列问题就是和最长公共子串问题差不多,就是当当Ai!=Bj的时候,对应的c[i,j]置为0。推导公式如下:最终c数组的最大值max对应的就是最长公共子串,只需要将从本位置向前述max-1个的子串即是所求子串。总结:此题就是第二题的一种特殊的情况,即c数组中的值不能从左和上两个方向获取,其他根本一样。在代码上,只需要修改小局部代码就可以实现该问题。四、问题:MaxSum分析:求和最大的子串。这个问题和第三题很像,不过这次不用二维数组而是使用两个标记来标志所求子串的起始位置〔〕完毕位置〔maxe是,对于第i个元素,如果当前元素与目前选中的序列的sum小于0,那么这么序列不会被选择,更新sumb与sume的值;如果sum仍然大于0,那么sum可以选中。比拟sum与maxsum>maxmaxb与maxe3word文档精品文档分享的值。递推公式如下:遇到的问题:在全是负数时出现问题,后来讲max的初始值设置为第一个元素的值后就能正常了。总结:动态规划能解决很多问题,找到递推公式非常重要。五、问题:Shortestpathinmultistagegraphs.Findtheshortestpathfrom0to15forthefollowinggraph.分析:观察此题图的特点,发现可以将图分解为7个局部,以此可以计算到每一个节点的最短的路径。即可求出最终的最短路径。总结:结合此题中的特殊情况,可以采用适当的方法来处理。4word文档精品文档分享第三次实验一、问题:KnapsackProblem.Thereare5itemsthathaveavalueandweightlistbelow,theknapsackcancontainatmost100Lbs.Solvetheproblembothasfractionalknapsackand0/1knapsack.分析:此题是背包问题的两个解法。对于局部背包来说比拟简单,就是将单位价值大的物品优先放置到背包中,这样就能在背包中获取最大的价值。但是对于0/1背包问题来说,就相对复杂了。可以通过贪心算法解决。经过分析,我们转化这个问题为将n件物品放置到容量为w的容器中。这里,每件物品只可能有一个状态:放入/不放入,我们用0/1来对应。用v[i,w]来表示前i件物品选出重量不超过w的物品,并且构成的最大的价值。那么,可以分析
得出v[i,w]的递推式。如果i=0或者v[I,w]=0;如果第i件物品的重量wi>w那么i不可能放入容器中;如果i能够放入容器〔即wi<w〕那么在vi+v[i-1,w-wi]>v[i-1,w]时才可能会放入。关系式如下每一次都恰到好处的选择了放或者不放一个物品。直到最后一个物品,我们得到的一定就是最好的结果总结:背包问题是一个典型的贪心算法的例子。在解决问题的时候可以将当前步骤做到最好,然后通过推导,有可能得到一个关系式,这样就能使问题得到解决。在此题中,我们可以通过第i件物品是否应该放在容量的w的背包中进展分析,最终得到了一个递推式。5word文档精品文档分享二、问题:Asimpleschedulingproblem.Wearegivenjobsj1,jn,allwithknownrunningtimest1,t2,tn,respectively.Wehaveasingleprocessor.Whatisthebestwaytoschedulethesejobsinordertominimizetheaveragecompletiontime.Assumethatitisanonpreemptivescheduling:onceajobisstarted,itmustruntocompletion.Thefollowingisaninstance。分析:这是一个线程调度问题,通过操作系统课程的学习,我们了解到应当采用短作业优先的调度方式。可以采用快速排序对进程顺序进展排序即可得到调度时间。总结:在进程调度问题中,如果想获取最短的平均周转时间〔单线程〕应当使用短作业优先的算法。三、问题:单源点最短路径分析:此题中,因为路径中存在负边,所以应当使用bellman-ford算法。为了方便的使用该算法,需要首先创立适宜的边的数据构造。这样,在遍历边的时候比拟快捷。首先需要初始化每一个节点的d值,源点的d值为0,其他点的d值的初始值为max〔一个足够大的数〕。表示在初始时,源点到各点都不可达。然后,对每条边进展松弛操作,进展|V|-1次松弛之后,可以得到结果。随如果依然存在可松弛的节点的话,说明存在权重为负的环路。说明结果不存在。总结:该算法并没有在一开场就计算是否存在权值为负的环路。而是通过结果来分析,如果没有负环路,一定能在松弛循环完毕后便不能继续被松弛。由此,可以判断是否存在最短路径。所以,该算法不仅可以判断一个图是否存在最短路径,还能得到最短路径。四、问题:6word文档精品文档分享All-pairsshortestpaths分析:所有节点对的最短路径问题,应当使用Johnson算法。Johnson算法需要用dijkstra和bellman-ford算法作为子程序。如果图G=〔V,E〕中所有的边权重都为非负值,可以通过在每一个节点使用dijkstra算法求出所有节点虹之间的最短路径;如果该图包含权值为负的边,但是没有权重为负的环路,那么只要计算一组新的非负权重值,然后使用同样的方法即可。总结:Johnson算法相当于是对dijkstra算法和bellman-ford算法的应用,结合这两个算法,通过使用重新赋值权重来生成非负权重,最终得到所有节点对之间的最短路径。7word文档精品文档分享第四次实验一、题目:0/1KnapsackProblem.Thereare5itemsthathaveavalueandweightlistbelow,theknapsackcancontainatmost100Lbs.Solvetheproblemusingback-trackingalgorithmandtrytodrawthetreegenerated.分析:使用回溯法解决0/1背包问题。可以用一个数组来记录“选中〞物品的情况。首先,选择第一件物品,如果超重的话不选择该物品;如果没有超重,继续添加下一个物品,这样选择下去,最终一定可以选择完全部的物品。计算目前选择物品的totalValue值。继续回溯,如果的到新的totalValue值,如果大于前一个值,那么更新该值,并且更新保存选择的数组中。总结:从8皇后问题可以发现回溯法的一般方法。经过代入到这个问题中,发现确实可行。回溯法需要一个合理的递归函数,这个函数的终止条件也需要认真的分析。比方这一题和8皇后问题都可以使用元素的个数作为一个完毕条件,另外还需要注意导致“回溯〞的位置。二、题目:Solvethe8-Queenproblemusingback-trackingalgorithm.分析:8皇后问题是回溯法的一个典型的例题。假设目前已经在奇葩的前ii<8〕行放置了i和皇后并且位置合法。然后我们放置第j〔j=i+1〕个皇后,先将j放置在第一列,如果合法就放置第j+1个皇后;如果放置在当前列不合法,就将j皇后放置在第二列,,以此类推,如果全部不行,将会返回调用该函数的上一层函数。如果i的值等于,说明已经完全摆放成功,就可以输出结果,输出后返回上一层调用,继续查找其他的符合题意的皇后摆放。总结:使用回溯法,能后很好的解决8皇后问题。在使用回溯法是,应当注意8word文档精品文档分享如何使用递归调用,尤其是递归调用的完毕条件。9word文档精品文档分享第2份算法导论上机实验报告册班级:1313012学号X:周家炜教师:X立勇10word文档精品文档分享11word文档精品文档分享实验一排序算法题目一:1、题目描述:描述一个运行时间为θ(nlgn)算法,给定n个整数的集合S和另一个整数xS中是否存在两个其和刚好为x的元素。、所用算法:1、运用归并排序算法2、在已经排好序的根底上,对其运用二分查找。、算法分析:〔时间复杂度为θ(nlgn)满足题目要求的运行时间。归并排序的分解局部是每次将数组划分两个局部,时间复杂度为1直到将数组分解成单个元素为止;解决局部是递归求解排序子序列;合并局部是将已经排序的子序列进展合并得到所要的答案,时间复杂度为θ(lgn)。〔θ(lgn)在题目要求的X围内,二分查找的条件为待查的数组为有序序列。算法的主要思想为设定两个数,low指向最低元素,high指向最高元素,然后比拟数组中间的元素与待查元素进展比拟。如果待查元素小于中间元素,那么说明查找元素在数组的前半段;反之,如果待查元素大于中间元素,那么表明查找元素在数组的后半段。、结果截图:12word文档精品文档分享5、总结:〔1〕在主函数中调用二分查找的时候,参数应该为],从j+1开场遍历而不是都是从第一个开场。〔〕遇到的困难为:由于程序语言规定数组的下标从0开场,而算法伪代码要求从1,但是在编译运行的时候会得不到想要的结果,出现数组下标访问错误。采取的解决方案为:在开场定义数组的时候,将数组的大小定义为一个较大的数字,如1000。防止在运行时出现错误,但是造成了空间的浪费。较好的方案为使用动态数组,如malloc函数。13word文档精品文档分享题目二:1实现优先级队列,即需要支持以下操作:INSERT(S,x):把元素x插入到集合S中;MAXMUM(S):返回S中具有最大key的元素;EXTRACT-MAX(S):掉并返回S中的具有最大key的元素;INCREASE-KEY(S,x,k)元素x的关键字值增到k。2、所用算法:堆排序,运用堆来实现优先队列。3、算法分析:〔堆排序的时间复杂度是θ(nlgn),但是与归并排序不同的是堆排序具有空间的原址性,任何时候都只需要常数个额外的元素空间存储临时数据。堆排序算法分为3个过程,MAX-HEAPIEY:调整堆以满足小顶堆性质,其时间复杂度为θ(lgn);BUILD-MAXHEAP:从无序的输入数据数组中构造小顶堆,其时间复杂度为线性时间;HEAP-SORT:对数组进展原址排序,其时间复杂度为θ(nlgn)。〔2〕在堆的根底上实现优先队列TMAXMUM、EXTRACT-MAXINCREASE-KE时间复杂度为θ)、结果截图:14word文档精品文档分享5、总结:遇到的困难:没有理解将一个序列转换成小顶堆的过程,因此刚开场很难将伪代码用c语言进展实现。从结果可以看出,在编写MAX-EXSTRACT数的时候,当去掉第一个元素后,程序没有调用MAX-HEAP进展调整堆,因此最后序列是无序状态。题目三:1实现quick_sort算法,并且答复以下两个问题:〔〕待排数组中的元素值都一样的情况下,运用quick_sort需要进展多少次比拟?〔2〕对于n个元素的数组,运用quick_sort举出需要进行比拟次数的上限和下限是多少?2、所用算法:快速排序算法15word文档精品文档分享3快速排序采用分治策略,时间复杂度为θ(nlgn),但是2),并且快速排序算法属于原地排序,并不需要开辟
最坏情况下为θ(nA[p..r]被划分为两个子数组A[p..q-1]和A[q+1..r],使得A[p..q-1]中的每个元素都小于A[q],而A[q]也小于等于A[q+1..r]中的每个元素。而在实现的过程总是选择将A[r]作为基准点进展划分A[p..r]数组。、结果截图:、总结:1〕中选取第一个或者最后一个为基准点时,当n个元素一样的时候为最坏情况,比拟次数为n*(n-1)/2;(2)快速排序比2)。较次数最少为θ最大的比拟次数为θ(n16word文档精品文档分享题目四:、题目描述:运用分治的策略将两个已经排好序的序列中,找出第k大的元素,且要求时间复杂度为θ(lgm+lgn),其中m和n分别为两个序列的长度。2、所用策略:分治策略3、算法分析:〔1〕分解:因为已经是两个独立的的序列,所以不用进展分解。〔2〕解决:因为两个序列为已经排好的序列,因此不用分开进展排序。〔3〕利用归并排序中的merge函数,将这两个序列分别看成是L[]和R[]两个数组,通过开辟一个新的数组,将两个数组合并成一个新的排好序的序列,在根据要求的k值,对新的数组进展取值。、结果截图:17word文档精品文档分享、总结:〔1〕理解分治策略的三个步骤:分解、解决和合并对于具体问题的具体表现,要善于根据时间复杂度与所学的算法进展结合,找出可以利用的地方。实验二动态规划题目一:1、题目描述:用动态规划实现矩阵链乘,保证相乘的次数最少。2、所用策略:动态规划3、算法分析:〔1Ai..k与Ak+1..j的乘积,那么分别对Ai..k与Ak+1..j加括号的方式也一定是最优的。〔2〕定义m[i,j]为计算矩阵Ai..j所需标量乘法次数的最小值,对于i=j时,矩阵链乘只包含唯一的矩阵因此不需要做任何标量乘法运算,所以m[i,i]=0;当i<j时利用最优子构造来计算m[i,j]。〔3〕矩阵链乘的递归式:〔4需要m数组记录Ai..j最小相乘次数,18word文档精品文档分享s数组记录构造最优解所需要的信息,其记录的k值指出了AiAi+1Aj的最优括号化方案的分割点应在AkAk+1之间。3)〔5〕矩阵链乘的时间复杂度为θ(n4、结果截图:5、总结:m数组和s数组的时候需要构建二维数组,而c语言中函数的参数列表中二维数组要指明数组大小,但是还没有输入信息的时候并没有方法确定数组大小。采取的方案:由于此次的例子只有两种情况,因此对于MATRIX_CHAIN_ORDE数和PRINT_OPTIMAL_PAREN数写两遍,大体的实现过程一样,只是数组的大小有所改变。并没有解决这个情况,造成代码的冗余。19word文档精品文档分享题目二:1、题目描述:用动态规划求以下字符串的最长公共子序列〔LCS〕2、所用策略:动态规划3、算法分析:〔1〕最优子构造:令X=<x1,x2,..xm>和Y=<y1,y2,...,yn>为两个序列,Z=<z1,z2,...,zk>为X和Y的任意LCS。1、如果那么zk=xm=yn且Zk-1是Xm-1和Yn-1的一个LCS.2xm≠yn,zk≠意味着Z是Xm-1和Y的一个LCS;3、如果xm≠yn,zk≠yn意味着Z是X和Yn-1的一个LCS。〔2〕定义一个b[i,j]指向表项对应计算c[i,j]时所选择的子问题最优解,过程返回表b和表c,c[m,n]保持X和Y的LCS长度。〔3〕LCS的递归式为:〔4〕LCS的时间复杂度为θ(m+n),b表的空间复杂度为θ(mn)。4、结果截图:20word文档精品文档分享5、总结:用动态规划求取最长公共子序列的时候,要理解b数组的用途和使用。遇到的困难:编写的代码无法针对字符串大小未定情况下,进展求解LCS这导致了代码的冗余。题目三:1、题目描述:用动态规划求取以下字符串的最长公共子串。2、所用策略:动态规划3、算法分析:〔1〕最优子构造:令X=<x1,x2,..xm>和Y=<y1,y2,...,yn>为两个序列,Z=<z1,z2,...,zk>为X和Y的任意最长公共子串。1xm=yn,那么zk=xm=yn且Zk-1是Xm-1和Yn-1的一个最长公共子串、如果21word文档精品文档分享≠yn,zk≠xm意味着Z是Xm-1和Y的一个最长公共子串;3、如果xm≠yn,zk≠yn意味着Z是X和Yn-1的一个最长公共子串。〔2〕定义L[i,j]为以x[i]和y[j]为结尾的一样子串的最大长度。记录着X和Y的最长公共子串的最大长度。〔3〕最长公共子串的递归式:〔4〕最长公共子串的时间复杂度为θ)空间复杂度为θ(mn)4、结果截图:5、总结:要同上述的最长公共子序列进展比照,区分他们的不同之处。也要理解用动态规划求解时的一样之处和不同之处。22word文档精品文档分享题目四:、题目描述:给定n个整数〔可能为负数〕组成的序,a[1],a[2]...a[n],求该序a[i]+a[i+1]...a[j]的子段和的最大值。、所用策略:动态规划3、算法分析:(1)最优子构造:定义当所给整数全为负数的候最大子段和为那么最大子段和为≤i≤j≤n引入一个辅助数组动态规划的分解分为(1)计算辅助数组的值计算辅助数组的最大值。辅助数组b[j]用来录以j为尾的子段以及集合中的最大子段和。(3)最大子段和的递归:(4)最大子段和使用动态规划进展计算的间杂为θ)4、结果截:23word文档精品文档分享5、总结:在求解集合的最大子段和的时候,要比照不同解决方法的不同之处,感受用动态规划解决的便捷。题目五:1、题目描述:利用动态规划求出多段图中的最短路径、所用策略:动态规划、算法分析:〔〕可以由图可知,图中的顶点讲图划分7个阶段,分别了解每个阶段可以有几种可供选择的店,引入f[k]表示状态k到终点状态的最短距离。最优子构造为:当前状态的f[k]由上个状态的f[k-1]和状态k-1到状态k的距离决定决策:当前状态应在前一个状24word文档精品文档分享态的根底上获得。决策需要满足规划方程,规划方程:f(k)表示状态k到终点状态的最短距离。〔〕多段图最短路径的递归式:4、结果截图:无。5、总结:〔〕遇到的问题:无法将多段图的每个阶段点的状态表示并记录下来。并不了解如何将动态规划与贪心算法的如迪杰斯特拉算法进展比照,真正从最优子构造将最短路径表示出来。实验三贪心算法题目一:1、题目描述:背包问题,即分别计算出在0-1背包和分数背包情况下的计算结果。2、所用策略:动态规划和贪心策略3、算法分析:〔〕0-1背包问题:所选择的的贪心策略为按照选择单位重25word文档精品文档分享量价值最大的物品顺序进展摘要。算法的步骤:设背包容量为,共有n个物品,物品重量存放在数组W[n]V[n]中,问题的解存放在数组X[n]中。第一步:改变数组和V的排列顺序,使其按单位重量价值V[i]/W[i]X[n]初始化为;第二步初始化i=0,设计一个循环,循环终止条件为〔W[i]>C环体为将第i个物品放入背包:X[i]=1;C=C-W[i];i++;最后一步:将结果存入到X数组中。〔2所选择的的贪心策略为按照选择单位重量价值最大的物品顺序进展摘要。算法的步骤:设背包容量为,共有n个物品,物品重量存放在数组W[n]V[n]中,问题的解存放在数组X[n]中。第一步:改变数组和V的排列顺序,使其按单位重量价值V[i]/W[i]X[n]初始化为;第二步初始化i=0,设计一个循环,循环终止条件为〔W[i]>C环体为将第i个物品放入背包:X[i]=1;C=C-W[i];i++;最后一步:将结果存入到X数组中X[i]=C/W[i]。〔3是由于物品不允许分割,因此,无法保证最终能将背包装满,局部闲置的背包容量使背包的单位重量价值降低了。〔4行摘要,其算法的时间复杂度为θ(nlgn)。4、结果截图:26word文档精品文档分享5、总结:使用贪心策略解决0-1背包问题得出的结果并不是最优解,这是由于所用的选择策略不同。题目二:1给予工作编号为J1J2...Jn,所以工作的运行时间分别为T1,T2...TN。有一个单独的处理假定它是一个非抢占式调度:一旦工作开场,它必须运行完成。2、所用策略:贪心策略3、算法分析:〔〕由于是非抢占式调度,所以应该尽量让时间短的工作先做,然后再让时间长的工作做。这里我们使用堆进展排序,建立一个小顶堆,然后每次拿出小顶堆上的最小元素,并使用sum中的公式就可以算出平均完成时间。堆排序的时间复杂度是O(nlgn),其27word文档精品文档分享中BuildMinHeap的时间复杂度是O(n),而BuildMinHeap()的时间复杂度是O(lgn)HeapExtractMin(N)的时间复杂度是O(lgn)。4、结果截图:5、总结:由于前面对于堆排序和优先队列的T数的错误没有解决,导致在调度中,需要每次去运行时间最短的工作时发生了错误。题目三:1、题目描述:以A为源点,求出以下图的单源点最短路径。2、所用算法:由于图中存在负权值,所以Dijkstra算法无法使用,因此采用Bellman-Ford算法求取图的单源点最短路径。3、算法分析:28word文档精品文档分享〔〕Bellman-Ford算法通过对边进展松弛操作来渐近地降低从源点A到每个结点的最短路径的估计值,直到该估计值与实际的最短路径权重?(A,v)一样为止。该算法返回TRUE值当且仅当输入图中不包含可以从源结点到达的权重为负值的环路。〔2〕Bellman-Ford算法的执行步骤:1、初始化:将除源点外的所有顶点的最短距离估计值d[v]←∞,d[s]←2反复对边集E中的每条边进展松弛操作,使得顶点集V中的每个顶点v的最短距离估计值逐步逼近其最短距离;〔运行|v|-1次〕3、检验负权回路:判断边集E中的每一条边的两个端点是否收敛。如果存在false说明问题无解;否那么算法返回true,并且从源点可达的顶点v的最短距离保存在d[v]中。〔〕算法适用X围和条件:1.单源最短路径(从源点A到其它所有顶点v);2.有向图无向图(无向图可以看作(u,v),(v,u)同属于边集E的有向图);3.边权可正可负(如有负权回路输出错误提示)。〔〕Bell
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年度出租车座套供应周期与质量保证合同
- 电咖啡机用空咖啡胶囊市场发展现状调查及供需格局分析预测报告
- 椎间盘修复用医疗设备市场需求与消费特点分析
- 2024年度机械设备维修与租赁合同
- 轧线机电池制造机械市场发展现状调查及供需格局分析预测报告
- 理发座椅市场需求与消费特点分析
- 2024年度卫星通信技术应用合同
- 2024年度实验室搬迁及运输合同
- 2024年度房屋租赁合同(东莞版)
- 数据管理用计算机市场发展现状调查及供需格局分析预测报告
- 补偿收缩混凝土应用技术规程JGJT1782009
- 机井资料表格(共9页)
- 豆类食物营养成分表
- 造纸及纸制品行业企业风险分级管控体系实施指南(DB37T 3149—2018)
- 农药英语词汇
- 第十二讲区域变质岩的鉴定与描述(1)
- 8D报告(完整详解版)
- 敏捷开发介绍(精选干货)
- 三类医疗器械医疗机构规章管理制度
- 上海版牛津英语5A M2U1 Grandparents教学案例
- (完整版)生育服务证办理承诺书
评论
0/150
提交评论