版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
算法設(shè)計(jì)與分析實(shí)驗(yàn)報(bào)告教師:學(xué)號:姓名:實(shí)驗(yàn)一:串匹配問題實(shí)驗(yàn)?zāi)康模?1)深刻理解并掌握蠻力法的設(shè)計(jì)思想;(2)提高應(yīng)用蠻力法設(shè)計(jì)算法的技能;(3)理解這樣一個(gè)觀點(diǎn):用蠻力法設(shè)計(jì)的算法,一般來說,經(jīng)過適度的努力后,都可以對算法的第一個(gè)版本進(jìn)行一定程度的改良,改進(jìn)其時(shí)間性能。實(shí)驗(yàn)要求:(1)實(shí)現(xiàn)BF算法;(2)實(shí)現(xiàn)BF算法的改進(jìn)算法:KMP算法和BM算法; (3)對上述3個(gè)算法進(jìn)行時(shí)間復(fù)雜性分析,并設(shè)計(jì)實(shí)驗(yàn)程序驗(yàn)證分析結(jié)果。#include"stdio.h"#include"conio.h"#include<iostream>//BF算法intBF(chars[],chart[]){inti;inta;intb;intm,n;m=strlen(s);//主串長度n=strlen(t);//子串長度printf("\n*****BF*****算法\n");for(i=0;i<m;i++){b=0;a=i;while(s[a]==t[b]&&b!=n){a++;b++;}if(b==n){printf("查找成功!!\n\n");return0;}}printf("找不到%s\n\n",t);return0;}//前綴函數(shù)值,用于KMP算法intGETNEXT(chart[],intb){intNEXT[10];NEXT[0]=-1;intj,k;j=0;k=-1;while(j<strlen(t)){if((k==-1)||(t[j]==t[k])){j++;k++;NEXT[j]=k;}elsek=NEXT[k];}b=NEXT[b];returnb;}//KMP算法intKMP(chars[],chart[]){inta=0;intb=0;intm,n;m=strlen(s);//主串長度n=strlen(t);//子串長度printf("\n*****KMP算法*****\n");while(a<=m-n){while(s[a]==t[b]&&b!=n){a++;b++;}if(b==n){printf("查找成功!!\n\n");return0;}b=GETNEXT(t,b);a=a-b;if(b==-1)b++;}printf("找不到%s\n\n",t);return0;}//滑動距離函數(shù),用于BM算法intDIST(chart[],charc){inti=0,x=1;intn;n=strlen(t);while(x&&i!=n-1){if(t[i]==c)x=0;elsei++;}if(i!=n-1)n=n-1-i;returnn;}//BM算法結(jié)果分析與體會:
glibc里的strstr函數(shù)用的是brute-force(naive)算法,它與其它算法的區(qū)別是strstr不對pattern(needle)進(jìn)行預(yù)處理,所以用起來很方便。理論復(fù)雜度O(mn),
實(shí)際上,平均復(fù)雜度為O(n),
大部分情況下高度優(yōu)化的算法性能要優(yōu)于基于自動機(jī)的匹配算法,BF有一個(gè)重要性質(zhì)是事先不用知道串的長度,而基于跳躍的算法是需要用字符串長度來判斷結(jié)束位置的。實(shí)驗(yàn)二:最近對問題實(shí)驗(yàn)?zāi)康模?1)進(jìn)一步掌握遞歸算法的設(shè)計(jì)思想以及遞歸程序的調(diào)試技術(shù);(2)理解這樣一個(gè)觀點(diǎn):分治與遞歸經(jīng)常同時(shí)應(yīng)用在算法設(shè)計(jì)之中。實(shí)驗(yàn)要求:(1)分別用蠻力法和分治法求解最近對問題; (2)分析算法的時(shí)間性能,設(shè)計(jì)實(shí)驗(yàn)程序驗(yàn)證分析結(jié)論。ClosestPair1.java
//蠻力算法
import
java.util.*;
public
class
ClosestPair1
{
public
static
void
main(String[]
args)
{
/**
*輸入需要比較的點(diǎn)的對數(shù)存在變量n中
*/
Scanner
in=new
Scanner(System.in);
System.out.println("How
many
pairs
of
points
to
compare?(有多少對點(diǎn)需要比較?)");
int
n=in.nextInt();
int[]
x=new
int[n];
int[]
y=new
int[n];
/**
*輸入這些點(diǎn)的橫坐標(biāo)和縱坐標(biāo)分別存儲在x[n]和y[n]
*/
System.out.println("Please
enter
these
points,X-coordinate(請輸入這些點(diǎn),橫坐標(biāo)):");
for(int
i=0;i<n;i++)
{
x[i]=in.nextInt();
}
System.out.println("Please
enter
these
points,Y-coordinate(請輸入這些點(diǎn),縱坐標(biāo)):");
for(int
i=0;i<n;i++)
{
y[i]=in.nextInt();
}
double
minDist=Double.POSITIVE_INFINITY;
double
d;
int
indexI=0;
int
indexJ=0;
/**
*求解最近對距離存在minDist中
*/
double
startTime=System.currentTimeMillis();//startTime
for(int
i=0;i<n-1;i++)
{
for(int
j=i+1;j<n;j++)
{
d=Math.sqrt((x[i]-x[j])*(x[i]-x[j])+(y[i]-y[j])*(y[i]-y[j]));
if(d<minDist)
{
minDist=d;
indexI=i;
indexJ=j;
}
}
}
double
endTime=System.currentTimeMillis();//endTime
/**
*打印輸出最后求出的結(jié)果,最近的是哪兩個(gè)點(diǎn),以及最近距離和程序用的時(shí)間
*/
System.out.println("The
closest
pair
is:("+x[indexI]+","+y[indexI]+")
and
("+x[indexJ]+","+y[indexJ]+")");
System.out.println("The
closest
distance
is
"+minDist);
System.out.println("Basic
Statements
take(基本語句用時(shí))
"+(endTime-startTime)+"
milliseconds!");
}
}
ClosestPair2.java
//分治算法
import
java.util.*;
public
class
ClosestPair2
{
public
static
void
main(String[]
args)
{
/**
*輸入需要比較的點(diǎn)的對數(shù)存在變量n中
*/
Scanner
in=new
Scanner(System.in);
System.out.println("How
many
pairs
of
points
to
compare?(有多少對點(diǎn)需要比較?)");
int
n=in.nextInt();
/**
*輸入這些點(diǎn)的橫坐標(biāo)和縱坐標(biāo),存儲在點(diǎn)數(shù)組S[n]中
*/
System.out.println("Please
enter
these
points,X-coordinate
and
Y-coordinate.(請輸入這些點(diǎn),x坐標(biāo)和y坐標(biāo)):");
Point[]
S=new
Point[n];
double
startTime=System.currentTimeMillis();//starttime
for(int
i=0;i<n;i++)
{
int
x=in.nextInt();
int
y=in.nextInt();
S[i]=new
Point(x,y);
System.out.println("("+S[i].getX()+","+S[i].getY()+")");
}
/**
*求出這點(diǎn)的x坐標(biāo)的中位數(shù)mid
*/
int
minX=(int)Double.POSITIVE_INFINITY;
int
maxX=(int)Double.NEGATIVE_INFINITY;
for(int
i=0;i<n;i++)
{
if(S[i].getX()<minX)
minX=S[i].getX();
if(S[i].getX()>maxX)
maxX=S[i].getX();
}
int
mid=(minX+maxX)/2;
/**
*以mid為界把S中的點(diǎn)分為兩組分別存放在范型數(shù)組列表point1和point2中
*/
ArrayList<Point>
point1=new
ArrayList<Point>();
ArrayList<Point>
point2=new
ArrayList<Point>();
for(int
i=0;i<n;i++)
{
if(S[i].getX()<=mid)
point1.add(S[i]);
else
point2.add(S[i]);
}
/**
*將范型數(shù)組列表轉(zhuǎn)換為數(shù)組類型S1和S2
*/
Point[]
S1=new
Point[point1.size()];
Point[]
S2=new
Point[point2.size()];
point1.toArray(S1);
point2.toArray(S2);
/**
*將S1和S2中的點(diǎn)按x
坐標(biāo)升序排列
*/
sortX(S1);
sortX(S2);
/**
*打印輸出排序后S1和S2的點(diǎn)
*/
System.out.print("The
points
in
S1
are:");
for(int
i=0;i<S1.length;i++)
System.out.print("("+S1[i].getX()+","+S1[i].getY()+")
");
System.out.println();
System.out.print("The
points
in
S2
are:");
for(int
i=0;i<S2.length;i++)
System.out.print("("+S2[i].getX()+","+S2[i].getY()+")
");
System.out.println();
/**
*求S1中點(diǎn)的最近對及其距離并打印輸出結(jié)果
*/
double
minDist1=Double.POSITIVE_INFINITY;
int
indexI1=0;
int
indexJ1=0;
for(int
i=0;i<S1.length-1;i++)
{
for(int
j=i+1;j<S1.length;j++)
{
double
d=Math.sqrt(Math.pow((S1[i].getX()-S1[j].getX()),2)+Math.pow((S1[i].getY()-S1[j].getY()),2));
if(d<minDist1)
{
minDist1=d;
indexI1=i;
indexJ1=j;
}
}
}
System.out.println("The
closest
pair
in
S1
is:
"+"("+S1[indexI1].getX()+","+S1[indexI1].getY()+")"+
"and("+S1[indexJ1].getX()+","+S1[indexJ1].getY()+")"+",and
the
distance
is
"+minDist1);
/**
*求S2中點(diǎn)的最近對及其距離并打印輸出結(jié)果
*/
double
minDist2=Double.POSITIVE_INFINITY;
int
indexI2=0;
int
indexJ2=0;
for(int
i=0;i<S2.length-1;i++)
{
for(int
j=i+1;j<S2.length;j++)
{
double
d=Math.sqrt(Math.pow((S2[i].getX()-S2[j].getX()),2)+Math.pow((S2[i].getY()-S2[j].getY()),2));
if(d<minDist2)
{
minDist2=d;
indexI2=i;
indexJ2=j;
}
}
}
System.out.println("The
closest
pair
in
S2
is:
"+"("+S2[indexI2].getX()+","+S2[indexI2].getY()+")"+
"and("+S2[indexJ2].getX()+","+S2[indexJ2].getY()+")"+",and
the
distance
is
"+minDist2);
double
d1=Math.min(minDist1,minDist2);
/**
*求出S1和S2中點(diǎn)的橫坐標(biāo)離小于d1的所有點(diǎn)分別存在P1[]和P2[]中
*/
ArrayList<Point>
pp1=new
ArrayList<Point>();
ArrayList<Point>
pp2=new
ArrayList<Point>();
for(int
i=0;i<S1.length;i++)
{
if((mid-S1[i].getX())<d1)
pp1.add(S1[i]);
}
for(int
i=0;i<S2.length;i++)
{
if((S2[i].getX()-mid)<d1)
pp2.add(S2[i]);
}
Point[]
P1=new
Point[pp1.size()];
Point[]
P2=new
Point[pp2.size()];
pp1.toArray(P1);
pp2.toArray(P2);
/**將P1和P2中的點(diǎn)按Y坐標(biāo)升序排列
*/
sortY(P1);
sortY(P2);
/
*求解P1和P2兩者之間可能的最近對距離
*/
double
d2=Double.POSITIVE_INFINITY;
for(int
i=0;i<P1.length;i++)
{
for(int
j=0;j<P2.length;j++)
{
if(Math.abs(P1[i].getY()-P2[j].getY())<d1)
{
double
temp=Math.sqrt(Math.pow((P1[i].getX()-P2[j].getX()),2)+Math.pow((P1[i].getX()-P2[j].getX()),2));
if(temp<d2)
d2=temp;
}
}
}
double
endTime=System.currentTimeMillis();//endtime
/**
*打印輸出最后求出的結(jié)果,最近的是哪兩個(gè)點(diǎn),以及最近距離和程序用的時(shí)間
*/
System.out.print("The
points
in
P1
are:");
for(int
i=0;i<P1.length;i++)
System.out.print("("+P1[i].getX()+","+P1[i].getY()+")
");
System.out.println();
System.out.print("The
points
in
P2
are:");
for(int
i=0;i<P2.length;i++)
System.out.print("("+P2[i].getX()+","+P2[i].getY()+")
");
System.out.println();
System.out.println("d2="+d2);
double
minDist=Math.min(d1,d2);
System.out.println("The
closest
distance
is
"+minDist);
System.out.println("Basic
Statements
take(基本語句用時(shí))
"+(endTime-startTime)+"
milliseconds!");
}
/**
*設(shè)計(jì)按點(diǎn)Point的x坐標(biāo)升序排列的函數(shù)sortX
*/
public
static
void
sortX(Point[]
p)
{
for(int
i=0;i<p.length-1;i++)
{
for(int
j=0;j<p.length-1-i;j++)
{
if(p[j].getX()>p[j+1].getX())
{
int
t=p[j].getX();
p[j].setX(p[j+1].getX());
p[j+1].setX(t);
int
n=p[j].getY();
p[j].setY(p[j+1].getY());
p[j+1].setY(n);
}
}
}
}
/**
*設(shè)計(jì)按點(diǎn)Point的y坐標(biāo)升序排列的函數(shù)sortY
*/
public
static
void
sortY(Point[]
p)
{
for(int
i=0;i<p.length-1;i++)
{
for(int
j=0;j<p.length-1-i;j++)
{
if(p[j].getY()>p[j+1].getY())
{
int
t=p[j].getY();
p[j].setY(p[j+1].getY());
p[j+1].setY(t);
int
n=p[j].getX();
p[j].setX(p[j+1].getX());
p[j+1].setX(n);
}
}
}
}
}
/**
*建立自己的類Point
*/
class
Point
implements
Cloneable
{
public
Point()
{
x=0;
y=0;
}
public
Point(int
x,int
y)
{
this.x=x;
this.y=y;
}
public
void
setX(int
x)
{
this.x=x;
}
public
void
setY(int
y)
{
this.y=y;
}
public
int
getX()
{
return
x;
}
public
int
getY()
{
return
y;
}
private
int
x;
private
int
y;
}實(shí)驗(yàn)結(jié)果與結(jié)論:算法復(fù)雜度分析:為提高算法效率,在算法中采用預(yù)排序技術(shù),即在使用分治法之前,預(yù)先將S中的n個(gè)點(diǎn)依其y坐標(biāo)排序好。經(jīng)過預(yù)排序處理后的算法所需的計(jì)算時(shí)間T(n)滿足遞歸方程:當(dāng)n小于4時(shí),T(n)=O(1);當(dāng)n大于等于4時(shí),T(n)=2T(n/2)+O(n)。由此易知,T(n)=O(nlogn)。預(yù)排序所需的計(jì)算時(shí)間顯然為O(nlogn)。因此,整個(gè)算法所需的計(jì)算時(shí)間為O(nlogn)。在漸近的意義下,此算法已是最優(yōu)算法。實(shí)驗(yàn)三:8枚硬幣問題實(shí)驗(yàn)?zāi)康模海?)深刻理解并掌握減治法的設(shè)計(jì)思想并能熟練運(yùn)用; (2)提高應(yīng)用減治法設(shè)計(jì)算法的技能;理解這樣一個(gè)觀點(diǎn):建立正確的模型對于問題的求解是非常重要的。實(shí)驗(yàn)要求:(1)、設(shè)計(jì)減治算法實(shí)現(xiàn)8枚硬幣問題; (2)、設(shè)計(jì)實(shí)驗(yàn)程序,考察用減治技術(shù)設(shè)計(jì)的算法是否高效;(3)、擴(kuò)展算法,使之能處理n枚硬幣中有1枚假幣的問題。#include<stdio.h>#include<stdlib.h>intFindmax(floata[],intn,intm)//用天平比較1~3次即可{floattemp=a[n];intadr=n;for(inti=n;i<m;i++){if(temp<a[i]){temp=a[i];adr=i;break;}}returnadr;}intFindmin(floata[],intn,intm)//用天平比較1~3次即可{floattemp=a[n];intadr=n;for(inti=n;i<m;i++){if(temp>a[i]){temp=a[i];break;}}returnadr;}intDevide(floata[]){floatleft0=0.0;floatright0=0.0;floatleft1=0.0;floatright1=0.0;intadr=0;inti,j;//先比較前四個(gè)和后四個(gè)硬幣for(i=0;i<8;i++){if(i<4)left0+=a[i];elseright0+=a[i];}//此處用天枰比較一次即可if(left0<right0)//若Weight(1234)<Weight(5678){for(i=0;i<4;i++){if(i<2)left1+=a[i];elseright1+=a[i];}if(left1!=right1)//若Weight(12)!=Weight(34),則說明假幣在前四個(gè)當(dāng)中,而且假幣Weight(假)<Weight(真){adr=Findmin(a,0,4);//找到其中最輕的便是假的}else//若Weight(12)==Weight(34),則說明假幣在后四個(gè)當(dāng)中,而且假幣Weight(假)>Weight(真){adr=Findmax(a,4,8);//找到其中最重的便是假的}}else//若Weight(1234)>Weight(5678){for(i=0;i<4;i++){if(i<2)left1+=a[i];elseright1+=a[i];}if(left1!=right1)//若Weight(12)!=Weight(34),則說明假幣在前四個(gè)當(dāng)中,而且假幣Weight(假)>Weight(真){adr=Findmax(a,0,4);//找到其中最重的便是假的}else//若Weight(12)==Weight(34),則說明假幣在后四個(gè)當(dāng)中,而且假幣Weight(假)<Weight(真){adr=Findmin(a,4,8);//找到其中最輕的便是假的}}returnadr;}intmain(){inti=1;floata[8]={0};printf("請輸入8枚硬幣的重量:");for(i=0;i<8;i++){scanf("%f",&a[i])}printf("假幣的位置為:%d\n",Devide(a)+1);system("pause");return0;}結(jié)果分析與體會:通過硬幣問題,讓我更加理解了減治法的使用,讓我對減治法有了更深的理解,對于以后的編程思想有了更深的研究。
論大學(xué)生寫作能力寫作能力是對自己所積累的信息進(jìn)行選擇、提取、加工、改造并將之形成為書面文字的能力。積累是寫作的基礎(chǔ),積累越厚實(shí),寫作就越有基礎(chǔ),文章就能根深葉茂開奇葩。沒有積累,胸?zé)o點(diǎn)墨,怎么也不會寫出作文來的。寫作能力是每個(gè)大學(xué)生必須具備的能力。從目前高校整體情況上看,大學(xué)生的寫作能力較為欠缺。一、大學(xué)生應(yīng)用文寫作能力的定義那么,大學(xué)生的寫作能力究竟是指什么呢?葉圣陶先生曾經(jīng)說過,“大學(xué)畢業(yè)生不一定能寫小說詩歌,但是一定要寫工作和生活中實(shí)用的文章,而且非寫得既通順又扎實(shí)不可?!睂τ诖髮W(xué)生的寫作能力應(yīng)包含什么,可能有多種理解,但從葉圣陶先生的談話中,我認(rèn)為:大學(xué)生寫作能力應(yīng)包括應(yīng)用寫作能力和文學(xué)寫作能力,而前者是必須的,后者是“不一定”要具備,能具備則更好。眾所周知,對于大學(xué)生來說,是要寫畢業(yè)論文的,我認(rèn)為寫作論文的能力可以包含在應(yīng)用寫作能力之中。大學(xué)生寫作能力的體現(xiàn),也往往是在撰寫畢業(yè)論文中集中體現(xiàn)出來的。本科畢業(yè)論文無論是對于學(xué)生個(gè)人還是對于院系和學(xué)校來說,都是十分重要的。如何提高本科畢業(yè)論文的質(zhì)量和水平,就成為教育行政部門和高校都很重視的一個(gè)重要課題。如何提高大學(xué)生的寫作能力的問題必須得到社會的廣泛關(guān)注,并且提出對策去實(shí)施解決。二、造成大學(xué)生應(yīng)用文寫作困境的原因:(一)大學(xué)寫作課開設(shè)結(jié)構(gòu)不合理。就目前中國多數(shù)高校的學(xué)科設(shè)置來看,除了中文專業(yè)會系統(tǒng)開設(shè)寫作的系列課程外,其他專業(yè)的學(xué)生都只開設(shè)了普及性的《大學(xué)語文》課。學(xué)生寫作能力的提高是一項(xiàng)艱巨復(fù)雜的任務(wù),而我們的課程設(shè)置僅把這一任務(wù)交給了大學(xué)語文教師,可大學(xué)語文教師既要在有限課時(shí)時(shí)間內(nèi)普及相關(guān)經(jīng)典名著知識,又要適度提高學(xué)生的鑒賞能力,且要教會學(xué)生寫作規(guī)律并提高寫作能力,任務(wù)之重實(shí)難完成。(二)對實(shí)用寫作的普遍性不重視?!按髮W(xué)語文”教育已經(jīng)被嚴(yán)重地“邊緣化”。目前對中國語文的態(tài)度淡漠,而是呈現(xiàn)出全民學(xué)英語的大好勢頭。中小學(xué)如此,大學(xué)更是如此。對我們的母語中國語文,在大學(xué)反而被漠視,沒有相關(guān)的課程的設(shè)置,沒有系統(tǒng)的學(xué)習(xí)實(shí)踐訓(xùn)練。這其實(shí)是國人的一種偏見。應(yīng)用寫作有它自身的規(guī)律和方法。一個(gè)人學(xué)問很大,會寫小說、詩歌、戲劇等,但如果不曉得應(yīng)用文寫作的特點(diǎn)和方法,他就寫不好應(yīng)用文。(三)部分大學(xué)生學(xué)習(xí)態(tài)度不端正。很多非中文專業(yè)的大學(xué)生對寫作的學(xué)習(xí)和訓(xùn)練都只是集中在《大學(xué)語文》這一門課上,大部分學(xué)生只愿意被動地接受大學(xué)語文老師所講授的文學(xué)經(jīng)典故事,而對于需要學(xué)生動手動腦去寫的作文,卻是盡可能應(yīng)付差事,這樣勢必不能
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五版房地產(chǎn)投資信托基金還款協(xié)議范本3篇
- 2025年外研版八年級科學(xué)下冊階段測試試卷含答案
- 工程分包安全生產(chǎn)合同
- 2025年滬教版九年級科學(xué)下冊月考試卷含答案
- 上海交通大學(xué)思源計(jì)劃項(xiàng)目協(xié)議書
- 攝像機(jī)影視器材租賃合同范本
- 酒店勞動合同范本
- 2025年人教版選修3物理上冊月考試卷含答案
- 2025年人教A新版七年級物理上冊階段測試試卷含答案
- 2025年華東師大版必修1地理上冊階段測試試卷含答案
- 不同茶葉的沖泡方法
- 光伏發(fā)電并網(wǎng)申辦具體流程
- 基本藥物制度政策培訓(xùn)課件
- 2025年中國華能集團(tuán)限公司校園招聘高頻重點(diǎn)提升(共500題)附帶答案詳解
- 建筑勞務(wù)專業(yè)分包合同范本(2025年)
- GB/T 45002-2024水泥膠砂保水率測定方法
- 廣東省廣州海珠區(qū)2023-2024學(xué)年八年級上學(xué)期期末數(shù)學(xué)試卷(含答案)
- 飛行原理(第二版) 課件 第10章 高速空氣動力學(xué)基礎(chǔ)
- 廣西《乳腺X射線數(shù)字化體層攝影診療技術(shù)操作規(guī)范》
- 山西省2024年中考道德與法治真題試卷(含答案)
- 五年(2020-2024)高考地理真題分類匯編(全國版)專題12區(qū)域發(fā)展解析版
評論
0/150
提交評論