數(shù)據(jù)結(jié)構(gòu)知識點整理_第1頁
數(shù)據(jù)結(jié)構(gòu)知識點整理_第2頁
數(shù)據(jù)結(jié)構(gòu)知識點整理_第3頁
數(shù)據(jù)結(jié)構(gòu)知識點整理_第4頁
數(shù)據(jù)結(jié)構(gòu)知識點整理_第5頁
免費預(yù)覽已結(jié)束,剩余1頁可下載查看

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、數(shù)據(jù)是信息的載體,是描述客觀事物的數(shù)、字符、以及所有能輸入到計算機中,被計算機程序識別和處理的符號(數(shù)值、字符等)的集合。數(shù)據(jù)元素(數(shù)據(jù)成員)是數(shù)據(jù)的基本單位。在不同的條件下,數(shù)據(jù)元素又可稱為元素、結(jié)點、頂點、記錄等數(shù)據(jù)對象具有相同性質(zhì)的數(shù)據(jù)元素(數(shù)據(jù)成員)的集合數(shù)據(jù)結(jié)構(gòu)由某一數(shù)據(jù)對象及該對象中所有數(shù)據(jù)成員之間的關(guān)系組成。記為Data_Structure = D, R 其中,D是某一數(shù)據(jù)對象,R是該對象中所有數(shù)據(jù)成員之間的關(guān)系的有限集合。數(shù)據(jù)類型是指一種類型,以及定義在這個值集合上的一組操作的總稱。判斷一個算法的優(yōu)劣主要標(biāo)準(zhǔn) :正確性、可使用性、可讀性、效率、健壯性、簡單性。算法效率的衡量方法

2、:后期測試,事前估計算法分析是算法的漸進(jìn)分析簡稱數(shù)據(jù)結(jié)構(gòu)包括“邏輯結(jié)構(gòu)”和“物理結(jié)構(gòu)”兩個方面(層次):邏輯結(jié)構(gòu)是對數(shù)據(jù)成員之間的邏輯關(guān)系的描述,它可以用一個數(shù)據(jù)成員的集合和定義在此集合上的若干關(guān)系來表示物理結(jié)構(gòu)是邏輯結(jié)構(gòu)在計算機中的表示和實現(xiàn),故又稱“存儲結(jié)構(gòu)”線性表的定義:n( 0)個表項的有限序列 L = (a1, a2,,an) ai是表項,n是表長度。第一個表項是表頭,最后一個是表尾。線性表的特點:表中元素的數(shù)據(jù)類型相同;線性表中,結(jié)點和結(jié)點間的關(guān)系是一對一的,有序表和無序表線性表的存儲方式。一,順序存儲方式,二,鏈表存儲方式。順序表的存儲表示有 2種方式:靜態(tài)方式和動態(tài)方式。順序表

3、的定義是:把線性表中的所有表項按照其邏輯順序依次存儲到從計算機存儲中指定存儲位置開始的一塊連續(xù)的存儲空間中。順序表的特點:用地址連續(xù)的一塊存儲空間順序存放各表項,各表項的邏輯順序與物理順序一致,對各個表項可以順序訪問,也可以隨機訪問。單鏈表是一種最簡單的鏈表表示,也叫 線性鏈表,用她來表示線性表時,用指針表示結(jié)點間的邏輯關(guān)系。特點:是長度可以很方便地進(jìn)行擴充。連續(xù)存儲方式(順序表)特點 :存儲利用率高,存取速度快缺點:插入、刪除等操作時需要移動大量數(shù)據(jù):鏈?zhǔn)酱鎯Ψ绞剑ㄦ湵恚┨攸c:適應(yīng)表的動態(tài)增長和刪除。缺點:需要額外的指針存儲空間單鏈表的類定義:多個類表達(dá)一個概念(單鏈表)。分為:鏈表結(jié)點(L

4、istNode)類,鏈表(List )類。循環(huán)鏈表的概念:是另一種形式的表示線性表的鏈表,它的結(jié)點結(jié)構(gòu)與單鏈表相同,與單鏈表不同的是鏈表中表尾結(jié)點的LINK域中不是NULL而是存放了一個指向鏈表開始結(jié)點的指針,這樣,只要知道表中任何一個結(jié)點的地址,就能遍歷表中其他任何一結(jié)點。雙向鏈表的概念:在雙向鏈表的沒餓結(jié)點中應(yīng)有兩個鏈接指針作為它的數(shù)據(jù)成員:1LINK指示它的前驅(qū)結(jié)點,RLINK指示它的后繼結(jié)點,因此,雙向鏈表的每個結(jié)點至少有3個域:1LINK(前驅(qū)指針)DADA (數(shù)據(jù))RLINK (后繼指針)。棧:定義為只允許在表的末端進(jìn)行插入和刪除的線性表。特點是:后進(jìn)先出。遞歸的定義:若一個對象部

5、分地包含它自己,或用它自己給自己定義 ,則稱這個對象是遞歸的;若一個過程直接地或間接地調(diào)用自己,則稱這個過程是遞歸的過程。以下三種情況常常用到遞歸方法一。定義是遞歸的二。數(shù)據(jù)結(jié)構(gòu)是遞歸的三問題的解法是遞歸的。隊列:隊列是只允許在一端刪除,在另一端插入的順序表允許刪除的一端叫做隊頭,允許插入的一端叫做隊尾。特性:先進(jìn)先出。優(yōu)先級隊列:是不同于先進(jìn)先出隊列的另一種隊列。每次從隊列中取出的是具有最高優(yōu)先權(quán)的元素。多維數(shù)組是一維 數(shù)組的推廣。多維數(shù)組是一維數(shù)組的推廣。多維數(shù)組的特點是每一個數(shù)據(jù)元素可以有多個直接前驅(qū)和多個直接后繼。數(shù)組元素的下標(biāo)一般具有固定的下界和上界,因此它比其他復(fù)雜的非線性結(jié)構(gòu)簡單

6、。字符串是n (0 )個字符的有限序列,記作S : "c1c2c3cn”其中,S是串名字c1c2c3cn”是串值ci是串中字符n是串的長度,n = 0稱為空串。廣義表是n (>0 )個表元素組成的有限序列,記作 LS (a1,a2,a3,,an),LS是表名,ai是表元素,可以是表(稱為子表),可以是數(shù)據(jù)元素(稱為原子)。n為表的長度。n = 0的廣義表為空表。n > 0時,表的第一個表元素 稱為廣義表 的表頭(head),除此之外,其它表元素組成的表稱為廣義表的表尾( tail有根樹:一棵有根樹 T,簡稱為樹,它是n(n>0)個結(jié)點的有限集合。當(dāng) n = 0時,T

7、稱為空樹;否則,T是非空樹,記作T=空集n=0r,T1,T2.Tn,n>0范文.r是一個特定的稱為根(root)的結(jié)點,它只有直接后繼,但沒有直接前驅(qū);根以外的其他結(jié)點劃分為m(m 0)個互不相交的有限集合 T1, T2,,Tm每個集合又是一棵樹,并且稱之為根的子樹。每棵子樹的根結(jié)點有且僅有一個直 接前驅(qū),但可以有 0個或多個直接后繼 二叉樹白定義:一棵二叉樹是結(jié)點的一個有限集合,該集合或者為空,或者是由一個根結(jié)點加上兩棵分別稱為左子樹和 右子樹的、互不相交的二叉樹組成。完全二叉樹:一若設(shè)二叉樹白深度為 k,則共有k層。除第k層外,其它各層(1k-1)的結(jié)點數(shù)都達(dá)到最大個數(shù), 第k層從右

8、向左連續(xù)缺若干結(jié)點,這就是完全二叉樹 二叉樹的遍歷 就是按某種次序訪問樹中的結(jié)點,要求每個結(jié)點訪問一次且僅訪問一次。設(shè)訪問根結(jié)點記作V遍歷根的左子樹記作L遍歷根的右子樹記作 Ro則可能的遍歷次序有:前序VLR鏡像VRL;中序LVR鏡像RVL;后序LRV鏡像RLV 前序遍歷二叉樹算法的框架是:若二叉樹為空,則空操作;否則訪問根結(jié)點(V);前序遍歷左子樹(L);前序遍歷右子樹(R)。遍歷結(jié)果-+ a * b - c d / e f 樹的后根次序遍歷:當(dāng)樹非空時依次后根遍歷根的各棵子樹訪問根結(jié)點:樹后根遍歷EFBCGDA對應(yīng)二叉樹中序遍歷EFBCGDA樹的后根遍歷結(jié)果與其對應(yīng)二叉樹。表示的中序遍歷結(jié)

9、果相同:樹的后根遍歷可以借助對應(yīng)二叉樹的中序遍歷算法實現(xiàn) 最小堆和最大堆:如果有一個關(guān)鍵碼集合 K=K0,K1 , K2, K3,.,Kn-1,把它的所有元素按完全二叉樹的順序存儲方 式存放在一個一維數(shù)組中。并滿足Ki < K2i+1且KiWK2i+2(或者Ki >K2i+1且KiK2i+2 )i=0,1,(n-2) /2,則稱這個集合為最小堆或最大堆。 堆是最高效的一種數(shù)據(jù)結(jié)構(gòu) ,每次出隊列的是優(yōu)先權(quán)最高的元素。用堆實現(xiàn)其存儲表示,能夠高效運作。堆的建立:有2種方式建立最小的堆,一種方式是通過第一個構(gòu)造函數(shù)建立一個空堆,其大小通過動態(tài)存儲分配得到, 另一中建立最小堆的方式是通過第

10、二個構(gòu)造函數(shù)復(fù)制一個記錄數(shù)組并對其加以調(diào)整形成一個堆。路徑:從樹中一個結(jié)點到達(dá)另一個結(jié)點之間的分支構(gòu)成該兩結(jié)點之間的路徑。路徑長度:是指路徑上的分支條數(shù),樹的路徑長度是從樹的根結(jié)點到每一個結(jié)點的路徑長度之和。由樹的定義,從根 結(jié)點到達(dá)書中每一結(jié)點有且僅有一條路徑。Huffman樹:帶權(quán)路徑長度最小的二叉樹應(yīng)是權(quán)值大的外結(jié)點離根結(jié)點最近的擴充二叉樹。帶路徑長度最小的擴充二叉樹不一定是完全二叉樹。 集合是成員(元素)的一個群集。集合中的成員可以是原子(單元素),也可以是集合。字典是一些元素的集合,每個元素有一個稱作關(guān)鍵碼( key)的域,不同元素的關(guān)鍵碼互不相同。 散列方法:理想的搜索方法是可以不

11、經(jīng)過比較,一次直接從字典中得到要搜索的元素。如果在元素存儲位置與其關(guān)鍵 碼之間建立一個確定白對應(yīng)函數(shù)關(guān)系Hash(), 使得每個關(guān)鍵碼與結(jié)構(gòu)中一個唯一的存儲位置相對應(yīng):Address =Hash(key)。在插入時依此函數(shù)計算存儲位置并按此位置存放。在搜索時對元素的關(guān)鍵碼進(jìn)行同樣的計算,把求得的函 數(shù)值當(dāng)做元素存儲位置,在結(jié)構(gòu)中按此位置搜索。這就是 散列方法。在散列方法中所用轉(zhuǎn)換函數(shù)叫做散列函數(shù)。按此方法構(gòu)造出來的表叫做散列表。使用散列方法進(jìn)行搜索不必進(jìn)行多次關(guān)鍵碼的比較,搜索速度比較快,可以直接到達(dá)或逼近具有此關(guān)鍵碼的表項的實際存放地址。 散列函數(shù)是一個壓縮映象函數(shù)。關(guān)鍵碼集合比散列表地址集

12、合大得多。因此有可能經(jīng)過散列函數(shù)的計算,把不同的關(guān) 鍵碼映射到同一個散列地址上,這就產(chǎn)生了沖突 搜索就是在數(shù)據(jù)集合中尋找滿足某種條件的數(shù)據(jù)對象。搜索的結(jié)果通常有兩種可能:搜索成功,即找到滿足條件的數(shù) 據(jù)對象。這時,作為結(jié)果,可報告該對象在結(jié)構(gòu)中的位置,還可給出該對象中的具體信息。搜索不成功,或搜索失敗。作為結(jié)果,應(yīng)報告一些信息,如失敗標(biāo)志、位置等搜索結(jié)構(gòu)通常稱用于搜索的數(shù)據(jù)集合為搜索結(jié)構(gòu),它是由同一數(shù)據(jù)類型的對象(或記錄)組成。在每個對象中有若干屬性,其中有一個屬性,其值可唯一地標(biāo)識這個對象。稱為 關(guān)鍵碼。使用基于關(guān)鍵碼的搜索,搜索結(jié)果應(yīng)是唯一的。但 在實際應(yīng)用時,搜索條件是多方面的,可以使用

13、基于屬性的搜索方法,但搜索結(jié)果可能不唯一。實施搜索時有兩種不 同的環(huán)境。靜態(tài)環(huán)境,搜索結(jié)構(gòu)在插入和刪除等操作的前后不發(fā)生改變。靜態(tài)搜索表 動態(tài)環(huán)境,為保持較高的搜索效率,搜索結(jié)構(gòu)在執(zhí)行插入和刪除等操作的前后將自動進(jìn)行調(diào)整,結(jié)構(gòu)可能發(fā)生變化。動態(tài)搜索表順序搜索主要用于在線性表中搜索。設(shè)若表中有CurrentSize 個元素,則順序搜索從表的先端開始,順序用各元素的關(guān)鍵碼與給定值x進(jìn)行比較若找到與其值相等的元素,則搜索成功,給出該元素在表中的位置。若整個表都已檢測完 仍未找到關(guān)鍵碼與x相等的元素,則搜索失敗。給出失敗信息 二叉搜索樹或者是一棵空樹,或者是具有下列性質(zhì)的二叉樹:1每個結(jié)點都有一個作為

14、搜索依據(jù)的關(guān)鍵碼(key),所有結(jié)點的關(guān)鍵碼互不相同。2左子樹(如果非空)上所有結(jié)點的關(guān)鍵碼都小于根結(jié)點的關(guān)鍵碼。3右子樹(如果非空)上所有結(jié)點的關(guān)鍵碼都大于根結(jié)點的關(guān)鍵碼。4左子樹和右子樹也是二叉搜索樹。范文.二叉搜索樹為二叉排序樹 如果對一棵二叉搜索樹進(jìn)行中序遍歷,可以按從小到大的順序,將各結(jié)點關(guān)鍵碼排列起來,所以也稱二叉搜索樹為二叉排序樹在二叉搜索樹上進(jìn)行搜索,是一個從根結(jié)點開始,沿某一個分支逐層向下進(jìn)行比較判等的過程。它可以是一個遞歸的過程。假設(shè)想要在二叉搜索樹中搜索關(guān)鍵碼為x的元素,搜索過程從根結(jié)點開始。 如果根指針為NULL則搜索不成功;否則用給定值x與根結(jié)點的關(guān)鍵碼進(jìn)行比較:若給

15、定值等于根結(jié)點關(guān)鍵碼,則搜索成功,返回搜索成功信息并報告搜 索到結(jié)點地址。若給定值小于根結(jié)點的關(guān)鍵碼,則繼續(xù)遞歸搜索根結(jié)點的左子樹;否則。遞歸搜索根結(jié)點的右子二叉搜索樹的插入算法:為了向二叉搜索樹中插入一個新元素,必須先檢查這個元素是否在樹中已經(jīng)存在。在插入之前,先使用搜索算法在樹中檢查要插入元素有還是沒有。如果搜索成功,說明樹中已經(jīng)有這個元素,不再插入;如果搜索不成功,說明樹中原來沒有關(guān)鍵碼等于給定值的結(jié)點,把新元素加到搜索操作停止的地方。圖定義:圖是由頂點集合(vertex)及頂點間的關(guān)系集合組成的一種數(shù)據(jù)結(jié)構(gòu):Graph= ( V E)其中 V = x | x某個數(shù)據(jù)對象是頂點的有窮非空

16、集合;E = (x,y) |x , y V 或E = <x,y> | x , yV &&Path ( x,y),是頂點之間關(guān)系的有窮集合,也叫做邊 (edge)集合。Path( x, y)表示從x到y(tǒng)的一條單向通路,它是有方向有向圖與無向圖:在有向圖中,頂點對 <x, y> 是有序的。在無向圖中,頂點對 (x, y)是無序的。完全圖:若有n個頂點的無向圖有 n(n-1)/2 條邊,則此圖為完全無向圖。 有n個頂點的有向圖有 n(n-1)條邊,則 此圖為完全有向圖在圖的鄰接矩陣表示中,有一個記錄各個頂點信息的頂點表,還有一個表示各個頂點之間關(guān)系的鄰接矩陣。

17、鄰接表是鄰接矩陣的改進(jìn)形式。為此需要把鄰接矩陣的各行分別組織為一個單鏈表。在鄰接表中,同一個頂點發(fā)出的邊鏈接在同一個邊鏈表中,每一個鏈結(jié)點代表一條邊(邊結(jié)點),結(jié)點中有另一頂點的下標(biāo)dest和指針link 。對于帶權(quán)圖,邊結(jié)點中還要保存該邊的權(quán)值cost。頂點表的第i個頂點中保存該頂點的數(shù)據(jù),以及它對應(yīng)邊鏈表的頭指針adj最短路徑問題:如果從圖中某一頂點(稱為源點)另一頂點(稱為終點)的路徑可能不止一條,如何找到一條路徑使得沿此路徑上各邊上的權(quán)值總和達(dá)到最小。排序:將一組雜亂無章的數(shù)據(jù)按一定的規(guī)律順次排列起來。數(shù)據(jù)表(datalist ):它是待排序數(shù)據(jù)元素的有限集合。排序碼(key):通常數(shù)

18、據(jù)元素有多個屬性域,即多個數(shù)據(jù)成員組成,其中有一個屬性域可用來區(qū)分元素,作為排序依 據(jù)。該域即為排序碼。每個數(shù)據(jù)表用哪個屬性域作為排序碼,要視具體的應(yīng)用需要而定。插入排序基本方法是:每步將一個待排序的元素,按其排序碼大小,插入到前面已經(jīng)排好序的一組元素的適當(dāng)位置上,直到元素全部插入為止。鏈表1、單鏈表中的插入與刪除A種情況:在第一個結(jié)點前插入 newnod link = first ;first = newnode第二種情況:在鏈表中間插入newnode flink = pflink ; p-link = newnode第三種情況:在鏈表末尾插入newnode link = pflink ;p

19、- link = last = newnode2、鏈表插入算法實現(xiàn)3、鏈表結(jié)點刪除算法int List : Insert ( const int x, const int i ) /在鏈表第i個結(jié)點處插入新元素xListNode *p = first ; int k = 0 ;while ( p != NULL && k < i -1 )p = p link ;k+; / 找第 i- 1 個結(jié)占 八、if ( p = NULL && first != NULL ) cout<<無效的插入位直n ;return0;ListNode *newnod

20、e= new ListNode (x, NULL;/創(chuàng)建新結(jié)點,其數(shù)據(jù)為x,指針為0if( first = NULL | i = 0 ) / 插在表前newnode link = first;if( first = NULL ) last = newnode ;first = newnode;else /插仕表中或末尾newnode flink = p link ;if ( p-link = NULL ) last = newnode ;p-link = newnode ;return 1;int List : Remove( int i ) /在鏈表中刪除第i個結(jié)占八、Node *p = f

21、irst , *q ; int k = 0 ;while ( p != NULL && k< i-1 ) p = p link ;k+; /找第 i- 1 個結(jié)點if ( p = NULL | p一 link = NULL ) cout << “無效的刪除位置!n ” ;return0;if ( i = 0 ) /刪除表中第1個結(jié)點q = first ;/ q保存被刪結(jié)點地址p = first = first一link ;/修改 firstelse 刪除表中或表尾元素q = p一 link ;p 一link = q 一 link ;/重新鏈接if ( q =

22、last ) last = p ;/ 可能修改 lastk = q fdata;delete q;刪除 qreturn k;在帶表頭結(jié)點的單鏈表,第一個結(jié)點前插入新結(jié)點 newnodef link = p fink ;if (p-link = NULL ) last = newnodep - link = newnode ;從帶表頭結(jié)點的單鏈表中刪除A個結(jié)點q = pflink ; p f link = q -link ;deleteq;if ( p一 link = NULL ) last = p ;排序直接插入排序的算法折半插入排序的算法#include "dataList.h&q

23、uot;template <class T>void InsertSort (dataList <T>& L, int left , int right) /依次將元素L.Vectori按其排序碼插入到有序表/L.Vectorleft,L.Vectori-1中,使得/L.Vectorleft到 L.Vectori后序。Element <T> temp; int i , j ;for (i = left +1; i <= right ; i+)if(Li< Li-1)temp = Li ; j = i-1 ;do #include &quo

24、t;dataList.h"template <class T>void BinaryInsertSort (dataList<T>& L,const intleft , const intright) / 利用折半搜索,在 L.Vectorleft 到 L.Vectori-1 中/查找L.Vectori應(yīng)插入的位置,再進(jìn)行插入。Element <T> temp;inti , low, high , middle , k;for(i = left+1 ; i <= right ; i+) temp = Li ;low = left ;

25、high = i-1 ;while(low <= high) /折半搜索插入位直middle= (low+high)/2 ;/ 取中點Lj+1 while1 =Lj;(j >= leftLj+1=j-;&& temp < Lj); temp;if間else for;(temp <low =Lmiddle)/high = middle-1middle+1 ;/插入值小于中點值;/向左縮小區(qū)否則,向右縮小區(qū)間;(k/Llow=i-1 ; k >= low; k-) Lk+1 = Lk;成塊移動,空出插入位置=temp;/ 插入堆排序的算法直接選擇排序的

26、算法template <class T>void HeapSort (dataList <T>& L) /對表L.Vector0 到L.Vectorn-1進(jìn)行排序,使得表/中各個元素按其排序碼非遞減有序int i , n = L.length() ;for (i = (n - 2)/2 ; i >= 0; i- ) / 將表轉(zhuǎn)換為堆 siftDown (L , i , n-1);for ( i = n-1; i >= 0; i -) / 對表排序L.Swap(0 , i) ; siftDown (L, 0, i-1);#include "d

27、ataList.h"template <class T>void SelectSort (dataList<T>& L,const intleft , const intright) for (int i = left ; i < right ; i+) intk = i ;/ 在Li到Ln-1找最小排序碼兒系for(int j = i+1 ; j <= right ;j+)if(Lj< Lk) k = j ;if(k != i) Swap (Li, Lk) ; / 交換;希爾排序的算法起泡排序的算法#include "da

28、taList.h"template <class T>void Shellsort (dataList<T>& L,const intleft , const intright) int i , j , gap = right - left+1 ;/ 增里的初始值Element <T> temp;do gap = gap/3+1 ;/求下一增量值for(i = left+gap ; i <= right ; i +)if(Li< Li -gap) / 逆序temp = Li ; j = i-gap;do Lj+gap = Lj

29、; j = j - gap; while(j >= left && temp < Lj);Lj+gap = temp;/ 將 vectori回送template <class T>void BubbleSort (dataList<T>& L, const int left ,const int right) int pass = left+1 , exchange = 1;while (pass <= right&& exchange) exchange = 0;/ 標(biāo)志為0假定未交換for( int j = right ; j >= pass ; j-)if(Lj-1> Lj)/ 逆序Swap (Lj-1, Lj);交換exchange = 1 ;/ 標(biāo)志1,后交換pass+; while(gap > 1);;兩路歸并算法最大

溫馨提示

  • 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論