




已阅读5页,还剩16页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
排序算法总结范文 排序算法总结排序算法总结OnSeptember25,XX,in数据结构,笔试面试,算法,bysponge本文是为了加深自己对各种算法的理解,部分摘自维基百科,这里主要介绍较为常用的排序方法,一些生僻的算法不做介绍。 .总结各种算法之前,现介绍下几个概念 1、稳定度稳定排序算法会依照相等的关键维持纪录的相对次序。 也就是一个排序算法是稳定的,就是当有两个有相等关键的纪录R和S,且在原本的串行中R出章现在S之前,在排序过癣的串行中R也将会是在载S之前。 2、计算唯的复杂度,依据串行的迅大小。 一般而言,好的诺表现是O,且坏的行为描是O。 对于一个排序理绣想的表现是O。 仅使用淫一个抽象关键比较运算临的排序算法总平均上总翼是至少需要O。 .稳定豺排序*泡沫排序O苗*插入排序O*桶排熟序O;需要O额外空展间*计数排序O;需廷要O额外空间*合并排丸序O;需要O额外空意间*二叉排序树排光序O期望时间;O最远坏时间;需要O额外空谐间*基数排序O;需夏要O额外空间.不稳定放排序*选择排序O*极希尔排序O如果使用锗最佳的现在版本*堆排撒序O*快速排序枝O期望时间,O最坏闹情况;对于大的、乱数鹰串行一般相信是最快的惺已知排序.排序的赃算法有很多,对空间的辙要求及其时间效率也不疗尽相同。 下面列出了一录些常见的排序算法。 这蚁里面插入排序和冒泡排猪序又被称作简单排序,盏他们对空间的要求不高到,但是时间效率却不稳浩定;而后面三种排序相残对于简单排序对空间的撇要求稍高一点,但时间鲸效率却能稳定在很高的辣水平。 基数排序是针对游关键字在一个较小范围砌内的排序算法。 .拖这篇文章里,将对几种铱基础排序介绍,包括冒周泡排序、插入排序、选呼择排序、快速排序。 稍吃微复杂些的排序留在二卵中介绍。 .惺毙蓖. 1、冒泡排些序冒泡排序是一种简单茸的排序方法,算法如下甥1.首先将所有雇待排序的数字放入工作姆列表中。 2.从列苔表的第一个数字到倒数愿第二个数字,逐个检查沦若某一位上的数字大阀于他的下一位,则将它皱与它的下一位交换。 3育.重复2号步骤,直至羡再也不能交换。 用C语透言实现如下in龄tBubbleSor四t/a是待排序的狱整型数组/b是待排钟序数组的元素个数in叶ti;inttemp关;forifte州mp=ai+1;污ai+1=ai绝;ai=tem啪p;/交换元素控最差时间复杂度O最苞优时间复杂度O平均时骂间复杂度O最差空婚间复杂度Ototal旋,Oauxiliar赎y. 2、插入排序插入拓排序也是一种简单排序馈方法,算法如下洞1.从第一个元素开始隔,认为该元素已经是排碾好序的。 2.取下晾一个元素,在已经排好胰序的元素序列中从后向宅前扫描。 3.如果腰已经排好序的序列中元逆素大于新元素,则将该友元素往右移动一个位置辆。 4.重复步骤3篓,直到已排好序的元素开小于或等于新元素。 5惜.在当前位置插入新元硬素。 6.重复步骤2。 神用C实现如下int伯InsertSort芒inti,j;in圆ttemp;for卸temp=ai;婉forif a暑j+1=aj;咱/将元素往右移动e且lseaj+1骨=temp;brea薪k;最差时间拉复杂度O最优时间复杂陷度O平均时间复杂度O螺最差空间复杂度O喀total,Oaux吗iliary. 3、选俘择排序选择排序的思想歉如下1.设数组窒内存放了n个待排数字村,数组下标从1开始,豌到n结束。 2.i=1裕3.从数组的第i雪个元素开始到第n个元雄素,寻找最小的元素。 暴4.将上一步找到荧的最小元素和第i位元句素交换。 5.如果奠i=n-1算法结束,业否则回到第3步用C语渣言实现如下intS布electSort猩inti,j;int谗flag;/用于记格录哪个元素最小int朵temp;forf逾lag=i;for烯flag=j;/登选出从i开始最小的元烷素temp=af庚lag;afla瞧g=ai;a魁i=temp;/港交换元素最差时间结复杂度最优时间复杂滴度平均时间复杂度房最差空间复杂度谤total,Oaux蔓iliary.以上三栅种排序的时间复杂度都偿是O。 . 4、快速排序衍实践证明,快速排忌序是所有排序算法中最隐高效的一种。 它采用了锌分治的思想先保证列战表的前半部分都小于后姬半部分,然后分别对前赌半部分和后半部分排序褥,这样整个列表就有序苑了。 快速排序的基本算范法是1.从数列中挑喇出一个元素,称为基烷准,2.重新排玛序数列,所有元素比基失准值小的摆放在基准前沦面,所有元素比基准值岸大的摆在基准的后面。 仗在这个分割之后,该基穷准是它的最后位置。 这殷个称为分割操作。 袁3.递归地把小于基准卫值元素的子数列和大于凤基准值元素的子数列排济序。 递回的最底部仇情形,是数列的大小是内零或一,也就是永远都坤已经被排序好了。 虽然摘一直递回下去,但是这芹个算法总会结束,因为筹在每次的迭代中,它至竟少会把一个元素摆到它衣最后的位置去。 用C语遗言实现如下void硝swapintt=琼*a;*a=*b;*濒b=t;intQu堪ickSortin枢ti,j;intba沿se;ifba仙se=a0;/拜设第一个元素为基准i传=1;j=b-1;w丝hileif i+叶;else swa屿p;/如果i位置的头数大于基准,则往后移瑟if/将基准插桔入到中间swap;Q粕uickSort;Q陨uickSort;暴elseswap;缅QuickSort;獭QuictSort;毖快速排序的滩时间复杂度是O,但是脚最坏情况下复杂度是O种。 最差时间复杂度最忽优时间复杂度平均时荐间复杂度pa勋risons最差空间睦复杂度根据实现的方式涣不同而不同几种常见排中序算法的介绍及复杂度耕分析相关概念 1、稳定仆排序和非稳定排序厕稳定排序是指所有相等新的数经过某种排序算法森操作后仍然能保持它们语在排序之前的相对次序灰。 反之就是非稳定排序严。 2、内排序和外排序赵在排序过程中,所咽有需要排序的数都在内估存,并在内存中调整它契们的存储顺序,称为内纸排序;在排序过程中,吾只有部分数被调入内存帝,并借助内存调整数在吕外存中的存放顺序排序助方法称为外排序。 排序荒算法【冒泡排序】丝冒泡排序方法是最简单讶的排序方法。 这种方法先的基本思想是,将待排滑序的元素看作是竖着排方列的“气泡”,较小的谷元素比较轻,从而要往隐上浮。 在冒泡排序算法叮中我们要对这个“气泡至”序列处理若干遍。 所闹谓一遍处理,就是自底验向上检查一遍这个序列婪,并时刻注意两个相邻脂的元素的顺序是否正确剐。 如果发现两个相邻元览素的顺序不对,即“轻辆”的元素在下面,就交盛换它们的位置。 显然,卧处理一遍之后,“最轻绎”的元素就浮到了最高呐位置;处理二遍之后,缨“次轻”的元素就浮到陡了次高位置。 在作第二丫遍处理时,由于最高位毡置上的元素已是“最轻丁”元素,所以不必检查荧。 一般地,第i遍处理畴时,不必检查第i高位允置以上的元素,因为经氯过前面i-1遍的处理婚,它们已正确地排好序掷。 冒泡排序是稳定的。 广算法时间复杂度是O。 酚【选择排序】选择幼排序的基本思想是对待群排序的记录序列进行n饲-1遍的处理,第i遍疡处理是将i.n坎中最小者与位置i交换陪位置。 这样,经过i遍摸处理之后,前i个记录婆的位置已经是正确的了雄。 选择排序是不稳定的尔。 算法复杂度是O。 【羞插入排序】插入排赔序的基本思想是,经过英i-1遍处理后,L圣1.i-1己排好占序。 第i遍处理仅将L众插入L1.i-1券的适当位置,使得L氮1.i又是排好燕序的序列。 要达到这个纤目的,我们可以用顺序友比较的方法。 首先比较饺L和Li-1,如玉果Li-1L,惠则L1.i已排疡好序,第i遍处理就结墅束了;否则交换L与L耙i-1的位置,继垒续比较Li-1和宰Li-2,直到找续到某一个位置j,使得祷LjLj+1棘时为止。 直接插入排学序是稳定的。 算法时间甸复杂度是O【堆排序】潍堆排序是一种树形匀选择排序,在排序过程违中,将An看成是镑完全二叉树的顺序存储现结构,利用完全二叉树拥中双亲结点和孩子结点砧之间的内在关系来选择新最小的元素。 堆排序是尘不稳定的。 算法时间复涎杂度O。 【归并排序】僳归并排序法是将两好个有序表合并成一个新腮的有序表,即把待排序娇序列分为若干个子序列蠢,每个子序列是有序的邢。 然后再把有序子序列任合并为整体有序序列。 吝归并排序是稳定的踩。 其时间复杂度无论是瘁在最好情况下还是在最整坏情况下均是O。 【快釜速排序】快速排序羌是对冒泡排序的一种本肇质改进。 它的基本思想肃是通过一趟扫描后,使惕得排序序列的长度能大姑幅度地减少。 在冒泡排弦序中,一次扫描只能确消保最大数值的数移到正柜确位置,而待排序序列愧的长度可能只减少1。 鹰快速排序通过一趟扫描讯,就能确保某个数的左挂边各数都比它小,右边压各数都比它大。 然后又金用同样的方法处理它左掷右两边的数,直到基准吻点的左右只有一个元素玄为止。 快速排序是谨不稳定的。 最理想情况迄算法时间复杂度O,最软坏O。 各排序方法对比滦冒泡排序算法时间复杂尼度是O选择排序算法时肇间复杂度是O插入排序尾算法时间复杂度是O值快速排序是不稳定的莲。 最理想情况算法时间峦复杂度O,最坏O。 堆致排序算法时间复杂度是袁O归并排序算法时间复期杂度是O1.基本概念获稳定排序和非稳定排序谴稳定排序是所有相栓等的数经过某种排序方御法后,仍能保持它们在蚜排序之前的相对次序,拿。 反之,就是非稳定的靳排序。 比如一组陶数排序前是a1,a2甚,a3,a4,a5,维其中a2=a4,经过盼某种排序后为a1,a萌2,a4,a3,a5鸯,则我们说这种排校序是稳定的,因为a2畅排序前在a4的前面,峙排序后它还是在a4的折前面。 假如变成a1,丢a4,a2,a3,a郡5就不是稳定的了。 内搬排序和外排序在排拦序过程中,所有需要排重序的数都在内存,并在瘸内存中调整它们的存储才顺序,称为内排序;在舒排序过程中,只有部分桃数被调入内存,并借助她内存调整数在外存中的绎存放顺序排序方法称为菊外排序。 算法的时间复版杂度和空间复杂度熊所谓算法的时间复杂度勋,是指执行算法所需要猫的计算工作量。 一个算诸法的空间复杂度,一般艳是指执行这个算法所需肪要的内存空间。 2.几码种常见算法冒泡排序脊冒泡排序方法是最简们单的排序方法。 这种方谣法的基本思想是,将待韵排序的元素看作是竖着柯排列的“气泡”,较小升的元素比较轻,从而要底往上浮。 在冒泡排序算展法中我们要对这个“气哪泡”序列处理若干遍。 贾所谓一遍处理,就是自雁底向上检查一遍这个序栖列,并时刻注意两个相赐邻的元素的顺序是否正冶确。 如果发现两个相邻孪元素的顺序不对,即“坚轻”的元素在下面,就潦交换它们的位置。 显然崎,处理一遍之后,“最雍轻”的元素就浮到了最穷高位置;处理二遍之后惟,“次轻”的元素就浮益到了次高位置。 在作第肘二遍处理时,由于最高聊位置上的元素已是“最静轻”元素,所以不必检赫查。 一般地,第i遍处欣理时,不必检查第i高磐位置以上的元素,因为津经过前面i-1遍的处箔理,它们已正确地排好措序。 冒泡排序是稳定的凿。 算法时间复杂度是O枯。 选择排序选择排免序的基本思想是对待排禽序的记录序列进行n-舔1遍的处理,第i遍处阐理是将Li.n尝中最小者与L交换位置习。 这样,经过i遍处理旬之后,前i个记录的位庇置已经是正确的了。 选就择排序是不稳定的。 算恤法复杂度是O。 插入排榆序插入排序的基本仕思想是,经过i-1遍身处理后,L1.i窿-1己排好序。 第i哎遍处理仅将L插入L静1.i-1的适当抑位置,使得L1.争i又是排好序的序列侥。 要达到这个目的,我癌们可以用顺序比较的方密法。 首先比较L和L威i-1,如果Li称-1L,则L1帧.i已排好序,第荆i遍处理就结束了;否麦则交换L与Li-1阵的位置,继续比较L敷i-1和Li-咋2,直到找到某一个梁位置j,使得Lj厉Lj+1时为止哟。 图1演示了对4个元嵌素进行插入排序的过程墓,共需要,三次插入讥。 直接插入排序是稳定舵的。 算法时间复杂度是舀O堆排序堆排序是咽一种树形选择排序,在烘排序过程中,将An甫看成是完全二叉树的珠顺序存储结构,利用完画全二叉树中双亲结点和胎孩子结点之间的内在关扶系来选择最小的元素。 睬堆排序是不稳定的。 算翌法时间复杂度O。 归并昔排序设有两个有序言序列存储在同一数组中范相邻的位置上,不妨设援为Al.m,A圃m+1.h,将把它们归并为一个有序数克列,并存储在Al.办.h。 归并排序挺是稳定的。 其时间复杂蟹度无论是在最好情况下絮还是在最坏情况下均是懒O。 快速排序快速澜排序是对冒泡排序的一吼种本质改进。 它的基本义思想是通过一趟扫描后韦,使得排序序列的长度厨能大幅度地减少。 在冒芒泡排序中,一次扫描只沿能确保最大数值的数移逊到正确位置,而待排序儒序列的长度可能只减少测1。 快速排序通过一趟亡扫描,就能确保某个数择的左边各数都比它小,恢右边各数都比它大。 然掣后又用同样的方法处理燃它左右两边的数,直到狠基准点的左右只有一个职元素为止。 快速排悦序是不稳定的。 最理想蔬情况算法时间复杂度O府,最坏O。 排序算法庚总结所谓排序,就熏是要文件中的记录徘,使之按关键字递增次哪序排列起来。 当待排序滑记录的关键字都不相同挠时,排序结果是惟一的楞,否则排序结果不惟一织。 在待排序的文件歹中,若存在多个关键字蓟相同的记录,经过排序幽后这些具有相同关键字澈的记录之间的相对次序喝保持不变,该排序方法毅是稳定的;若具有相同馒关键字的记录之间的相兆对次序发生改变,则称遇这种排序方法是不稳定咒的。 要注意的是,景排序算法的稳定性是针误对所有输入实例而言的豢。 即在所有可能的输入吾实例中,只要有一个实靳例使得算法不满足稳定迎性要求,则该排序算法辗就是不稳定的。 一.插骡入排序插入排序的谈基本思想是每步将一个迭待排序的记录按其排序袒码值的大小,插到前面蛤已经排好的文件中的适悔当位置,直到全部插入众完为止。 插入排序方法矗主要有直接插入排序和柑希尔排序。 .直接插闲入排序接插入排序贤的过程为在插入第i阳个记录时,R1,R2危,.Ri-1已经排唯好序,将第i个记录的助排序码Ki依次和R1垮,R2,.,Ri-鸭1的排序码逐个进行比蛋较,找到适当的位置。 增使用直接插入排序,对液于具有n个记录的文件晓,要进行n-1趟排序瞎。 代码如下:c荫ppviewpla蜘incopyvoid羹Dir_Insert稼/直接插入排序i相ntj,t;for炎Aj+1=Aj匈;j-;Aj绞+1=t;.纸希尔排序希尔排剁序的基本思想是先取蛤一个小于n的整数d1筑作为第一个增量把文件杜的全部记录分成d1个型组。 所有距离为d1的怀倍数的记录放在同一个女组中。 先在各组内进行碰直接插入排序;然后,野取得第二个增量d2福一般取d1=n/2鸣,di+1=di/2帧。 如果结果为偶数,则则加1,保证di为奇数冀。 希尔排序是不稳争定的,希尔排序的执行阂时间依赖于增量序列,鳖其平均时间复杂度为O膝.代码如下:c展ppviewpla衡incopyvoid诞Shell/She谊ll排序inti,驶j,k,t;%2绕=0?k=n/2+造1:k=n/2;/疯保证增量为奇数whi械leforAi犬+k=Ai;i展=i-k;Ai+载k=t;ifbr驯eak;%2=0?锐k=k/2+1:k=辽k/2;二.选择迅排序选择排序的基吾本思想是每步从待排序估的记录中选出排序码最玩小的记录,顺序存放在需已排序的记录序列的后钥面,直到全部排完。 选定择排序中主要使用直接绪选择排序和堆排序。 盗.直接选择排序直劣接选择排序的过程是壤首先在所有记录中选出测序码最小的记录,把它赔与第1个记录交换,然羽后在其余的记录内选出欺排序码最小的记录,与褥第2个记录交换.鲁.依次类推,直到理所有记录排完为止。 螺无论文件初始状态如鸭何,在第i趟排序中选野出最小关键字的记录,已需要做n-i次比较,莹因此,总的比较次数为茸n/2=O。 当初始文杆件为正序时,移动次数虎为0;文件初态为反序诀时,每趟排序均要执行撤交换操作,总的移动次吾数取最大值3。 直接选舒择排序的平均时间复杂焉度为O。 直接选择排序匝是不稳定的。 代码如下驴:cppvi舷ewplaincop矫yvoidDir_C哆hoose/直接选协择排序intk,t汽;fort=Ai欢;Ai=Ak庇;Ak=t;揽.堆排序堆楞排序是一种树形选择排跟序,是对直接选择排序糕的有效改进。 n个关键枕字序列K1,K2览,.,Kn称为堆赵,当且仅当该序列满足鸥或,。 根结点的关键字者是堆里所有结点关键字淹中最小者,称为小根堆丽;根结点的关键字是堆锋里所有结点关键字中最周大者,称为大根堆。 骇若将此序列所存储的经向量R1.n看议作是一棵完全二叉树的鸯存储结构,则堆实质上偿是满足如下性质的完全炒二叉树树中任一非叶炮结点的关键字均不大于坑其左右孩子结点的关键娃字。 堆排序的关键敷步骤有两个一是如何协建立初始堆;二是当堆桨的根结点与堆的最后一因个结点交换后,如何对抠少了一个结点后的结点淘序列做调整,使之重新蕉成为堆。 堆排序的最坏扁时间复杂度为O,堆排蛆序的平均性能较接近于锣最坏性能。 由于建初始官堆所需的比较次数较多荷,所以堆排序不适宜于袋记录较少的文件。 堆排陪序是就地排序,辅助空轧间为O,它是不稳定的墟排序方法。 代码略.栽三.交换排序交换藻排序的基本思想是两喳两比较待排序记录的排源序码,并交换不满足顺嫁序要求的那写偶对,直龙到满足条件为止。 交换盖排序的主要方法有冒泡谈排序和快速排序.铺冒泡排序冒泡排序投将被排序的记录数组R夯1.n垂直排列倔,每个记录Ri看再作是重量为ki的气泡驼。 根据轻气泡不能在重策气泡之下的原则,从下琴往上扫描数组R;凡扫挨描到违反本原则的轻气墨泡,就使其向上漂浮揖。 如此反复进行,直学到最后任何两个气泡都音是轻者在上,重者在下谋为止。 冒泡排序的具体也过程如下第一步肘,先比较k1和k2,跌若k1k2,则交换盗k1和k2所在的记录驳,否则不交换。 继续对炊k2和k3重复上述过抡程,直到处理完kn-鹰1和kn。 这时最大的邻排序码记录转到了最后可位置,称第1次起泡,啸共执行n-1次比较。 玉与第一步类似,从卯k1和k2开始比较,靳到kn-2和kn-1澄为止,共执行n-2次茵比较。 依次类推,摇共做n-1次起泡,完在成整个排序过程。 侦若文件的初始状态是正婴序的,一趟扫描即可完影成排序。 所需关键字比歇较次数为n-1次,记汇录移动次数为0。 因此肚,冒泡排序最好的时间赢复杂度为O。 若初赦始文件是反序的,需要凳进行n-1趟排序。 每蜂趟排序要进行n-i次斩关键字的比较,且每次辐比较都必须移动记录三玖次来达到交换记录位置均。 在这种情况下,比较逊次数达到最大值n/2墒=O,移动次数也达到殷最大值3n/2=O。 诬因此,冒泡排序的最坏筹时间复杂度为O。 在虽然冒泡排序不一定要赢进行n-1趟,但由于渠它的记录移动次数较多奴,故平均性能比直接插遏入排序要差得多。 冒泡霜排序是就地排序,且它遭是稳定的。 代码如下:凹cppvie定wplaincopy征voidQP/优化衙的冒泡排序intc乳ount=0,t,f影lag;forbre颐ak;.快速排证序快速排序采用虱了一种分治的策略,通呛常称其为分治法,其基研本思想是将原问题分壤解为若干个规模更小但吞结构与原问题相似的子簿问题。 递归地解这些子属问题,然后将这些子问萄题的解组合为原问题的獭解。 快速排序的具体过痰程如下第一步,噬在待排序的n个记录中彝任取一个记录,以该记抑录的排序码为准,将所拷有记录分成两组,第1笆组各记录的排序码都小雷于等于该排序码,第2拱组各记录的排序码都大屑于该排序码,并把该记因录排在这两组中间。 堰第二步,采用同样的累方法,对左边的组和右搜边的组进行排序,直到肥所有记录都排到相应的遏位置为止。 代码如下:以cppvie脖wplaincopy宙voidswap/投交换函数intte妹mp=*a;*a=*至b;*b=temp;淹intpartit荷ionintm防iddle=/2,t帮emp,pivot,鬼i,j;/选择吏第一个元素,最后一个摩元素,中间元素中的中哥间值作为支点if sw仁ap;if swap;拈if swap;p击ivot=array阑middle;/快/选中支点swap;咱/将支点值换到倒数蛔第二个位置forw滚hile/交换两肖个元素temp=ar哇rayj;arr谷ayj=arra裕yi;array睁i=temp;耸else break;蔓swap;/页将支点换回i点,第一狱次分组结结束retu一rni;给出一种比众较简洁
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 企业如何避免财务数据造假的风险
- 酒店热菜摆盘技巧手册
- 2025重庆市綦江区住房和城乡建设委员会招聘全日制公益性岗位人员1人笔试备考试题及答案解析
- 中学生应当具备的胸怀宽广
- 2025浙江温州瑞安市司法局编外人员招聘1人考试含答案
- 2025浙江宁波慈溪市白沙路街道公办幼儿园招聘派遣制工作人员3人笔试备考试题及答案解析
- 石油工程压裂井设计原则
- 政治实验预案
- 心理辅导服务制度细则规程方案制度
- 2025西藏自治区山南市面向湖北专项招募“三支一扶”人员笔试含答案
- 污水处理厂人员培训方案
- 苏教版五年级上册数学分层作业设计 5.5 小数乘小数(附答案)
- 现货黄金购买合同模板
- 学术道德与学术规范
- 《机械基础》课件-V带传动
- 全国大学英语六级词汇表
- 中职学校实训室管理制度及流程
- JJG 4-2015钢卷尺行业标准
- 汾酒代理合同
- 小米企业质量管理手册
- 高中物理《相互作用》大单元集体备课
评论
0/150
提交评论