版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
第1章緒論
1.2算法及其描述
1.1什么是數(shù)據(jù)結(jié)構(gòu)1.3算法分析
本章小結(jié)1.4數(shù)據(jù)結(jié)構(gòu)+算法=程序
1.1.1數(shù)據(jù)結(jié)構(gòu)的定義1.1.2邏輯結(jié)構(gòu)類型
1.1.3存儲結(jié)構(gòu)類型1.1.4數(shù)據(jù)結(jié)構(gòu)和數(shù)據(jù)類型1.1什么是數(shù)據(jù)結(jié)構(gòu)
數(shù)據(jù):是所有能被輸入到計算機中,且能被計算機處理的符號的集合。它是計算機操作的對象的總稱,也是計算機處理的信息的某種特定的符號表示形式。
數(shù)據(jù)元素:是數(shù)據(jù)(集合)中的一個“個體”,是數(shù)據(jù)的基本單位。
1.1.1數(shù)據(jù)結(jié)構(gòu)的定義
數(shù)據(jù)對象:是具有相同性質(zhì)的若干個數(shù)據(jù)元素的集合。
例如,200402班為一個學(xué)生數(shù)據(jù)對象,而其中的“張三”是一個數(shù)據(jù)元素)。
數(shù)據(jù)結(jié)構(gòu):是指數(shù)據(jù)以及數(shù)據(jù)元素相互之間的聯(lián)系??梢钥醋魇窍嗷ブg存在著某種特定關(guān)系的數(shù)據(jù)元素的集合。因此,可時把數(shù)據(jù)結(jié)構(gòu)看成是帶結(jié)構(gòu)的數(shù)據(jù)元素的集合。
數(shù)據(jù)結(jié)構(gòu)包括如下幾個方面:
(1)數(shù)據(jù)元素之間的邏輯關(guān)系,即數(shù)據(jù)的邏輯結(jié)構(gòu)。
(2)數(shù)據(jù)元素及其關(guān)系在計算機存儲器中的存儲方式,即數(shù)據(jù)的存儲結(jié)構(gòu),也稱為數(shù)據(jù)的物理結(jié)構(gòu)。
(3)施加在該數(shù)據(jù)上的操作,即數(shù)據(jù)的運算。
例1.1
有一個學(xué)生表如表1.1所示。這個表中的數(shù)據(jù)元素是學(xué)生記錄,每個數(shù)據(jù)元素由四個數(shù)據(jù)項(即學(xué)號、姓別、性別和班號)組成。學(xué)號姓名性別班號1張斌男99018劉麗女990234李英女990120陳華男990212王奇男990126董強男99025王萍女9901表1.1學(xué)生表
該表中的記錄順序反映了數(shù)據(jù)元素之間的邏輯關(guān)系,用學(xué)號標(biāo)識每個學(xué)生記錄,這種邏輯關(guān)系可以表示為:
<1,8>,<8,34>,<34,20>,<20,12>,<12,26>,<26,5>
其中尖括號“<ai,ai+1>”表示元素ai和ai+1之間是相鄰的,即ai在ai+1之前,ai+1在ai之后。數(shù)據(jù)在計算機存儲器中的存儲方式就是存儲結(jié)構(gòu)。
C/C++語言中,通常采用結(jié)構(gòu)體數(shù)組和鏈表兩種方式實現(xiàn)其存儲結(jié)構(gòu)。存放學(xué)生表的結(jié)構(gòu)體數(shù)組Stud定義為:
struct
{ intno;/*存儲學(xué)號*/ charname[8];/*存儲姓名*/ charsex[2];/*存儲性別*/ charclass[4];/*存儲班號*/}Stud[7]={{1,“張斌”,“男”,“9901”},…,{5,"王萍","女","9901"}};結(jié)構(gòu)體數(shù)組Stud各元素在內(nèi)存中順序存放,即第i(1≤i≤6)個學(xué)生對應(yīng)的元素Stud[i]存放在第i+1個學(xué)生對應(yīng)的元素Stud[i+1]之前,Stud[i+1]正好在Stud[i]之后。9901女王萍5…9901男張斌1Stud[0]Stud[6]Stud數(shù)組起始地址
存放學(xué)生表的鏈表的結(jié)點類型StudType定義為:
typedef
struct
studnode{ intno; /*存儲學(xué)號*/ charname[8]; /*存儲姓名*/ charsex[2]; /*存儲性別*/ charclass[4]; /*存儲班號*/
struct
studnode*next;/*存儲指向下一個學(xué)生的指針*/}StudType;鏈表首結(jié)點地址head1張斌男99018劉麗女990234李英女990120陳華男990212王奇男990126董強男99025王萍女9901∧
學(xué)生表構(gòu)成的鏈表如右圖所示。其中的head為第一個數(shù)據(jù)元素的指針。學(xué)生表構(gòu)成的鏈表
對于“學(xué)生表”這種數(shù)據(jù)結(jié)構(gòu),可以進(jìn)行一系列的運算,例如,增加一個學(xué)生記錄、刪除一個學(xué)生記錄、查找性別為“女”的學(xué)生記錄、查找班號為“9902”的學(xué)生記錄等等。從前面介紹的兩種存儲結(jié)構(gòu)看到,同樣的運算,在不同的存儲結(jié)構(gòu)中,其實現(xiàn)過程是不同的。
例如,查找學(xué)號為20的學(xué)生的姓名:對于Stud數(shù)組,可以從Stud[0]開始比較,Stud[0].no不等于20,再與Stud[1].no比較,…,直到Stud[3].no等于20,返回Stud[3].name。對于head為首結(jié)點指針的鏈表,從head所指結(jié)點開始比較,head->no不等于20,從它的next得到下一個結(jié)點的地址,再與下一個結(jié)點的no域比較,…,直到某結(jié)點的no域等于20,返回其name域。
為了更確切地描述一種數(shù)據(jù)結(jié)構(gòu),通常采用二元組表示:
B=(K,R)
其中,B是一種數(shù)據(jù)結(jié)構(gòu),它由數(shù)據(jù)元素的集合K和K上二元關(guān)系的集合R所組成。其中:
K={ki|1≤i≤n,n≥0}R={rj|1≤j≤m,m≥0}
邏輯結(jié)構(gòu)的描述或表示:
其中:
ki表示集合K中的第i個結(jié)點或數(shù)據(jù)元素。
n為K中結(jié)點的個數(shù),特別地,若n=0,則K是一個空集,因而B也就無結(jié)構(gòu)可言,有時也可以認(rèn)為它具有任一結(jié)構(gòu)。
rj表示集合R中的第j個二元關(guān)系(后面均簡稱關(guān)系)。
m為R中關(guān)系的個數(shù),特別地,若m=0,則R是一個空集,表明集合K中的元結(jié)點間不存在任何關(guān)系,彼此是獨立的。序偶<x,y>(x,y∈K)x為第一結(jié)點,y為第二結(jié)點。
x為y的直接前驅(qū)結(jié)點(通常簡稱前驅(qū)結(jié)點)y為x的直接后繼結(jié)點(通常簡稱后繼結(jié)點)。若某個結(jié)點沒有前驅(qū)結(jié)點,則稱該結(jié)點為開始結(jié)點;若某個結(jié)點沒有后繼結(jié)點,則稱該結(jié)點為終端結(jié)點。說明:<x,y>表示有向關(guān)系,(x,y)表示無向關(guān)系。采用離散數(shù)學(xué)的表示方法。
例如,采用二元組表示例1.1的學(xué)生表。學(xué)生表中共有7個結(jié)點,依次用k1~k7表示,則對應(yīng)的二元組表示為B=(K,R),其中:
K={k1,k2,k3,k4,k5,k6,k7} R={r}//只有一種關(guān)系
r={<k1,k2>,<k2,k3>,<k3,k4>,<k4,k5>,<k5,k6>,<k6,k7>}又例如,有如下數(shù)據(jù)即一個矩陣:
對應(yīng)的二元組表示為B=(K,R),其中:
K={2,6,3,1,8,12,7,4,5,10,9,11}R={r1,r2}其中,r1表示行關(guān)系,r2表示列關(guān)系
r1={<2,6>,<6,3>,<3,1>,<8,12>,<12,7>,<7,4>,<5,10>,<10,9>,<9,11>}r2={<2,8>,<8,5>,<6,12>,<12,10>,<3,7>,<7,9>,<1,4>,<4,11>}一個二維數(shù)組
可以利用圖形形象地表示邏輯結(jié)構(gòu)。例如,上述“學(xué)生表”數(shù)據(jù)結(jié)構(gòu)用下圖的圖形表示。學(xué)生表數(shù)據(jù)結(jié)構(gòu)圖示
(1)線性結(jié)構(gòu)
結(jié)點之間關(guān)系:一對一。
特點:開始結(jié)點和終端結(jié)點都是惟一的,除了開始結(jié)點和終端結(jié)點以外,其余結(jié)點都有且僅有一個前驅(qū)結(jié)點,有且僅有一個后繼結(jié)點。順序表就是典型的線性結(jié)構(gòu)。1.1.2邏輯結(jié)構(gòu)類型
…
(2)樹形結(jié)構(gòu)
結(jié)點之間關(guān)系:一對多。
特點:開始結(jié)點惟一,終端結(jié)點不惟一。除終端結(jié)點以外,每個結(jié)點有一個或多個后續(xù)結(jié)點;除開始結(jié)點外,每個結(jié)點有且僅有一個前驅(qū)結(jié)點。
(3)圖形結(jié)構(gòu)
結(jié)點之間關(guān)系:多對多。
特點:沒有開始結(jié)點和終端結(jié)點,所有結(jié)點都可能有多個前驅(qū)結(jié)點和多個后繼結(jié)點。(2)鏈?zhǔn)酱鎯Ψ椒?/p>
(3)索引存儲方法(4)散列存儲方法
1.1.3存儲結(jié)構(gòu)類型(1)順序存儲方法
(1)數(shù)據(jù)類型高級程序語言中,一般須對程序中出現(xiàn)的每個變量、常量或表達(dá)式,明確說明它們所屬的數(shù)據(jù)類型。不同類型的變量,其所能取的值的范圍不同,所能進(jìn)行的操作不同。
數(shù)據(jù)類型是一個值的集合和定義在此集合上的一組操作的總稱。1.1.4數(shù)據(jù)結(jié)構(gòu)和數(shù)據(jù)類型
如C/C++中的int就是整型數(shù)據(jù)類型。它是所有整數(shù)的集合(在16位計算機中為-32768~32767的全體整數(shù))和相關(guān)的整數(shù)運算(如+、-、*、/等)。
(2)抽象數(shù)據(jù)類型
抽象數(shù)據(jù)類型(AbstractDataType簡寫為ADT)指的是用戶進(jìn)行軟件系統(tǒng)設(shè)計時從問題的數(shù)學(xué)模型中抽象出來的邏輯數(shù)據(jù)結(jié)構(gòu)和邏輯數(shù)據(jù)結(jié)構(gòu)上的運算,而不考慮計算機的具體存儲結(jié)構(gòu)和運算的具體實現(xiàn)算法。
抽象數(shù)據(jù)類型=數(shù)據(jù)元素集合+抽象運算例如,抽象數(shù)據(jù)類型復(fù)數(shù)的定義:ADTComplex{數(shù)據(jù)對象:
D={e1,e2|e1,e2均為實數(shù)}數(shù)據(jù)關(guān)系:
R1={<e1,e2>|e1是復(fù)數(shù)的實數(shù)部分,e2是復(fù)數(shù)的虛數(shù)部分}e1+e2i基本操作:
AssignComplex(&Z,v1,v2):構(gòu)造復(fù)數(shù)Z。
DestroyComplex(&Z):復(fù)數(shù)Z被銷毀。
GetReal(Z,&real):返回復(fù)數(shù)Z的實部值。
GetImag(Z,&Imag):返回復(fù)數(shù)Z的虛部值。
Add(z1,z2,&sum):返回兩個復(fù)數(shù)z1,z2的和。}ADTComplex1.2算法及其描述
1.2.1什么是算法
1.2.2算法描述1.2.1什么是算法
數(shù)據(jù)元素之間的關(guān)系有邏輯關(guān)系和物理關(guān)系,對應(yīng)的操作有邏輯結(jié)構(gòu)上的操作功能和具體存儲結(jié)構(gòu)上的操作實現(xiàn)。通常把具體存儲結(jié)構(gòu)上的操作實現(xiàn)步驟或過程稱為算法。算法的五個重要的特性
(1)有窮性:在有窮步之后結(jié)束。(2)確定性:無二義性。
(3)可行性:可通過基本運算有限次執(zhí)行來實現(xiàn)。(4)有輸入
(5)有輸出
例1.2
考慮下列兩段描述:(1)描述一
voidexam1() { n=2; while(n%2==0) n=n+2;
printf("%d\n",n); }華中科大考研題
(2)描述二
voidexam2() { y=0; x=5/y;
printf(“%d,%d\n”,x,y); }
這兩段描述均不能滿足算法的特征,試問它們違反了哪些特征?
解:(1)算法是一個死循環(huán),違反了算法的有窮性特征。
(2)算法包含除零錯誤,違反了算法的可行性特征。
1.2.2算法描述
本書中采用C/C++語言描述算法。說明:C++語言中提供了一種引用運算符“&”,引用是個別名,當(dāng)建立引用時,程序用另一個已定義的變量或?qū)ο?目標(biāo))的名字初始化它,從那時起,引用作為目標(biāo)的別名而使用,對引用的改動實際就是對目標(biāo)的改動。注意:TurboC不支持引用類型。編寫一個函數(shù)swap1(x,y),當(dāng)執(zhí)行語句swap1(a,b)時,交換a和b的值。
voidswap1(intx,inty){
int
tmp;
tmp=x;x=y;y=tmp;}
注意:a和b的值不會發(fā)生了交換。為此,采用指針的方式來回傳形參的值,需將上述函數(shù)改為:
voidswap2(int*x,int*y){
int
tmp;
tmp=*x; /*將x的值放在tmp中*/ *x=*y; /*將x所指的值改為*y*/*y=tmp;/*將y所指的值改為tmp*/}
上述函數(shù)的調(diào)用改為swap2(&a,&b),顯然遠(yuǎn)不如采用引用方式簡潔。所以本書后面很多算法都采用引用形參。引入“引用”的概念例如:
inta=4; /*a為普通的整型變量*/
int&b=a;/*b是a的引用變量*/
這里說明b變量是變量a的引用,b也等于4,之后這兩個變量同步改變。當(dāng)a改變時b也同步改變,同樣,當(dāng)b改變時a也同步改變。難點main(){
inta=2;
int&b=a;
printf("a=%d,b=%d\n",a,b);/*輸出:a=2,b=2*/b++;
printf("a=%d,b=%d\n",a,b);/*輸出:a=3,b=3*/a++;
printf("a=%d,b=%d\n",a,b);/*輸出:a=4,b=4*/}
引用常用于函數(shù)形參中,采用引用型形參時,在函數(shù)調(diào)用時將形參的改變回傳給實參,例如,有如下函數(shù)(其中的形參均為引用型形參):
voidswap(int&x,int&y)/*形參前的“&”符號不是指針運算符*/{
int
tmp=x;x=y;y=tmp}
當(dāng)用執(zhí)行語句swap(a,b)時,a和b的值發(fā)生了交換。
例1.3
編寫一個算法,讀入三個整數(shù)x,y和z的值,要求從大到小輸出這三個數(shù)。解:依次輸入x,y和z這三個整數(shù),通過比較交換后,使得x≥y≥z,然后輸出x,y,z。在算法中應(yīng)考慮對這三個元素作盡可能少的比較和移動,如下述算法在最壞的情況下只需進(jìn)行3次比較和7次移動。voidDescending(){printf("輸入x,y,z");
scanf("%d,%d,%d",&x,&y,&z);if(x<y){temp=x;x=y;y=temp;/*交換x,y,使x>=y*/}if(y<z){temp=z;z=y;/*使temp>z*/if(x>=temp)y=temp;
else{y=x;x=temp;}}
printf("%d,%d,%d\n",x,y,z);}1.3算法分析
1.3.1算法時間復(fù)雜度分析
1.3.2算法空間復(fù)雜度分析
一個算法是由控制結(jié)構(gòu)(順序、分支和循環(huán)三種)和原操作(指固有數(shù)據(jù)類型的操作)構(gòu)成的,則算法時間取決于兩者的綜合效果。1.3.1算法時間復(fù)雜度分析
控制語句1原操作控制語句n原操作…一個算法同一問題可以采用多種算法實現(xiàn)。如何比較算法執(zhí)行效率?
?算法描述的語言不同
?算法執(zhí)行的環(huán)境不同
?其他因素
所以不能用絕對執(zhí)行時間進(jìn)行比較為了便于比較同一問題的不同算法,通常從算法中選取一種對于所研究的問題來說是基本運算的原操作(以下將基本運算的原操作簡稱為基本運算)。算法執(zhí)行時間大致為基本運算所需的時間與其運算次數(shù)(也稱為頻度)的乘積。被視為算法基本運算的一般是最深層循環(huán)內(nèi)的語句。
在一個算法中,進(jìn)行基本運算的次數(shù)越少,其運行時間也就相對地越少;基本運算次數(shù)越多,其運行時間也就相對地越多。所以,通常把算法中包含基本運算次數(shù)的多少稱為算法的時間復(fù)雜度,也就是說,一個算法的時間復(fù)雜度是指該算法的基本運算次數(shù)。
算法中基本運算次數(shù)T(n)是問題規(guī)模n的某個函數(shù)f(n),記作:
T(n)=O(f(n))
記號“O”讀作“大O”,它表示隨問題規(guī)模n的增大算法執(zhí)行時間的增長率和f(n)的增長率相同?!癘”的形式定義為:
若f(n)是正整數(shù)n的一個函數(shù),則T(n)=O(f(n))表示存在一個正的常數(shù)M,使得當(dāng)n≥n0時都滿足:
|T(n)|≤M|f(n)|
也就是只求出T(n)的最高階,忽略其低階項和常系數(shù),這樣既可簡化T(n)的計算,又能比較客觀地反映出當(dāng)n很大時,算法的時間性能。例如,T(n)=3n2-5n+10000=O(n2)本質(zhì)上講,是一種最高數(shù)量級的比較
一個沒有循環(huán)的算法的基本運算次數(shù)與問題規(guī)模n無關(guān),記作O(1),也稱作常數(shù)階。一個只有一重循環(huán)的算法的基本運算次數(shù)與問題規(guī)模n的增長呈線性增大關(guān)系,記作O(n),也稱線性階。其余常用的還有平方階O(n2)、立方階O(n3)、對數(shù)階O(log2n)、指數(shù)階O(2n)等。
各種不同數(shù)量級對應(yīng)的值存在著如下關(guān)系:
O(1)<O(log2n)<O(n)<O(n*log2n)<O(n2)<O(n3)<O(2n)<O(n!)
例1.4
求兩個n階方陣的相加C=A+B的算法如下,分析其時間復(fù)雜度。
#defineMAX20/*定義最大的方階*/voidmatrixadd(int
n,intA[MAX][MAX],
int
B[MAX][MAX],intC[MAX][MAX]){ inti,j; for(i=0;i<n;i++) for(j=0;j<n;j++) C[i][j]=A[i][j]+B[i][j];}
該算法中的基本運算是兩重循環(huán)中最深層的語句C[i][j]=A[i][j]+B[i][j],分析它的頻度,即:
T(n)==O(n2)例1.5
分析以下算法的時間復(fù)雜度。
int
fun(intn){
inti,j,k,s;s=0;for(i=0;i<=n;i++)for(j=0;j<=i;j++) for(k=0;k<=j;k++)s++;return(s);}基本語句或基本操作
解:該算法的基本操作是語句s++,其頻度:
T(n)==O(n3)則該算法的時間復(fù)雜度為O(n3)。例1.6
分析以下算法的時間復(fù)雜度。voidfunc(intn){
inti=0,s=0;while(s<n){i++; s=s+i;}}基本語句解:對于while循環(huán)語句,設(shè)執(zhí)行的次數(shù)為m,i從0開始遞增1,直到m為止,有:
s=0+1+2+…+m-1=m(m-1)/2,并滿足s=m(m-1)/2<n,則有m<。
T(n)=O()
所以,該算法的時間復(fù)雜度為O()。
例1.7
有如下算法:
voidfun(int
a[],int
n,intk)/*數(shù)組a共有n個元素*/{
inti; if(k==n-1) for(i=0;i<n;i++)
printf("%d\n",a[i]); else {for(i=k;i<n;i++) a[i]=a[i]+i*i; fun(a,n,k+1); }}
調(diào)用上述算法的語句為fun(a,n,0),求其時間復(fù)雜度。解:設(shè)fun(a,n,0)的時間復(fù)雜度為T(n),則fun(a,n,k)的執(zhí)行時間為T1(n,k),由fun()算法可知:
T1(n,k)=n 當(dāng)k=n-1時
T1(n,k)=(n-k)+T1(n,k+1)其他情況
則
T(n)=T1(n,0)=n+T1(n,1)=n+(n-1)+T1(n,2)
=…=n+(n-1)+…+2+T1(n,n-1)
=n+(n-1)+…+2+n
=O(n2)
所以調(diào)用fun(a,n,0)的時間復(fù)雜度為O(n2)。
空間復(fù)雜度是對一個算法在運行過程中臨時占用的存儲空間大小的量度,一般也作為問題規(guī)模n的函數(shù),以數(shù)量級形式給出,記作:
S(n)=O(g(n))
若所需額外空間相對于輸入數(shù)據(jù)量來說是常數(shù),則稱此算法為原地工作。若所需存儲量依賴于特定的輸入,則通常按最壞情況考慮。1.3.2算法空間復(fù)雜度分析
返回
例1.8
分析例1.4和例1.5的空間復(fù)雜度。解:由于這兩個算法中臨時變量的個數(shù)與問題規(guī)模n無關(guān),所以空間復(fù)雜度均為O(1)。1.4數(shù)據(jù)結(jié)構(gòu)+算法=程序
數(shù)據(jù)結(jié)構(gòu)對算法的影響主要在兩方面(1)數(shù)據(jù)結(jié)構(gòu)的存儲能力數(shù)據(jù)結(jié)構(gòu)存儲能力強、存儲信息多=>算法將會較好設(shè)計(時間少),存儲空間大。時間和空間的平衡(2)定義在數(shù)據(jù)結(jié)構(gòu)上的操作在數(shù)據(jù)結(jié)構(gòu)上定義基本操作=>算法調(diào)用這些基本操作?;静僮髟酵暾?,算法設(shè)計就越容易算法基本操作基本算法應(yīng)用程序應(yīng)用程序是通過調(diào)用基本算法實現(xiàn)的選擇數(shù)據(jù)結(jié)構(gòu)需要考慮的幾個方面:(1)數(shù)據(jù)結(jié)構(gòu)要適應(yīng)問題的狀態(tài)描述(2)數(shù)據(jù)結(jié)構(gòu)應(yīng)與所選擇的算法相適應(yīng)(3)數(shù)據(jù)結(jié)構(gòu)的選擇同時要兼顧程序設(shè)計的方便(4)靈活應(yīng)用已有知識例如,有若干學(xué)生數(shù)據(jù)(學(xué)生數(shù)小于50),每個學(xué)生數(shù)據(jù)包含學(xué)號(每個學(xué)生學(xué)號是惟一的,但學(xué)生記錄不一定按學(xué)號順序存放)、姓名、班號和若干門課程成績(每個學(xué)生所選課程數(shù)目可能不等,但最多不超過6門)。要求設(shè)計一個程序輸出每個學(xué)生的學(xué)號、姓名和平均分以及每門課程(課程編號從1~6)的平均分。
設(shè)計方案1:將學(xué)生的全部數(shù)據(jù)項放在一個表中,一個學(xué)生的全部數(shù)據(jù)對應(yīng)一條記錄。由于課程最多可選6門,對應(yīng)的成績項也應(yīng)有6個。對應(yīng)的數(shù)據(jù)結(jié)構(gòu)如下:
structstud
{
intno; /*學(xué)號*/
charname[10]; /*姓名*/
int
bno; /*班號*/
intdeg1; /*課程1分?jǐn)?shù)*/
intdeg2; /*課程2分?jǐn)?shù)*/
intdeg3; /*課程3分?jǐn)?shù)*/
intdeg4; /*課程4分?jǐn)?shù)*/
intdeg5; /*課程5分?jǐn)?shù)*/
intdeg6; /*課程6分?jǐn)?shù)*/
};nonamebnodeg1deg2deg3deg4deg5deg61張斌99017882639285838劉麗9902659572788079………………………特點:存儲空間:中(若學(xué)生沒有選該課程,對應(yīng)空間仍存在)算法時間:少算法簡潔性差:算法完全依賴數(shù)據(jù)結(jié)構(gòu)
溫馨提示
- 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)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 土地承包合同
- 學(xué)期初的班級目標(biāo)設(shè)置計劃
- 活動課程設(shè)計模型圖
- 精餾塔正丁醇課程設(shè)計
- 觀潮 課程設(shè)計
- 牛頭刨床課程設(shè)計角度
- “十三五”中國經(jīng)濟(jì)發(fā)展前瞻六問
- 樓梯燈雙控電路課程設(shè)計
- 成都中醫(yī)藥大學(xué)《診斷學(xué)基礎(chǔ)實驗》2022-2023學(xué)年第一學(xué)期期末試卷
- 成都中醫(yī)藥大學(xué)《衛(wèi)生檢驗綜合技術(shù)》2022-2023學(xué)年第一學(xué)期期末試卷
- 2023-2024學(xué)年廣東省揭陽市高一下學(xué)期期末教學(xué)質(zhì)量測試數(shù)學(xué)試卷(含解析)
- 鋼結(jié)構(gòu)工程施工(第五版) 課件 2項目三 普通螺栓
- 小兒感冒的診治課件
- 構(gòu)建水利安全生產(chǎn)風(fēng)險管控六項機制工作指導(dǎo)手冊2023版
- JT∕T 795-2023 事故汽車修復(fù)技術(shù)規(guī)范
- 2024年廣西職業(yè)院校技能大賽高職組《英語口語》賽項賽題(Presentation)
- 作文稿紙A4打印模板
- 大學(xué)生創(chuàng)新創(chuàng)業(yè)項目計劃書醫(yī)療
- 歐洲文明與世界遺產(chǎn)智慧樹知到期末考試答案2024年
- 23年11月14日江蘇省南京鼓樓八上語文期中【學(xué)生】
- 中醫(yī)合理膳食知識講座
評論
0/150
提交評論