![《算法設(shè)計(jì)與分析基礎(chǔ)》(Python語(yǔ)言描述) 課件 第2章常用的數(shù)據(jù)結(jié)構(gòu)及其應(yīng)用2_第1頁(yè)](http://file4.renrendoc.com/view12/M03/03/18/wKhkGWcdoPOAGlOeAAGFYbfNZQU939.jpg)
![《算法設(shè)計(jì)與分析基礎(chǔ)》(Python語(yǔ)言描述) 課件 第2章常用的數(shù)據(jù)結(jié)構(gòu)及其應(yīng)用2_第2頁(yè)](http://file4.renrendoc.com/view12/M03/03/18/wKhkGWcdoPOAGlOeAAGFYbfNZQU9392.jpg)
![《算法設(shè)計(jì)與分析基礎(chǔ)》(Python語(yǔ)言描述) 課件 第2章常用的數(shù)據(jù)結(jié)構(gòu)及其應(yīng)用2_第3頁(yè)](http://file4.renrendoc.com/view12/M03/03/18/wKhkGWcdoPOAGlOeAAGFYbfNZQU9393.jpg)
![《算法設(shè)計(jì)與分析基礎(chǔ)》(Python語(yǔ)言描述) 課件 第2章常用的數(shù)據(jù)結(jié)構(gòu)及其應(yīng)用2_第4頁(yè)](http://file4.renrendoc.com/view12/M03/03/18/wKhkGWcdoPOAGlOeAAGFYbfNZQU9394.jpg)
![《算法設(shè)計(jì)與分析基礎(chǔ)》(Python語(yǔ)言描述) 課件 第2章常用的數(shù)據(jù)結(jié)構(gòu)及其應(yīng)用2_第5頁(yè)](http://file4.renrendoc.com/view12/M03/03/18/wKhkGWcdoPOAGlOeAAGFYbfNZQU9395.jpg)
版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
第2章工之利器—常用的數(shù)據(jù)結(jié)構(gòu)及其應(yīng)用2.1線性表—數(shù)組2.3字符串2.2線性表—鏈表2.4棧2.5隊(duì)列2.6雙端隊(duì)列2.7優(yōu)先隊(duì)列2.8樹和二叉樹2.9圖2.10并查集2.12哈希表2.11二叉排序樹和平衡二叉樹CONTENTS提綱1/572.9.1圖基礎(chǔ)1.圖的定義2.9圖G=(V,E)143012232(a)一個(gè)帶權(quán)有向圖G1(b)一個(gè)帶權(quán)無(wú)向圖G23385431210143521(c)一個(gè)不帶權(quán)無(wú)向圖G3012342/572.圖的存儲(chǔ)結(jié)構(gòu)1)鄰接矩陣1430122323/572)邊數(shù)組n=4edges=[[0,1,2],[0,2,4],[1,2,2],[2,3,3],[3,0,1]]1430122324/573)鄰接表用二維數(shù)組adj作為圖的鄰接表,對(duì)于不帶權(quán)圖,adj[i]表示頂點(diǎn)i的所有出邊。adj=[[1,2,3],[0,2,4],[0,1,3],[0,2,4],[1,3]]012345/57對(duì)于帶權(quán)圖,每一條邊用“[v,w]”表示,如adj[i]中包含該元素時(shí)表示有一條頂點(diǎn)i到頂點(diǎn)v的權(quán)為w的邊。adj=[ [[1,1],[2,5],[3,1]] [[0,1],[2,3],5,2]] [[0,5],[1,3],[3,3],[4,4],[5,3] [[0,1],[2,3],[4,8]] [[2,4],[3,8],[5,1]] [[1,2],[2,3],[4,1]] ]33854312101435216/573.圖的遍歷1)深度優(yōu)先遍歷DFS序列:0,1,2,3,4,533854312101435217/572)廣度優(yōu)先遍歷BFS序列:0,1,2,3,5,433854312101435218/57一個(gè)有n個(gè)頂點(diǎn)的連通圖的生成樹是一個(gè)極小連通子圖,它含有圖中全部頂點(diǎn),但只包含構(gòu)成一棵樹的n-1條邊。一個(gè)帶權(quán)連通圖中權(quán)值和最小的生成樹稱為最小生成樹。Prim算法。Kruskal算法。4.生成樹和最小生成樹9/57對(duì)于帶權(quán)圖中兩個(gè)頂點(diǎn)之間的路徑可能有多條,把帶權(quán)路徑長(zhǎng)度最短的那條路徑稱為最短路徑,其路徑長(zhǎng)度稱為最短路徑長(zhǎng)度或者最短距離。Dijkstra算法。Floyd算法。5.最短路徑10/57在一個(gè)有向圖G中找一個(gè)拓?fù)湫蛄械倪^(guò)程稱為拓?fù)渑判?。如果一個(gè)有向圖拓?fù)渑判虍a(chǎn)生包含全部頂點(diǎn)的拓?fù)湫蛄校瑒t該圖中不存在環(huán),否則該圖中一定存在環(huán)。6.拓?fù)渑判?1/572.9.2實(shí)戰(zhàn)—課程表(LeetCode207★★)問(wèn)題描述:n門課程(編號(hào)為0到n-1)的選修關(guān)系用prerequisites數(shù)組表示,其中每個(gè)元素[b,a]表示課程a是課程b的先修課程即a→b。判斷是否可能完成所有課程的學(xué)習(xí)。
例如,n=2,prerequisites=[[1,0]],表示共有2門課程,課程1的先修課程是課程0,這是可能的,結(jié)果為true。
要求設(shè)計(jì)如下方法:
def
canFinish(self,numCourses,prerequisites)
->
bool:12/57每門課程用一個(gè)頂點(diǎn)表示,兩門課程之間的先修關(guān)系用一條有向邊表示,這樣構(gòu)成一個(gè)有向圖,用鄰接表存儲(chǔ)。需要注意的是prerequisites中的元素[b,a]對(duì)應(yīng)的有向邊為<a,b>。采用拓?fù)渑判蛩悸?,用整?shù)n累計(jì)拓?fù)湫蛄兄械脑貍€(gè)數(shù),拓?fù)渑判蛲戤?,若n=numCourses則說(shuō)明沒(méi)有環(huán),能夠完成所有課程的學(xué)習(xí),返回True,否則說(shuō)明存在環(huán),不能完成所有課程的學(xué)習(xí),返回False。解13/571 class
Solution:2
def
canFinish(self,numCourses,prerequisites)
->
bool:3
indegree=[0]*numCourses;
#入度數(shù)組4
adj=[[]
for
i
in
range(0,numCourses)]
#鄰接表5
for
e
in
prerequisites:
6
b,a=e[0],e[1]
#[b,a]表示a是b的先修課程7
adj[a].append(b)8
indegree[b]+=1
#存在邊<a,b>,b的入度增1b,…
a[b,a]ab14/579
st=deque()
#定義一個(gè)棧st10
for
i
in
range(0,numCourses):
#入度為0的頂點(diǎn)i進(jìn)棧11
if
indegree[i]==0:st.append(i)12
n=0
#累計(jì)拓?fù)湫蛄械捻旤c(diǎn)個(gè)數(shù)13
while
st:14
i=st.popleft()
#出棧頂點(diǎn)i15
n+=116
for
j
in
adj[i]:
#找到i的所有鄰接點(diǎn)j17
indegree[j]-=1
#頂點(diǎn)j的入度減少118
if
indegree[j]==0:st.append(j)
#入度為0的頂點(diǎn)j進(jìn)棧19
return
n==numCourses上述程序提交結(jié)果為通過(guò),運(yùn)行時(shí)間為44ms,消耗空間為15.9MB。15/571.并查集的定義給定n個(gè)結(jié)點(diǎn)的集合U,結(jié)點(diǎn)編號(hào)為1~n,再給定一個(gè)等價(jià)關(guān)系R(滿足自反性、對(duì)稱性和傳遞性的關(guān)系稱為等價(jià)關(guān)系。像圖中頂點(diǎn)之間的連通性、親戚關(guān)系等都是等價(jià)關(guān)系),由等價(jià)關(guān)系產(chǎn)生所有結(jié)點(diǎn)的一個(gè)劃分,每個(gè)結(jié)點(diǎn)屬于一個(gè)等價(jià)類,所有等價(jià)類是不相交的。R2.10并查集2.10.1并查集基礎(chǔ)16/57基本運(yùn)算①Init():初始化。②Find(x):查找x(x∈U)結(jié)點(diǎn)所屬的等價(jià)類。③Union(x,y):將x和y(x∈U,y∈U)所屬的兩個(gè)等價(jià)類合并。17/572.并查集的實(shí)現(xiàn)Axy并查集的基本存儲(chǔ)結(jié)構(gòu)self.parent=[0]*self.MAXN
#并查集存儲(chǔ)結(jié)構(gòu)self.rnk=[0]*self.MAXN
#存儲(chǔ)結(jié)點(diǎn)的秩(近似于高度)18/571 def
Init(self,n):
#并查集初始化2
for
i
in
range(0,n):3
self.parent[i]=i4
self.rnk[i]=0i19/571 def
Find(self,x):
#遞歸算法:并查集中查找x結(jié)點(diǎn)的根結(jié)點(diǎn)2
if
x!=self.parent[x]:3
self.parent[x]=self.Find(self.parent[x])
#路徑壓縮4
return
self.parent[x]ABxABx查找中路徑壓縮CC20/571 def
Find(self,x):
#非遞歸算法:并查集中查找x結(jié)點(diǎn)的根結(jié)點(diǎn)2
rx=x3
while
self.parent[rx]!=rx:
#找到x的根rx4
rx=self.parent[rx]5
y=x6
while
y!=rx:
#路徑壓縮7
tmp=self.parent[y]8
self.parent[y]=rx9
y=tmp10
return
rx
#返回根ABxABx查找中路徑壓縮21/571 def
Union(self,x,y):
#并查集中x和y的兩個(gè)集合的合并2
rx,ry=self.Find(x),self.Find(y)3
if
rx==ry:return
#x和y屬于同一棵樹時(shí)返回4
if
self.rnk[rx]<self.rnk[ry]:5
self.parent[rx]=ry
#rx結(jié)點(diǎn)作為ry的孩子6
else:7
if
self.rnk[rx]==self.rnk[ry]:
#秩相同,合并后rx的秩增18
self.rnk[rx]+=19
self.parent[ry]=rx
#ry結(jié)點(diǎn)作為rx的孩子22/572.10.2實(shí)戰(zhàn)—省份數(shù)量(LeetCode547★★)問(wèn)題描述:有n個(gè)城市,其中一些彼此相連,另一些沒(méi)有相連。如果城市a與城市b直接相連,且城市b與城市c直接相連,那么城市a與城市c間接相連。省份是一組直接或間接相連的城市,組內(nèi)不含其他沒(méi)有相連的城市。
給你一個(gè)n×n的矩陣isConnected,其中isConnected[i][j]=1表示第i個(gè)城市和第j個(gè)城市直接相連,而isConnected[i][j]=0
表示二者不直接相連。求矩陣中省份的數(shù)量。
例如,isConnected={{1,1,0},{1,1,0},{0,0,1}},結(jié)果為2。
要求設(shè)計(jì)如下方法:
def
findCircleNum(self,
isConnected)
->
int:23/57城市之間的相連關(guān)系(含直接相連和間接相連)是一種等價(jià)關(guān)系(滿足自反性、對(duì)稱性和傳遞性)。采用并查集求解,按相連關(guān)系劃分產(chǎn)生若干子集樹,每棵子集樹對(duì)應(yīng)一個(gè)省份。首先初始化并查集(這里n個(gè)城市的編號(hào)為0~n-1),由于isConnected是對(duì)稱矩陣,遍歷其上三角部分,對(duì)于直接相連的城市對(duì)(i,j),調(diào)用并查集的合并運(yùn)算Union(i,j)將i和j所在的子集樹合并。最后求并查集中子集樹棵數(shù)(即滿足parent[i]=i的子集樹棵數(shù))ans,最后返回ans。解24/571 class
UFS(): #并查集類2
MAXN=20053
def
__init__(self):
4
self.parent=[0]*self.MAXN
#并查集存儲(chǔ)結(jié)構(gòu)5
self.rnk=[-1]*self.MAXN;
#存儲(chǔ)結(jié)點(diǎn)的秩(近似于高度)6
def
Init(self,n):
#并查集初始化7
for
i
in
range(0,n):8
self.parent[i]=i9
self.rnk[i]=025/5710
def
Find(self,x):
#遞歸算法:并查集中查找x結(jié)點(diǎn)的根結(jié)點(diǎn)11
if
x!=self.parent[x]:12
self.parent[x]=self.Find(self.parent[x])
#路徑壓縮13
return
self.parent[x]ABxACxCB26/5714
def
Union(self,x,y):
#并查集中x和y的兩個(gè)集合的合并15
rx,ry=self.Find(x),self.Find(y)16
if
rx==ry:
#x和y屬于同一棵樹時(shí)返回17
return18
if
self.rnk[rx]<self.rnk[ry]:19
self.parent[rx]=ry
#rx結(jié)點(diǎn)作為ry的孩子rxxryyrxxryyry的秩不變27/5720
else:21
if
self.rnk[rx]==self.rnk[ry]:
#秩相同,rx的秩增122
self.rnk[rx]+=1ryyrxxryyrxxrx的秩增128/5723
self.parent[ry]=rx
#ry結(jié)點(diǎn)作為rx的孩子24ryyrxxryyrxxrx的秩不變29/5725 class
Solution:26
def
findCircleNum(self,
isConnected)
->
int:27
n=len(isConnected)28
ufs=UFS() #定義并查集類對(duì)象ufs29
ufs.Init(n)30
for
i
in
range(0,n):
#讀取矩陣上三角部分31
for
j
in
range(i+1,n):32
if
isConnected[i][j]==1:ufs.Union(i,j)33
ans=034
for
i
in
range(0,n):35
if
ufs.parent[i]==i:ans+=136
return
ans上述程序提交結(jié)果為通過(guò),運(yùn)行時(shí)間為48ms,消耗空間為15.4MB。30/572.11.1二叉排序樹1.二叉排序樹的定義2.11二叉排序樹和平衡二叉樹538167中序序列:135678
遞增有序31/572.二叉排序樹的插入和生成3.二叉排序樹的刪除4.二叉排序樹的查找538167查找632/572.11.2平衡二叉樹通過(guò)一些平衡規(guī)則和調(diào)整操作讓一棵二叉排序樹既保持BST性質(zhì)又保證高度較小,即接近O(log2n)的高度,稱為平衡二叉樹。平衡二叉樹:AVL樹和紅黑樹。AVL樹的平衡規(guī)則是樹中每個(gè)結(jié)點(diǎn)的左、右子樹的高度至多相差1。33/57紅黑樹中每個(gè)結(jié)點(diǎn)有一個(gè)表示顏色的標(biāo)志,增加外部結(jié)點(diǎn)(通常用NIL表示),同時(shí)滿足以下性質(zhì):
(1)每個(gè)結(jié)點(diǎn)的顏色為紅色或者黑色。
(2)根結(jié)點(diǎn)的顏色為黑色。
(3)所有外部結(jié)點(diǎn)的顏色為黑色。
(4)如果一個(gè)結(jié)點(diǎn)是紅色,則它的所有孩子結(jié)點(diǎn)為黑色。
(5)對(duì)于每個(gè)結(jié)點(diǎn),從該結(jié)點(diǎn)出發(fā)的所有路徑上包含相同個(gè)數(shù)的黑色結(jié)點(diǎn)。這里的路徑特指從一個(gè)結(jié)點(diǎn)到其子孫結(jié)點(diǎn)中某個(gè)外部結(jié)點(diǎn)的路徑。盡管紅黑樹并不是完全平衡二叉樹,但接近于平衡狀態(tài)即近似于平衡二叉樹,其高度接近O(log2n)。2.11.3紅黑樹34/572.11.4Python中的有序類目前Python中沒(méi)有提供類似于C++中set和map(均采用紅黑樹實(shí)現(xiàn))的數(shù)據(jù)結(jié)構(gòu),但有一個(gè)第三方拓展庫(kù)sortedcontainers,它是用pure-python實(shí)現(xiàn)的,內(nèi)有SortedList(有序列表)、SortedDict(有序字典)和SortedSet(有序集合)等,默認(rèn)按關(guān)鍵字遞增排列。SortedList用于存儲(chǔ)一個(gè)含重復(fù)元素的有序序列,采用平衡樹實(shí)現(xiàn),查找性能較好。其使用方式與列表類似。35/57tset.add(val):添加新元素并排序。tset.update(iterable):對(duì)添加的可迭代的所有元素排序。tset.clear():移除所有元素。tset.discard(val):移除一個(gè)值元素,如果元素不存在時(shí)不報(bào)錯(cuò)。時(shí)間復(fù)雜度為O(log2n)。tset.remove(val):移除一個(gè)值元素,如果元素不存在則報(bào)錯(cuò)。時(shí)間復(fù)雜度為O(log2n)。例如定義一個(gè)空的有序列表tset:tset=SortedList()36/57tset.pop(i=-1):移除一個(gè)指定下標(biāo)i的元素,如果有序序列為空或者下標(biāo)超限會(huì)報(bào)錯(cuò)。時(shí)間復(fù)雜度為O(log2n)。tset.bisect_left(val):查找第一個(gè)大于等于val的索引。時(shí)間復(fù)雜度為O(log2n)。tset.bisect_right(val):查找第一個(gè)大于val的索引。時(shí)間復(fù)雜度為O(log2n)。count(val):返回有序列表中值val出現(xiàn)的次數(shù)。tset.index(val,start=None,Stop=None):查找索引范圍[start,stop)范圍內(nèi)第一次出現(xiàn)val的索引,如果val不存在則報(bào)錯(cuò)。時(shí)間復(fù)雜度為O(log2n)。37/572.11.5實(shí)戰(zhàn)—前k個(gè)高頻詞(LeetCode692★★)問(wèn)題描述:給一非空的單詞列表words,返回前k個(gè)出現(xiàn)次數(shù)最多的單詞。返回的答案應(yīng)該按單詞出現(xiàn)頻率由高到低排序。如果不同的單詞有相同出現(xiàn)頻率,按字母順序排序。
例如,words={"i","love","leetcode","i","love","coding"},k=2,則返回結(jié)果是{"i","love"},"i"和"love"為出現(xiàn)次數(shù)最多的兩個(gè)單詞,均為2次,但按字母順序"i"在"love"之前。
要求設(shè)計(jì)如下方法:def
topKFrequent(self,
words,
k)
->
List[str]:38/57先定義一個(gè)一個(gè)SortedDict對(duì)象cntmap,以單詞為關(guān)鍵字,遍歷words得到每個(gè)單詞的計(jì)數(shù)。再定義一個(gè)SortedDict對(duì)象ansmap,以計(jì)數(shù)為關(guān)鍵字,其值為該計(jì)數(shù)的單詞列表(按字母順序排列)。ansmap默認(rèn)按計(jì)數(shù)遞增排序,ansmap.key()[-1]是計(jì)數(shù)最大的元素。定義一個(gè)存放結(jié)果的ans列表,取出ansmap中前k個(gè)單詞添加到ans中,最后返回ans。解39/571 from
sortedcontainers
import
SortedDict #引入SortedDict類2 class
Solution:3
def
topKFrequent(self,
words,
k)
->
List[str]:4
cntmap=SortedDict()5
for
i
in
range(0,len(words)):
#單詞計(jì)數(shù)存放在cntmap中6
if
words[i]
in
cntmap:cntmap[words[i]]+=17
else:cntmap[words[i]]=1words={"i","love","leetcode","i","love","coding"},k=2cntmap:("coding",1)("i",2)("leetcode",1)("love",2)40/578
ansmap=SortedDict()9
for
s
in
cntmap.keys():10
cnt=cntmap[s]
#獲取s對(duì)應(yīng)的計(jì)數(shù)11
if
cnt
in
ansmap:
#ansmap中存在該計(jì)數(shù)12
ss=ansmap[cnt]13
ss.append(s)14
ansmap[cnt]=ss15
else:
#ansmap中不存在該計(jì)數(shù)16
ss=[]
17
ss.append(s)18
ansmap[cnt]=sscntmap:("coding",1)("i",2)("leetcode",1)("love",2)ansmap:(2,["i","love"])(1,["coding","leetcode"])41/5719
ans=[]20
i=-1
#在ansmap中從后向前查找21
while
k>0:
#取前k個(gè)字符串存放在ans中22
cnt=ansmap.keys()[i]23
ss=ansmap[cnt]24
for
x
in
ss:25
if
k>0:ans.append(x);k-=126
else:break27
i-=128
return
ansansmap:(2,["i","llove"])(1,["coding","leetcode"])ans={"i","love"}k=242/57上述程序提交結(jié)果為通過(guò),運(yùn)行時(shí)間為44ms,消耗空間為15.6MB。43/572.12.1哈希表基礎(chǔ)2.12哈希表哈希表是一種使用哈希函數(shù)將關(guān)鍵字映射到存儲(chǔ)地址的數(shù)據(jù)結(jié)構(gòu)。哈希函數(shù)h存儲(chǔ)地址=h(key)n個(gè)元素(對(duì)象)m(m≥n)的連續(xù)內(nèi)存單元44/571)直接定址法h(k)=k+c2)除留余數(shù)法h(k)=kmodp
(mod為求余運(yùn)算,p≤m)構(gòu)造哈希函數(shù)的方法45/57開放定址法拉鏈法哈希沖突解決方法46/572.12.2Python中的哈希表1.Python中的哈希集合Python中提供了集合類型,采用哈希表實(shí)現(xiàn),集合中存放不可變類型數(shù)據(jù),如字符串、數(shù)字或元組。集合是一個(gè)無(wú)序的不重復(fù)元素序列,其基本功能包括關(guān)系測(cè)試和消除重復(fù)元素。使用大括號(hào){}或者set()函數(shù)創(chuàng)建集合,而創(chuàng)建一個(gè)空集合必須用set()而不是{},因?yàn)閧}是用來(lái)創(chuàng)建一個(gè)空字典。47/57集合s的主要操作如下。①len(s):返回集合s中的元素個(gè)數(shù)。②eins,enotins:分別判定元素e是否在或者不在集合s中。③s.add(e):向集合s中添加元素e。④s.clear():移除集合s中的所有元素。⑤s.issubs(t):判斷集合s是否為集合t的子集。⑥s.remove(e):移除集合s的元素e,如果元素e不存在,則會(huì)發(fā)生錯(cuò)誤。⑦s.discard(e):移除集合s的元素e,如果元素e不存在,不會(huì)發(fā)生錯(cuò)誤。⑧s.difference(t),ersection(t)和s.union(t):分別返回集合s和t的差集、交集和并集。48/571 hset=set() #定義一個(gè)哈希集合hset2 hset.add(3) #插入33 hset.add(1) #插入24 hset.add(2) #插入25 print(1inhset) #輸出:True6 hset.remove(1) #刪除17 forxinhset: #輸出:238 print(x,end='')9 print()49/572.Python中的哈希映射Python中提供的字典類型相當(dāng)于哈希映射,也是采用哈希表實(shí)現(xiàn)。字典可存儲(chǔ)任意類型對(duì)象,每個(gè)元素由key:value構(gòu)成,其中key是鍵,value是對(duì)應(yīng)的值,中間用逗號(hào)分隔,整個(gè)字典包括在花括號(hào)({})中,鍵必須是唯一的,但值則不必唯一。使用大括號(hào){}或者dict()函數(shù)創(chuàng)建字典。50/57字典dict的主要操作如下:①len(dict):返回字典dict中的元素個(gè)數(shù)。②dict[key]:返回字典dict中鍵key的值。③keyindict,keynotindict:分別判定鍵key在或者不在字典dict中。④dict.items():以列表返回字典dict中可遍歷的(鍵鍵,值)元組數(shù)組。⑤dict.keys():以列表返回字典dict中所有的鍵。⑥dict.values():以列表返回字典dict中的所有值。⑦pop(key[,default]):刪除字典dict中鍵key所對(duì)應(yīng)的值,返回值為被刪除的值。key值必須給出,否則返回default值。51/571 hmap=dict() #定義一個(gè)哈希字典hmap2 hmap["Mary"]=3 #插入("Mary
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 企業(yè)設(shè)備維修維護(hù)服務(wù)合同書
- 2025年自助建房承包合同
- 2025年度城市地下綜合管廊安裝合同
- 2025年度企業(yè)內(nèi)部通訊協(xié)作平臺(tái)合同
- 2025年度國(guó)土土地征收補(bǔ)償聘用合同范本
- 2025年度學(xué)校教室裝修改造合同書(教育品質(zhì)保障)
- 2025年度加固工程材料供應(yīng)與施工承包合同
- 2025年度城市消防車輛兼職司機(jī)聘用合同規(guī)范
- 2025年度城市基礎(chǔ)設(shè)施建設(shè)委托合同
- 2025年光伏電站設(shè)備采購(gòu)及安裝服務(wù)合同模板
- 跨領(lǐng)域安檢操作標(biāo)準(zhǔn)化的現(xiàn)狀與挑戰(zhàn)
- 大模型落地應(yīng)用實(shí)踐方案
- 催收質(zhì)檢報(bào)告范文
- 2025年八省聯(lián)考內(nèi)蒙古高考生物試卷真題答案詳解(精校打印)
- 2024山東一卡通文化旅游一卡通合作協(xié)議3篇
- 人教版八年級(jí)上冊(cè)地理 2024-2025學(xué)年八年級(jí)上冊(cè)地理期中測(cè)試卷(二)(含答案)
- 2024-2025年江蘇專轉(zhuǎn)本英語(yǔ)歷年真題(含答案)
- 投標(biāo)廢標(biāo)培訓(xùn)
- 2024屆清華大學(xué)強(qiáng)基計(jì)劃數(shù)學(xué)學(xué)科筆試試題(附答案)
- GB 1886.227-2016食品安全國(guó)家標(biāo)準(zhǔn)食品添加劑嗎啉脂肪酸鹽果蠟
- 毛澤東思想課件-第七章 毛澤東思想的活的靈魂
評(píng)論
0/150
提交評(píng)論