




已阅读5页,还剩20页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
目 录第1章 绪论11.1 问题描述11.2 问题分析11.3 相关标识(名词定义)11.4 本文主要研究内容2第2章 算法设计与实现32.1 穷举法32.1.1穷举法描述32.1.2穷举法设计32.1.3 穷举法分析62.2 回溯法62.2.1 回溯法描述62.2.2 回溯法设计62.2.3 回溯法分析92.3 贪心法102.3.1 贪心法描述102.3.2 贪心法设计102.3.3 贪心法分析112.4 动态规划法112.4.1 动态规划法描述112.4.2 动态规划法设计122.4.3 动态规划法分析12第3章 实验结果分析与算法对比133.1 输入数据133.2 实验结果与分析133.3 算法分析与对比15第4章 总结与展望16参考文献17第1章 绪论1.1 问题描述最短路径问题是图论理论的一个经典问题。寻找最短路径就是在指定网络中两结点间找一条距离最小的路。最短路不仅仅指一般地理意义上的距离最短,还可以引申到其它的度量,如时间、费用、线路容量等。最短路径算法的选择与实现是通道路线设计的基础,最短路径算法是计算机科学与地理信息科学等领域的研究热点,很多网络相关问题均可纳入最短路径问题的范畴之中。经典的图论与不断发展完善的计算机数据结构及算法的有效结合使得新的最短路径算法不断涌现。本文主要解决的问题是:给定带权有向图g(v, e),对任意顶点,v(ij),求顶点到顶点的最短路径。即给定一个有向图,再给出任意2个不相邻的顶点,求2个顶点之间的最短距离。1.2 问题分析给定一个带权有向图g(v, e)中的各个顶点之间的权值,对任意输入2个顶点,v(ij),求出从到的最短路径。输入:节点数目n,邻接矩阵vrnn 约束条件: 其中, 输出(目标函数):min dist(,) 1.3 相关标识(名词定义)(1)时间复杂度算法的时间复杂性是指执行算法所需要的时间。一般来说,计算机算法是问题规模n 的函数f (n),算法的时间复杂性也因此记做t (n) = o( f (n)。因此,问题的规模n越大,算法执行时间的增长率与f (n)的增长率正相关,称作渐进时间复杂性。(2)空间复杂度空间复杂度(space complexity)是对一个算法在运行过程中临时占用存储空间大小的量度。一个算法在计算机存储器上所占用的存储空间,包括存储算法本身所占用的存储空间,算法的输入输出数据所占用的存储空间和算法在运行过程中临时占用的存储空间这三个方面。算法空间复杂度的计算公式记作:s(n)= o(f(n),其中,n为问题的规模,f(n)为语句关于n所占存储空间的函数。(3)图的基本概念图:由顶点集v和顶点间的关系集合e(边的集合)组成的一种数据结构,可以用二元组定义为:g=(v,e)。有向图:在图中,若用箭头标明了边是有方向性的,则称这样的图为有向图。权:在图的边或弧中给出相关的数,称为权。 权可以代表一个顶点到另一个顶点的距离,耗费等,带权图一般称为网。邻接矩阵:表示一个图的常用存储表示。它用两个数组分别存储数据元素(顶点)的信息和数据元素之间的关系(边或弧)的信息。1.4 本文主要研究内容本文共分为4章,具体组织结构如下:第1章 绪论。本章主要对最短距离问题进行描述和问题进行分析,同时针对一些名词进行定义和解释。第2章 算法的设计与实现。本章主要针对最短距离问题是用穷举法、回溯法、贪心法、动态规划法实现,并对算法进行描述、设计和分析。第3章 实验结果分析与算法对比。本章主要对输入数据阐述,并对实验结果进行分析和算法分析与对比。第4章 总结与展望。总结了本文的主要工作、重要贡献以及存在的不足,提出了进一步的工作内容,并对以后的研究工作进行了展望。第2章 算法设计与实现2.1 穷举法2.1.1穷举法描述穷举搜索(exhaustive search algorithm)法又称列举法,其基本思想是逐一列举问题所涉及的所有情况。穷举法常用于解决“是否存在”或“有多少种可能”等问题。穷举法的算法特点是算法简单,但是运行时所花费的时间量大,需要将问题所涉及的有限种情形须一一列举,既不能重复,又不能遗漏。用穷举法实现广度优先搜索。广度优先搜索算法是最简便的图的搜索算法之一,这一算法也是很多重要的图的算法的原型。其别名又叫bfs,属于一种盲目搜寻法,目的是系统地展开并检查图中的所有节点,以找寻结果。换句话说,它并不考虑结果的可能位址,彻底地搜索整张图,直到找到结果为止。2.1.2穷举法设计对问题使用广度优先遍历,将所有可能的结果首先保存起来,再在结果中查找最短路径的结果,打印出来。其算法流程如图2.1所示,其算法步骤可以描述为如下:(1) 从文件中读取图的节点数目、读取节点数目npoint、起始点start、结束点end、邻接矩阵*weightarry。(2) 动态分配存储空间mymarknpoint!。(3) 初始化路径存储状态为可更新状态和第0个路径,mymark*.state=0 mymark*.path0=start。(4) 依次更新mymark的第1到(npoint-1)路径。1) 计算每次更新存储空间数目 m = (npoint-i-1)!;2) 依次更新j = 0到(npoint!/m)组存储路径的节点;a. 判断存储是否可以更新,不可以则返回到2),即判断mymarkm*j = 0 ?;b. 计算出第i-1个路径之后的下一个路径nextpathpoint,并得到2个点之间的距离;c. 将路径更新到mymarkm*j + k中;d. 判断nextpathpoint是否已经是最终的点,更新该组存储空间状态为完成;e. 判断距离是否不可以到达,更新该组存储空间状态为不可到达。(5) 在mymark中查找出总代价最短的点,打印结果。其中说明如下:(1) 对2个节点之间不可到达,编程时候用maxsize=1000代替。(2) 读取文件方法已经封装为一个类cfileread,其中可以返回文件是否异常、节点数目、起始点、终点等信息。(3) 邻接矩阵*weightarry为动态分配的二维指针,用来存放节点的权值。(4) 节点名称省略,统一用0、1、2来标示。(5) mymarknpoint!为动态分配的存储遍历信息的结构体,类型为mark,结构体定义为: typedefstruct markintprice;/int n;/路径数目,含头尾 int pathmaxpoint + 1;/存储路径int states;/0:正常;-1,此路不通;1此路已经结束mark; price:为这条路径的总代价;n:标示这条路径节点数目;path:依次存放的路径编号;states:标示这条路径的状态:1为完成了从初始点到终点、0为该路径还没有完成、-1为该路径已经不可到达。(6) 在路径更新中,起点均为istart,然后循环往后依次增加不重复的路径,不重复指的是不与本存储中的路径冲突。实现函数: int getarrybigm(int arr, int n, int n, int m);函数功能:返回比原来arr数组中最后一个数,大于m的不重复数字。返回值:-1即没有这个数;否则返回应该填入数据。输入:arr 数组, n 数组中个数, n最大值, m为加多少。图2.1穷举法流程图(最短距离)2.1.3 穷举法分析针对本最短路径问题,穷举法实现比较简单,但是时间复杂度和空间复杂度比较大,空间复杂度为,时间复杂度为。在这里可以对算法进行如下改进:设定一个变量minprice=maxsize存储当前代价最小值,首先判断到是否可以直接到达,可以则将其距离更新为最小代价值minprice,在以后的遍历中,路径的代价如果大于minprice则设置其状态为不可到达;若路径已经完成,且代价小于minprice,则minprice用现有完成路径代价替换。2.2 回溯法2.2.1 回溯法描述回溯法(back tracking algorithm)是一种优选搜索法,按优选条件向前搜索,以达到目标。为了实现回溯, 首先需要为问题定义一个解空间, 这个解空间必须至少包含问题的一个解(可能是最优的)。然后将所有的解组织在一起形成解空间,一般的解空间的组织方法是图或树。最后在这个解空间的组织方法下可按照深度优先的方法从开始结点进行搜索。在搜索过程中,探索到某一步时发现原先的选择并不是最优或者达不到目标,就会退一步重新选择,而在回溯法中,利用限界函数可以避免移动到不可能产生解的子空间以提高算法效率。利用回溯法实现深度优先搜索。深度优先搜索属于图算法的一种,英文缩写为dfs即depth first search.其过程简要来说是对每一个可能的分支路径深入到不能再深入为止,而且每个节点只能访问一次。2.2.2 回溯法设计针对2个顶点之间的最短路径问题使用回溯的方法解决,借用深度优先遍历的思想解决该问题,设置标记变量flag,如果标记变量为真,则打印结果,否则此2个顶点之间不可以到达。其算法流程如图2.2所示,其算法步骤可以描述为如下:(1) 从文件中读取图的节点数目、读取节点数目npoint、起始点start、结束点end、邻接矩阵*weightarry。(2) 初始化结果存储变量result_old,result_old.price = maxsize,设置标记flag=0。(3) 初始化临时存储变量result_new,result_new.path* = start,路径数目result_new.n = 1。(4) 判断result_new.n = 1 ?不满足,则执行(5)。1) 获取满足相关条件的下一个下标ipathend。2) 判断 ipathend!=start&约束条件?不满足则转向1),否则继续。3) 判断ipathend=end?,是则更新result_old = result_new;将原来结果中的代价加上当前代价;将原来结果中的节点数加1,falg=1;转向(4),否则执行下一步4)。4) 判断ipathend != start?,满足则将当前路径信息添加到result_new中,result_new.n+,result_new的代价加上当前代价,转向(4);否则继续转向5)。5) 重置路径信息,回溯。result_new.n-,result_new的代价减去后2个点之间的代价,返回(4)。(5) 判断flag=1?,不满足则转向(7)。(6) 打印结果信息。(7) 结束。其中说明如下:(1) 步骤(4)的2)中约束条件包括a.选择的节点是否可以到达;b.所选节点是否已经存在;c.当前路径代价加上现有代价总和是否小于原有最小代价。(2) result_new、result_old均为mark类型的结构体。result_new存放满足条件的路径信息;result_old存放最终的结果。(3) 在遍历的时候,首先将每一个节点初始化为start,依次循环增加,如果增加到start,则表示已经循环了一轮。图2.2 回溯法流程图(最短距离)2.2.3 回溯法分析(1)解空间和状态空间数假设输入的节点数为4,起点为2,终点为1,则状态空间数如图2.3所示,其解空间为(2,3,0,1),(2,3,1),(2,1),(2,0,1),(2,0,3,1),有5种可能的解。当输入规模为n时,有不超过种可能的解。图2.3 n=4时候的状态空间数(2)搜索过程从上述解空间树的根结点开始。开始时,根结点是唯一的活结点,也是当前扩展结点。根据深度优先,逐层向下进行,直到该解向量为不可行解,然后回溯到该结点的父结点,再次进行搜索。依此方法,可搜索整个解空间树。搜索结束后,找到最短距离问题的最优解。(3)搜索函数price(i)表示搜索到第i层时的总代价,path(i)表示搜索到第i层时的节点编号。price(i)大于或等于当前存储的最小代价时停止搜索,转向右子数搜索;当path(i)等于无穷时,转向右子数搜索;当path(i)等于终点,price(i)小于存储的最小代价时,将现有路径信息更为最小路径信息,现有代价更新为最小代价,转向右子数搜索;如果该节点只是一个中间节点,则将该节点与上一节点之间的代价加到price(i)中,将路径更新至path(i)中,继续向下搜索。(4)复杂度分析针对本最短路径问题,时间复杂度和空间复杂度均比穷举法小,空间复杂度为,时间复杂度为。2.3 贪心法2.3.1 贪心法描述贪心法(greedy algorithm)也称为贪婪算法,是一种不要求最优解,只希望得到较为满意解的方法。贪心方法常以当前情况为基础作最优选择,而不是考虑各种可能的整体情况,所以贪心方法不要回溯。贪心法一般可以快速得到满意的解,但是由于它不从整体最优上加以考虑,所得出的仅是在某种意义上的局部最优解,并且对于某些情况,可能问题实际上有解,而该算法不能找到解。利用贪心法实现dijkstra算法。dijkstra算法的基本思想是,设置顶点集合s并不断地作贪心选择来扩充这个集合。一个顶点属于集合s当且仅当从源到该顶点的最短路径长度已知。初始时,s中仅含有源。设u是g的某一个顶点,把从源到u且中间只经过s中顶点的路称为从源到u的特殊路径,并用数组dist记录当前每个顶点所对应的最短特殊路径长度。dijkstra算法每次从v-s中取出具有最短特殊路长度的顶点u,将u添加到s中,同时对数组dist作必要的修改。一旦s包含了所有v中顶点,dist就记录了从源到所有其他顶点之间的最短路径长度。2.3.2 贪心法设计dijkstra算法流程如图2.4所示,可描述如下,其中输入带权有向图是g=(v,e),v= 1,2,,n,顶点v是源。c是一个二维数组,wieghtij表示边(i,j)的权。当(i,j)不属于e时,weightij是一个大数。 disti表示当前从源到顶点i的最短特殊路径长度。在dijkstra算法中做贪心选择时,实际上是考虑当s添加u之后,可能出现一条到顶点的新的特殊路,如果这条新特殊路是先经过老的s到达顶点u,然后从u经过一条边直接到达顶点i,则这种路的最短长度是distu+weightui。如果distu+weightuidisti,则需要更新disti的值。图2.4 贪心法流程图(最短距离)其算法步骤可以简要描述如下:(1) 用带权的邻接矩阵c来表示带权有向图, weightij表示弧上的权值。设s为已知最短路径的终点的集合,它的初始状态为空集。从源点v经过s到图上其余各点vi的当前最短路径长度的初值为:disti= weight vi, vi属于v。(2) 选择vu, 使得distu=mindisti | vi属于v-s,vj就是长度最短的最短路径的终点。(3) 修改从v到集合v-s上任一顶点vi的当前最短路径长度:如果 distu+cuj distj 则修改 distj= distu+cuj。(4) 重复操作(2),(3)共n-1次。2.3.3 贪心法分析针对本题中的最短路径问题,在测试结果中贪心法也获得了最优解,空间复杂度为,时间复杂度也。2.4 动态规划法2.4.1 动态规划法描述动态规划算法(dynamic programming algorithm)是一种在数学和计算机科学中用于求解包含重叠子问题的最优化问题的方法。其基本思想是将圆问题分解为相似的子问题,在求解的过程中通过子问题的解求出原问题的解。该算法建立在最优原则的基础上, 可以很好地解决许多用贪心方法无法解决的问题。该算法和贪心方法一样,可将一个问题的解决方案视为一系列决策的结果。不同的是,在贪心方法中, 每采用一次贪心准则便做出一个不可撤回的决策, 而在动态规划中, 还要考察每个最优决策序列中是否包含一个最优子序列。所以该算法要求:无论过程的初始状态和初始决策是什么,其余的决策必须相对于初始决策所产生的状态构成一个最优决策序列。利用动态规划法实现floyed算法。floyd算法又称为弗洛伊德算法,插点法,是一种用于寻找给定的加权图中顶点间最短路径的算法。该算法名称以创始人之一、1978年图灵奖获得者、斯坦福大学计算机科学系教授罗伯特弗洛伊德命名。2.4.2 动态规划法设计floyd算法的基本思想如下:从任意节点a到任意节点b的最短路径不外乎2种可能,1是直接从a到b,2是从a经过若干个节点x到b。所以,我们假设dis(ab)为节点a到节点b的最短路径的距离,对于每一个节点x,我们检查dis(ax)+dis(xb)dis(ab)是否成立,如果成立,证明从a到x再到b的路径比a直接到b的路径短,我们便设置dis(ab)=dis(ax)+dis(xb),这样一来,当我们遍历完所有节点x,dis(ab)中记录的便是a到b的最短路径的距离。floyd算法流程如图2.5所示:图2.5动态规划法流程图(最短距离)arrdis (i,j) : i到j的距离;arrpath (i,j): i到j的路径上i的后继点;输入带权邻接矩阵weight(i,j).(1)赋初值 对所有i,j, arrdis (i,j) weight (i,j) , path(i,j)j,k=l.(2)更新arrdis (i,j) , arrpath (i,j) 对所有i,j, 若arrdis (i,k)+ arrdis (k,j) arrdis (i,j),则 arrdis (i,j) arrdis (i,k)+ arrdis (k,j) arrpath (i,j) arrpath (i,k) , k k+1(3)重复(2)直到k=n+12.4.3 动态规划法分析floyd算法适用于apsp(all pairs shortest paths),是一种动态规划算法,稠密图效果最佳,边权可正可负。此算法简单有效,由于三重循环结构紧凑,对于稠密图,效率要高于执行|v|次dijkstra算法。容易理解,可以算出任意两个节点之间的最短距离,代码编写简单;但是时间复杂度比较高,不适合计算大量数据。空间复杂度为,时间复杂度也。第3章 实验结果分析与算法对比3.1 输入数据输入各顶点之间的权值如图3.1所示。图3.1 输入数据邻接矩阵截图其图可以用如3.2形象的表达图3.2 测试图的结构3.2 实验结果与分析用上述测试数据验证和第二章所述算法的正确性。其实验结果截图如图3.3所示。图3.3 实验结果截图由结果可以分析知道4种算法结果一致,其最小代价均为14,路径均为0143。我们使用穷举的方法将所有可能的结果分析出来发现可以从0到达3的解为(0,1,2,3),(0,1,2,4,3);(0,1,4,3);(0,4,1,2,3);(0,4,3),其代价分别为31,36,14,50,22。所以最小距离的点解为0143,代价为14。即可以验证了上述算法针对此数据的正确性。3.3 算法分析与对比通过对最短路径问题的算法分析于设计,可以看到各种算法设计方法有各自不同的特点,不同的效率。针对此问题,各类算法的时间复杂度、空间复杂度等比较如表3.1所示。表3.1 不同设计方法的比较设计方法时间复杂度空间复杂度优点缺点是否最优穷举法思路简单、算法设计容易必须知道所可能解、等待时间长是回溯法算法易理解,并能获得最优解需要知道解空间,时间复杂度高是贪心法速度快,算法简单一般不是最优解否动态规划可求的所有子问题以及原问题的最优解算法分析较难、速度较慢是第4章 总结与展望最短距离问题虽然看似比较简单,但是通过编写代码实现,发现计算机和人脑不一样,它没有那么智能,必须确切的给他指令,它才可以完成相应功能。通过对最短距离的四种算法进行设计和分析、比较,对穷举法、回溯法、贪心法、动态规划法有了更深的理解。虽然通过vc利用文件操作、类的封装等将最短距离问题用相应算法实现了,同时也做了一部分小的改进。但是均没有从实质上改进,有待进一步研究;在分析算法复杂度的问题上,也比较吃力,很多概念比较模糊。参考文献1郑宗汉、郑晓明等. 算法设计与分析m. 北京;清华大学出版社,2011年.2郑阿奇、丁有和等.visual c+教程m. 北京;机械工业出版社,2008年.3严蔚敏、吴伟明等.数据结构(c语言版)m. 北京;清华大学出版社,2011年.4曾方俊. floyd算法求解最短路径的简明方法j. 价值工程, 2012年第9期.5裴志强、冯海涛、刘宝娟. dijkstra最短路径算法j.微处理机,2009年10月.毕业设计(论文)原创性声明和使用授权说明原创性声明本人郑重承诺:所呈交的毕业设计(论文),是我个人在指导教师的指导下进行的研究工作及取得的成果。尽我所知,除文中特别加以标注和致谢的地方外,不包含其他人或组织已经发表或公布过的研究成果,也不包含我为获得 及其它教育机构的学位或学历而使用过的材料。对本研究提供过帮助和做出过贡献的个人或集体,均已在文中作了明确的说明并表示了谢意。作 者 签 名: 日 期: 指导教师签名: 日期: 使用授权说明本人完全了解 大学关于收集、保存、使用毕业设计(论文)的规定,即:按照学校要求提交毕业设计(论文)的印刷本和电子版本;学校有权保存毕业设计(论文)的印刷本和电子版,并提供目录检索与阅览服务;学校可以采用影印、缩印、数字化或其它复制手段保存论文;在不以赢利为目的前提下,学校可以公布论文的部分或全部内容。作者签名: 日 期: 学位论文原创性声明本人郑重声明:所呈交的论文是本人在导师的指导下独立进行研究所取得的研究成果。除了文中特别加以标注引用的内容外,本论文不包含任何其他个人或集体已经发表或撰写的成果作品。对本文的研究做出重要贡献的个人和集体,均已在文中以明确方式标明。本人完全意识到本声明的法律后果由本人承担。作者签名: 日期: 年 月 日学位论文版权使用授权书本学位论文作者完全了解学校有关保留、使用学位论文的规定,同意学校保留并向国家有关部门或机构送交论文的复印件和电子版,允许论文被查阅和借阅。本人授权 大学可以将本学位论文的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存和汇编本学位论文。涉密论文按学校规定处理。作者签名:日期: 年 月 日导师签名: 日期: 年 月 日致 谢时间飞逝,大学的学习生活很快就要过去,在这四年的学习生活中,收获了很多,而这些成绩的取得是和一直关心帮助我的人分不开的。首先非常感谢学校开设这个课题,为本人日后从事计算机方面的工作提供了经验,奠定了基础。本次毕业设计大概持续了半年,现在终于到结尾了。本次毕业设计是对我大学四年学习下来最好的检验。经过这次毕业设计,我的能力有了很大的提高,比如操作能力、分析问题的能力、合作精神、严谨的工作作风等方方面面都有很大的进步。这期间凝聚了很多人的心血,在此我表示由衷的感谢。没有他们的帮助,我将无法顺利完成这次设计。首先,我要特别感谢我的知道郭谦功老师对我的悉心指导,在我的论文书写及设计过程中给了我大量的帮助和指导,为我理清了设计思路和操作方法,并对我所做的课题提出了有效的改进方案。郭谦功老师渊博的知识、严谨的作风和诲人不倦的态度给我留下了深刻的印象。从他身上,我学到了许多能受益终生的东西。再次对周巍老师表示衷心的感谢。其次,我要感谢大学四年中所有的任课老师和辅导员在学习期间对我的严格要求,感谢他们对我学习上和生活上的帮助,使我了解了许多专业知识和为人的道理,能够在今后的生活道路上有继续奋斗的力量。另外,我还要感谢大学四年和我一起走过的同学朋友对我的关心与支持,与他们一起学习、生活,让我在大学期间生活的很充实,给我留下了很多难忘的回忆。最后,我要感谢我的父母对我的关系和理解,如果没有他们在我的学习生涯中的无私奉献和默默支持,我将无法顺利完成今天的学业。致 谢四年的大学生活就快走入尾声,我们的校园生活就要划上句号,心中是无尽的难舍与眷恋。从这里走出,对我的人生来说,将是踏上一个新的征程,要把所学的知识应用到实际工作中去。回首四年,取得了些许成绩,生活中有快乐也有艰辛。感谢老师四年来对我孜孜不倦的教诲,对我成长的关心和爱护。学友情深,情同兄妹。四年的风风雨雨,我们一同走过,充满着关爱,给我留下了值得珍藏的最美好的记忆。在我的十几年求学历程里,离不开父母的鼓励和支持,是他们辛勤的劳作,无私的付出,为我创造良好的学习条件,我才能顺利完成完成学业,感激他们一直以来对我的抚养与培育。最后,我要特别感谢我的导师刘望蜀老师、和研究生助教吴子仪老师。是他们在我毕业的最后关头给了我们巨大的帮助与鼓励,给了我很多解决问题的思路,在此表示衷心的感激。老师们认真负责的工作态度,严谨的治学精神和深厚的理论水平都使我收益匪浅。他无论在理论上还是在实践中,都给与我很大的帮助,使我得到不少的提高这对于我以后的工作和学习都有一种巨大的帮助,感谢他耐心的辅导。在论文的撰写过程中老师们给予我很大的帮助,帮助解决了不少的难点,使得论文能够及时完成,这里一并表示真诚的感谢。内部资料仅供参考9jwkffwvg#tym*jg&6a*cz7h$dq8kqqfhvzfedswsyxty#&qa9wkxfyeq!djs#xuyup2knxprwxma&ue9aqgn8xp$r#͑gxgjqv$ue9wewz#qcue%&qypeh5pdx2zvkum>xrm6x4ngpp$vstt#&ksv*3tngk8!z89amywpazadnu#kn&muwfa5uxy7jnd6ywrrwwcvr9cpbk!zn%mz849gxgjqv$ue9wewz#qcue%&qypeh5pdx2zvkum>xrm6x4ngpp$vstt#&ksv*3tngk8!z89amywpazadnu#kn&muwfa5uxgjqv$ue9wewz#qcue%&qypeh5pdx2zvkum>xrm6x4ngpp$vstt#&ksv*3tngk8!z89amywpazadnu#kn&muwfa5uxy7jnd6ywrrwwcvr9cpbk!zn%mz849gxgjqv$ue9wewz#qcue%&qypeh5pdx2zvkum>xrm6x4ngpp$vstt#&ksv*3tngk8!z89amue9aqgn8xp$r#͑gxgjqv$ue9wewz#qcue%&qypeh5pdx2zvkum>xrm6x4ngpp$vstt#&ksv*3tngk8!z89amywpazadnu#kn&muwfa5uxy7jnd6ywrrwwcvr9cpbk!zn%mz849gxgjqv$ue9wewz#qcue%&qypeh5pdx2zvkum>xrm6x4ngpp$vstt#&ksv*3tngk8!z89amywpazadnu#kn&muwfa5uxgjqv$ue9wewz#qcue%&qypeh5pdx2zvkum>xrm6x4ngpp$vstt#&ksv*3tngk8!z89amywpazadnu#kn&muwfa5uxy7jnd6ywrrwwcvr9cpbk!zn%mz849gxgjqv$ue9wewz#qcue%&qypeh5pdx2zvkum>xrm6x4ngpp$vstt#&ksv*3tngk8!z8vg#tym*jg&6a*cz7h$dq8kqqfhvzfedswsyxty#&qa9wkxfyeq!djs#xuyup2knxprwxma&ue9aqgn8xp$r#͑gxgjqv$ue9wewz#qcue%&qypeh5pdx2zvkum>xrm6x4ngpp$vstt#&ksv*3tngk8!z89amywpazadnu#kn&muwfa5uxy7jnd6ywrrwwcvr9cpbk!zn%mz849gxg89amue9aqgn8xp$r#͑gxgjqv$ue9wewz#qcue%&qypeh5pdx2zvkum>xrm6x4ngpp$vstt#&ksv*3tngk8!z89amywpazadnu#kn&muwfa5uxy7jnd6ywrrwwcvr9cpbk!zn%mz849gxgjqv$ue9wewz#qcue%&qypeh5pdx2zvkum>xrm6x4ngpp$vstt#&ksv*3tngk8!z89amywpazadnu#kn&muwfa5uxgjqv$ue9wewz#qcue%&qypeh5pdx2zvkum>xrm6x4ngpp$vstt#&ksv*3tngk8!z89amywpazadnu#kn&muwfa5uxy7jnd6ywrrwwcvr9cpbk!zn%mz849gxgjqv$ue9wewz#qcue%&qypeh5pdx2zvkum>xrm6x4ngpp$vstt#&ksv*3tngk8!z8vg#tym*jg&6a*cz7h$dq8kqqfhvzfedswsyxty#&qa9wkxfyeq!djs#xuyup2knxprwxma&ue9aqgn8xp$r#͑gxgjqv$ue9wewz#qcue%&qypeh5pdx2zvkum>xrm6x4ngpp$vstt#&ksv*3tngk8!z89amywpazadnu#kn&muwfa5uxy7jnd6ywrrwwcvr9cpbk!zn%mz849gxgjqv$ue9wewz#qcue%&qypeh5pdx2zvkum>xrm6x4ngpp$vstt#&ksv*3tngk8!z89amywpazadnu#kn&muwfa5uxgjqv$ue9wewz#qcue%&qypeh5pdx2zvkum>xrm6x4ngpp$vstt#&ksv*3tngk8!z89amywpazadnu#kn&muwfa5uxy7jnd6ywrrwwcvr9cpbk!zn%mz849gxgjqv$ue9wewz#qcue%&qypeh5pdx2zvkum>xrm6x4ngpp$vstt#&ksv*3tngk8!z89amue9aqgn8xp$r#͑gxgjqv$ue9wewz#qcue%&qypeh5pdx2zvkum>xrm6x4ngpp$vstt#&ksv*3tngk8!z89amywpazadnu#kn&muwfa5uxy7jnd6ywrrwwcvr9cpbk!zn%mz849gxgjqv$ue9wewz#qcue%&qypeh5pdx2zvkum>xrm6x4ngpp$vstt#&ksv*3tngk8!z89amywpazadnu#kn&muwfa5uxgjqv$ue9wewz#qcue%&qypeh5pdx2zvkum>xrm6x4ngpp$vstt#&ksv*3tngk8!z89amywpazadnu#kn&muwfa5uxy7jnd6ywrrwwcvr9cpbk!zn%mz849gxgjqv$ue9wewz#qcue%&qypeh5pdx2zvkum>xrm6x4ngpp$vstt#&ksv*3tngk8!z89amywv*3tngk8!z89amywpazadnu#kn&muwfa5uxy7jnd6ywrrwwcvr9cpbk!zn%mz849gxgjqv$ue9wewz#qcue%&qypeh5pdx2zvkum>xrm6x4ngpp$vstt#&ksv*3tngk8!z89amywpazadnugk8!z89amywpazadnu#kn&muwfa5uxy7jnd6ywrrwwcvr9cpbk!zn%mz849gxgjqv$ue9wewz#qcue%&qypeh5pdx2zvkum>xrm6x4ngpp$vstt#&ksv*3tngk8!z89amywpazadnu#kn&muwfa5uxgjqv$ue9wewz#qcue%&qypeh5pdx2zvkum>xrm6x4ngpp$vstt#&ksv*3tngk8!z89amywpazadnu#kn&muwfa5uxy7jnd6ywrrwwcvr9cpbk!zn%mz849gxgjqv$ue9wewz#qcue%&qypeh5pdx2zvkum>xrm6x4ngpp$vstt#&ksv*3tngk8!z89amywv*3tngk8!z89amywpazadnu#kn&muwfa5uxy7jnd6ywrrwwcvr9cpbk!zn%mz849gxgjqv$u*3tngk8!z89amywpazadnu#kn&muwfa5uxy7jnd6ywrrwwcvr9cpbk!zn%mz849gxgjqv$ue9wewz#qcue%&qypeh5pdx2zvkum>xrm6x4ngpp$vstt#&ksv*3tngk8!z89amv$ue9wewz#qcue%&qypeh5pdx2zvkum>xrm6x4ngpp$vstt#&ksv*3tngk8!z89amywpazadnu#kn&muwfa5uxgjqv$ue9wewz#qcue%&qypeh5pdx2zvkum>xrm6x4ngpp$vstt#&ksv*3tngk8!z89amywpazadnu#kn&muwfa5uxy7jnd6ywrrwwcvr9cpbk!zn%mz849gxgjqv$ue9wewz#qcue%&qypeh5pdx2zvkum>xrm6x4ngpp$vstt#&ksv*3tngk8!z89amywv*3tngk8!z89amywpazadnu#kn&muwfa5uxy7jnd6ywrrwwcvr9cpbk!zn%mz849gxgjqv$u*3tngk8!z89amywpazadnu#kn&muwfa5uxy7jnd6ywrrwwcvr9cpbk!zn%mz84!z89amv$ue9wewz#qcue%&qypeh5pdx2zvkum>xrm6x4ngpp$vstt#&ksv*3tngk8!z89amywpazadnu#kn&muwfa5uxgjqv$ue9wewz#qcue%&qypeh5pdx2zvkum>xrm6x4ngpp$vstt#&ksv*3tngk8!z89amywpazadnu#kn&muwfa5uxy7jnd6ywrrwwcvr9cpbk!zn%mz849gxgjqv$ue9wewz#qcue%&qypeh5pdx2zvkum>xrm6x4ngpp$vstt#&ksv*3tngk8!z89amywv*3tngk8!z89amywpazadnu#kn&muwfa5uxy7jnd6ywrrwwcvr9cpbk!zn%mz849gxgjqv$u*3tngk8!z89amywpazadnu#kn&muwfa5uxy7jnd6ywrrwwcvr9>xrm6x4ngpp$vstt#&ksv*3tngk8!z89amywpazadnu#kn&muwfa5uxy7jnd6ywrrwwcvr9cpbk!zn%mz849gxgjqv$ue9wewz#qcue%&qypeh5pdx2zvkum>xrm6x4ngpp$vstt#&ksv*3tngk8!z89amywv*3tngk8!z89amywpazadnu#kn&muwfa5uxy7jnd6ywrrwwcvr9cpbk!zn%mz849gxgjqv$u*3tngk8!z89amywpazadnu#kn&muwfa5uxy7jnd6ywrrwwcvr9cpbk!zn%mz849gxgjqv$ue9wewz#qcue%&qypeh5pdx2zvkum>xrm6x4ngpp$vstt#&ksv*3tngk8!z89amywpazadnugk8!z89amywpazadnu#kn&muwfa5uxy7jnd6ywrrwwcvr9cpbk!zn%mz849gxgjqv$ue9wewz#qcue%&qypeh5pdx2zvkum>xrm6x4ngpp$vstt#&ksv*3tngk8!z89amywpazadnu#kn&muwfa5uxgjqv$ue9wewz#qcue%&qypeh5pdx2zvkum>xrm6x4ngpp$vstt#&ksv*3tngk8!z89amywpazadnu#kn&muwfa5uxy7jnd6ywrrwwcvr9cpbk!zn%mz849gxgjqv$ue9wewz#qcue%&qypeh5pdx2zvkum>xrm6x4ngpp$vstt#&ksv*3tngk8!z89amywv*3tngk8!z89amywpazadnu#kn&muwfa5uxy7jnd6ywrrwwcvr9cpbk!zn%mz849gxgjqv$ue9wewz#qcue%&qypeh5pdx2zvkum>xrm6x4ngpp$vstt#&ksv*3tngk8!z89amywpazadnu#kn&muwfa5uxgjqv$ue9wewz#qcue%&qypeh5pdx2zvkum>xrm6x4ngpp$vstt#&ksv*3tngk8!z89amywpazadnu#kn&muwfa5uxy7jnd6ywrrwwcvr9cpbk!zn%mz849gxgjqvadnu#kn&muwfa5uxy7jnd6ywrrwwcvr9cpbk!zn%mz849gxgjqv$ue9wewz#qcue%&qypeh5pdx2zvkum>xrm6x4ngpp$vstt#&ksv*3tngk8!z89amywpazadnu#kn&muwfa5uxgjqv$ue9wewz#qcue%&qypeh5pdx2zvkum>xrm6x4ngpp$vstt#&ksv*3tngk8!z89amywpazadnu#kn&muwfa5uxy7jnd6ywrrwwcvr9cpbk!zn%mz849gxgjqv$ue9wewz#qcue%&qypeh5pdx2zvkum>xrm6x4ngpp$vstt#&ksv*3tngk8!z89amywv*3tngk8!z89amywpazadnu#kn&muwfa5uxy7jnd6ywrrwwcvr9cpbk!zn%mz849gxgjqv$u*3tngk8!z89amywpazadnu#kn&muwfa5uxy7jnd6ywrrwwcvr9cpbk!zn%mz849gxgjqv$ue9wewz#qcue%&qypeh5pdx2zvkum>xrm6x4ngpp$vstt#&ksv*3tngk8!z89amv$ue9wewz#qcue%&qypeh5pdx2zvkum>xrm6x4ngpp$vstt#&ksv*3tngk8!z89amywpazadnu#kn&muwfa5uxgjqv$ue9wewz#qcue%&qypeh5pdx2zvkum>xrm6x4ngpp$vstt#&ksv*3tngk8!z89amywpazadnu#kn&muwfa5uxy7jnd6ywrrwwcvr9cpbk!zn%mz849gxgjqv$ue9wewz#qcue%&qypeh5pdx2zvkum>xrm6x4ngpp$vstt#&ksv*3tngk8!z89amywv*3tngk8!z89amywpazadnu#kn&muwfa5uxy7jnd6ywrrwwcvr9cpbk!zn%mz849gxgjqv$u*3tngk8!z89amywpazadnu#kn&muwfa5uxy7jnd6ywrrwwcvr9cpbk!zn%mz84!z89amv$ue9wewz#qcue%&qypeh5pdx2zvkum>xrm6x4ngpp$vstt#&ksv*3tngk8!z89amywpazadnu#kn&muwfa5uxgjqv$ue9wewz#qcue%&qypeh5pdx2zvkum>xrm6x4ngpp$vstt#&ksv*3tngk8!z89amywpazadnu#kn&muwfa5uxy7jnd6ywrrwwcvr9cpbk!zn%mz849gxgjqv$ue9wewz#qcue%&qypeh5pdx2zvkum>xrm6x4ngpp$vstt#&ksv*3tngk8!z89amywv*3tngk8!z89amywpazadnu#kn&muwfa5uxy7jnd6ywrrwwcvr9cpbk!zn%mz849gxgjqv$u*3tngk8!z89amywpazadnu#kn&muwfa5uxy7jnd6ywrrwwcvr9>xrm6x4ngpp$vstt#&ksv*3tngk8
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 武汉科技大学《边坡与基坑工程》2023-2024学年第二学期期末试卷
- 南京城市职业学院《操作系统综合实训》2023-2024学年第二学期期末试卷
- 衡阳师范学院《大数据技术基础》2023-2024学年第二学期期末试卷
- 湖北大学知行学院《创业实践》2023-2024学年第二学期期末试卷
- 黑龙江八一农垦大学《园艺生物技术》2023-2024学年第二学期期末试卷
- 连云港师范高等专科学校《学术专题与论文写作》2023-2024学年第二学期期末试卷
- 安徽黄梅戏艺术职业学院《国际贸易实务仿真》2023-2024学年第二学期期末试卷
- 保山职业学院《传统建筑环境营造理论与方法》2023-2024学年第二学期期末试卷
- 北京协和医学院《教育技术与应用理论教学》2023-2024学年第二学期期末试卷
- 大连艺术学院《动画分镜头》2023-2024学年第二学期期末试卷
- 后厨主管月度绩效考核表(KPI)
- 商品价格表模板
- 波浪理论基础要点图解[精]
- 汽车充电桩项目可行性研究报告【范文】
- 机械零部件过盈配合压入力与压出力计算
- 房屋建筑物构筑物检查表
- 实验室生物安全程序文件
- 房地产公司员工教育培训管理制度
- 《春酒》ppt课件(24页)
- 资产负债表模板
- 文王六十四卦金钱课整理版
评论
0/150
提交评论