版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領
文檔簡介
1、第6章 樹和二叉樹學習要點: 熟練掌握二叉樹的結(jié)構(gòu)特性熟悉二叉樹的各種存儲結(jié)構(gòu)特點及使用范圍熟練掌握各種遍歷策略的遞歸和非遞歸算法,靈活運用遍歷算法實現(xiàn)二叉樹的其他操作熟練掌握二叉樹的線索化過程以及在中序線索化樹上找給定結(jié)點的前驅(qū)和后繼的方法掌握樹和森林與二叉樹的轉(zhuǎn)換方法學會編寫實現(xiàn)樹的各種操作的算法了解最優(yōu)樹的特性,掌握建立最優(yōu)樹和哈夫曼編碼的方法6.1 樹的定義和基本術語6.1.1 樹的定義樹型結(jié)構(gòu):非線性結(jié)構(gòu):至少存在一個數(shù)據(jù)元素有兩個或兩個以上的直接前驅(qū)(或直接后繼)元素的數(shù)據(jù)結(jié)構(gòu)。用于描述層次結(jié)構(gòu)的關系:人類的族譜、操作系統(tǒng)的文件系統(tǒng)、Internet中的DNS(域名系統(tǒng))等分等級的
2、分類方案均可用層次結(jié)構(gòu)來表示,可由此導出樹型結(jié)構(gòu)。樹的定義: 是n(n0)個結(jié)點的有限集合T,對于任意一棵非空樹,它滿足:有且僅有一個特定的稱為根(root)的結(jié)點;當n1時,其余結(jié)點可分為m(m0)個互不相交的有限集T1,T2,.,Tm,其中每個集合本身又是一棵樹,稱為根的子樹。上述樹的定義是一個遞歸定義。例如:ABCDEFGHIJMKLA樹的類型定義:ADT Tree 數(shù)據(jù)對象:D是具有相同特性的數(shù)據(jù)元素的集合。 數(shù)據(jù)關系:若D為空集,則稱為空樹;否則: (1) 在D中存在唯一的稱為根的數(shù)據(jù)元素root, (2) 當n1時,其余結(jié)點可分為m (m0)個互不相交的有限集T1, T2, , T
3、m, 其中每一棵子集本身又是一棵符合本定義的樹,稱為根root的子樹。 基本操作:查找類插入 刪除 ADT Tree查找類:Root(T) / 求樹的根結(jié)點 Value(T, cur_e) / 求當前結(jié)點的元素值Parent(T, cur_e) / 求當前結(jié)點的雙親結(jié)點LeftChild(T, cur_e) / 求當前結(jié)點的最左孩子RightSibling(T, cur_e) / 求當前結(jié)點的右兄弟TreeEmpty(T) / 判定樹是否為空樹TreeDepth(T) / 求樹的深度TraverseTree( T, Visit() ) / 遍歷插入:InitTree(&T) / 初始化置空樹C
4、reateTree(&T, definition) / 按定義構(gòu)造Assign(T, cur_e, value) / 給當前結(jié)點賦值InsertChild(&T, &p, i, c) / 將以c為根的樹插入為結(jié) /點p的第i棵子樹刪除:ClearTree(&T) / 將樹清空DestroyTree(&T) / 銷毀樹的結(jié)構(gòu)DeleteChild(&T, &p, i) / 刪除結(jié)點p的第i棵子例如:ABCDEFGHIJMKL(A( B(E, F(K, L), C(G), D(H, I, J(M) )T1T3T2樹根T1T2T36.1.2 基本術語結(jié)點:包含一個數(shù)據(jù)元素及若干指向其子樹的分支。結(jié)點
5、的度:結(jié)點擁有的子樹數(shù)。如圖: A的度為3, C的度為1, E的度為0。葉子(或終端)結(jié)點:度為零的結(jié)點。分支(或非終端)結(jié)點:度大于零的結(jié)點。ABCDEFGHIJMKL樹的度:樹中所有結(jié)點的度的最大值。結(jié)點的子樹的根稱為該結(jié)點的孩子(child) 。相應的,該結(jié)點稱為孩子的雙親(parent)。如圖所示,樹的度為3;D為A的子樹T3的根,則D是A的孩子,而A則是D的雙親。同一個雙親的孩子之間互 稱兄弟。如圖所示中,H、I、J互稱為兄弟。ABCDEFGHIJMKLE、G、H互稱兄弟?雙親在同一層的結(jié)點互為堂兄弟。結(jié)點的層次:根結(jié)點的層次為1,第l層的結(jié)點的子樹的根結(jié)點的層次為l+1。樹的深度:
6、樹中葉子結(jié)點所在的最大層次。森林:是m(m0)棵互不相交的樹的集合。任何一棵非空樹是一個二元組Tree = (root,F(xiàn))其中: root 被稱為根結(jié)點 F 被稱為子樹森林ArootBCDEFGHIJMKLF有序樹:子樹之間存在確定的次序關系。(樹中結(jié)點的各子樹從左到右是有次序的,即不能互換)。無序樹:子樹之間不存在確定的次序關系。樹型結(jié)構(gòu)和線性結(jié)構(gòu)的特點:線性結(jié)構(gòu)樹型結(jié)構(gòu)第一個數(shù)據(jù)元素 (無前驅(qū)) 根結(jié)點 (無前驅(qū))最后一個數(shù)據(jù)元素 (無后繼)多個葉子結(jié)點 (無后繼)其它數(shù)據(jù)元素(一個前驅(qū)、 一個后繼)其它數(shù)據(jù)元素(一個前驅(qū)、 多個后繼)6.2.1 二叉樹的定義定義:是n(n=0)個結(jié)點的
7、有限集合,它或為空樹(n=0),或由一個根結(jié)點和至多兩棵稱為根的左子樹和右子樹的互不相交的二叉樹組成。注:二叉樹中不存在度大于2的結(jié)點,并且二叉樹的子樹有左子樹和右子樹之分。6.2 二叉樹ABCDEFGHK根結(jié)點左子樹右子樹二叉樹的五種基本形態(tài):N空樹只含根結(jié)點NNNLRR右子樹為空樹L左子樹為空樹左右子樹均不為空樹二叉樹的抽象數(shù)據(jù)類型定義:ADT BinaryTree 數(shù)據(jù)對象:D是具有相同特性的數(shù)據(jù)元素的集合。 數(shù)據(jù)關系:若D為空集,則稱為空樹;否則: (1) 在D中存在唯一的稱為根的數(shù)據(jù)元素root, . 基本操作:查找類插入 刪除ADT BinaryTree 詳細說明見教材P121P1
8、236.2.2 二叉樹的性質(zhì)性質(zhì)1 :在二叉樹的第 i 層上至多有2i-1 個結(jié)點(i1)。證明:(歸納法)歸納基:i = 1 層時,只有一個根結(jié)點: 2i-1 = 20 = 1,命題成立。歸納假設:假設對所有的 j,1 j i,命題成立。即第j層上至多有2j-1個結(jié)點。歸納證明:j=i時,命題成立。 二叉樹上每個結(jié)點至多有兩棵子樹,且由歸納假設有:第i-1層上至多有2i-2個結(jié)點 第 j=i 層的結(jié)點數(shù)至多 = 2i-2 2 = 2i-1 。命題成立(證畢)性質(zhì)2:深度為 k 的二叉樹上至多含 2k-1 個結(jié)點(k1)。證明:基于性質(zhì)1,深度為 k 的二叉樹上的結(jié)點數(shù)至多為:20+21+ +
9、2k-1 = 2k-1 。性質(zhì)3:對任何一棵二叉樹,若它含有n0 個葉子結(jié)點、n2 個度為2的結(jié)點,則必存在關系式:n0 = n2+1。證明:設二叉樹上結(jié)點總數(shù) n = n0 + n1 + n2, 二叉樹上分支總數(shù) b = n1+2n2, 而 b = n-1 = n0 + n1 + n2 1 由, n0 = n2 + 1 。除根結(jié)點外,其余結(jié)點都有一個分支進入,設b為分支總數(shù),則n=b+1。兩類特殊的二叉樹:滿二叉樹:指的是深度為k且含有2k-1個結(jié)點的二叉樹。完全二叉樹:樹中所含的 n 個結(jié)點和滿二叉樹中編號為 1 至 n 的結(jié)點一一對應。123456789101112131415abcde
10、fghij特點:是每一層上的結(jié)點數(shù)都是最大結(jié)點數(shù)。特點:葉子結(jié)點只可能在層次最大的兩層出現(xiàn);對任一結(jié)點,若其右分支下的子孫的最大層次為l,則其左分支下的子孫的最大層次為l或l+1。完全二叉樹的性質(zhì):性質(zhì)4:具有n個結(jié)點的完全二叉樹的深度為 log2n +1。證明:設完全二叉樹的深度為k,則根據(jù)性質(zhì)2(深度為k的二叉樹至多有2k-1個結(jié)點) 得 2k-1-1 n 2k 1,或: 2k-1 n 2k 即 k-1 log2 n n,則該結(jié)點無左孩子,否則,編號為 2i 的結(jié)點為其左孩子結(jié)點;(3)若 2i+1n,則該結(jié)點無右孩子結(jié)點,否則,編號為2i+1 的結(jié)點為其右孩子結(jié)點。i/2 i 2i 2i
11、+1 i+1 2i+2 2i+3 i+1 2i+2 2i+3 i2i2i+1 .性質(zhì)練習:1. 一棵二叉樹在其第五層中有17個結(jié)點,可不可能?2. 二叉樹的根結(jié)點屬于第0層還是屬于第1層?3. 已知一棵二叉樹有20個結(jié)點,其中6個結(jié)點為葉子,則該樹中度為2的結(jié)點數(shù)為 ?度為0的結(jié)點為 ?4. 已知一棵完全二叉樹中編號為101的結(jié)點有LC和RC結(jié)點,則其LC結(jié)點編號為 ,RC結(jié)點編號為 ?5. 一棵深度為h的完全k叉樹,如果按層次自頂向下、同一層自左向右、順序從1開始對全部結(jié)點進行編號,試問:該樹上最多有多少個結(jié)點?最少有多少個結(jié)點?第i層上至多有2i-1個結(jié)點,則25-1=16。所以,不可能。
12、第1層56由性質(zhì)3:n0=n2+1,則n2=n0-1=6-1=5。202203由性質(zhì)5,可知左孩子為2i,右孩子為2i+1由性質(zhì)1和定義,可知除第h層外,其余各層都是滿的,所以:1+k+k2+.+kh-2=(kh-1-1)/(k-1),則最多有: (kh-1-1)/(k-1)+kh-1=(kh-1)/(k-1);最少有:(kh-1-1)/(k-1)+1課后作業(yè)P38:6.5P39:6.6(要求:寫出推導過程)6.2.3 二叉樹的存儲結(jié)構(gòu)順序存儲結(jié)構(gòu):#define MAX_TREE_SIZE 100 / 二叉樹的最大結(jié)點數(shù)typedef TElemType SqBiTreeMAX_TREE_S
13、IZE; / 0號單元存儲根結(jié)點SqBiTree bt;特點:一組地址連續(xù)的存儲單元存儲各結(jié)點(定義一個一維數(shù)組);自根而下、自左而右存儲結(jié)點;按完全二叉樹上的結(jié)點位置進行編號和存儲。例如:ABCDEF A B D C E F 0 1 2 3 4 5 6 7 8 9 10 11 12 131401326在最壞的情況下,一個深度為k且只有k個結(jié)點的單支樹(樹中不存在度為2的結(jié)點)卻需要2k-1的一維數(shù)組。缺點:空間利用率太低!鏈式存儲結(jié)構(gòu):二叉鏈表:ADEBCFrootlchild data rchild結(jié)點結(jié)構(gòu):C語言的類型描述:typedef struct BiTNode / 結(jié)點結(jié)構(gòu) TE
14、lemType data; struct BiTNode *lchild, *rchild; / 左右孩子指針 BiTNode, *BiTree;三叉鏈表:ADEBCFrootparent lchild data rchild結(jié)點結(jié)構(gòu):typedef struct TriTNode / 結(jié)點結(jié)構(gòu) TElemType data; struct TriTNode *lchild, *rchild; / 左右孩子指針 struct TriTNode *parent; /雙親指針 TriTNode, *TriTree;6.3.1 遍歷二叉樹問題的提出: 順著某一條搜索路徑巡訪二叉樹中的結(jié)點,使得每個結(jié)
15、點均被訪問一次,而且僅被訪問一次。注意:此處“訪問”的含義可以很廣,如:輸出結(jié)點的信息等。 “遍歷”是任何類型均有的操作,對線性結(jié)構(gòu)而言,只有一條搜索路徑(因為每個結(jié)點均只有一個后繼),故不需要另加討論。而二叉樹是非線性結(jié)構(gòu),每個結(jié)點有兩個后繼,則存在如何遍歷即按什么樣的搜索路徑遍歷的問題。6.3 遍歷二叉樹和線索二叉樹三條搜索路徑:先上后下的按層次遍歷;先左(子樹)后右(子樹)的遍歷;先右(子樹)后左(子樹)的遍歷。先左后右的遍歷算法:先(根)序的遍歷算法中(根)序的遍歷算法后(根)序的遍歷算法根左子樹右子樹先(根)序的遍歷算法:若二叉樹為空樹,則空操作;否則, 訪問根結(jié)點; 先序遍歷左子樹
16、; 先序遍歷右子樹。中(根)序的遍歷算法:若二叉樹為空樹,則空操作;否則, 中序遍歷左子樹; 訪問根結(jié)點; 中序遍歷右子樹。后(根)序的遍歷算法:若二叉樹為空樹,則空操作;否則, 后序遍歷左子樹; 后序遍歷右子樹; 訪問根結(jié)點。例如:ABCDEFGHK先序序列:中序序列:后序序列:A B C D E F G H KB D C A E H G K FD C B H K G F E AF算法的遞歸實現(xiàn):void Preorder (BiTree T, void ( *visit)(TElemType e) / 先序遍歷二叉樹 if (T) visit(T-data); / 訪問結(jié)點 Preorde
17、r(T-lchild, visit); / 遍歷左子樹 Preorder(T-rchild, visit); / 遍歷右子樹 寫法比較:int ( *visit)(TElemType &e)的含義: visit是指針,指向int類型的函數(shù)int *visit(TElemType &e)的含義: visit是函數(shù),其返回值為指向int的指針最簡單的visit函數(shù)是:Void PrintElement(TElemType e) Printf(e);例:對應表達式 a+b*(c-d)-e/fabcde-+/f-中序遍歷此二叉樹,可得到此二叉樹的中序序列為a+b*c-d-e/f (表達式的中綴表示)若
18、先序遍歷二叉樹,按訪問結(jié)點的先后次序?qū)⒔Y(jié)點排列起來,可得到二叉樹的先序序列為 -+a*b-cd/ef (表達式的前綴表示波蘭式)后序遍歷此二叉樹,可得到此二叉樹的后序序列為abcd-*+ef/- (表達式的后綴表示逆波蘭式)遍歷的遞歸執(zhí)行過程:例如:表達式a*b-c的二叉樹如下a-b*c-*abc-*abc-cb*aab*c-12先序序列:-*abc中序序列:a*b-c后序序列:ab*c-中序遍歷的非遞歸算法:BiTNode *GoFarLeft(BiTree T, Stack *S) if (!T ) return NULL; while (T-lchild ) Push(S, T); T
19、= T-lchild; return T;-*abcab*c-12TTlchildTlchildlchildTlchildlchildlchildTtoptoptoptoptopTlchildlchildrchildTlchildrchildTlchildrchildlchildTlchildrchildrchildvoid Inorder_I(BiTree T, void (*visit) (TelemType& e) Stack *S; t = GoFarLeft(T, S); / 找到最左下的結(jié)點 while(t) visit(t-data); if (t-rchild) t = GoF
20、arLeft(t-rchild, S); else if ( !StackEmpty(S ) / 棧不空時退棧 t = Pop(S); else t = NULL; / ??毡砻鞅闅v結(jié)束 / while/ Inorder_I 遍歷算法的應用舉例:統(tǒng)計二叉樹中葉子結(jié)點的個數(shù)算法基本思想: 先序(或中序或后序)遍歷二叉樹,在遍歷過程中查找葉子結(jié)點,并計數(shù)。由此,需在遍歷算法中:增添一個“計數(shù)”的參數(shù);將算法中“訪問結(jié)點”的操作改為:若是葉子,則計數(shù)器增1。void CountLeaf (BiTree T, int& count) if ( T ) if (!T-lchild)& (!T-rchil
21、d) count+; / 對葉子結(jié)點計數(shù) CountLeaf( T-lchild, count); /統(tǒng)計左子樹葉子結(jié)點 CountLeaf( T-rchild, count); /統(tǒng)計右子樹葉子結(jié)點 / if / CountLeaf求二叉樹的深度(后序遍歷)分析:二叉樹的深度h和它的左、右子樹深度之間的關系?算法基本思想:先分別求得左、右子樹的深度;算法中“訪問結(jié)點”的操作為:求得左、右子樹深度的最大值,然后加 1 。int Depth (BiTree T ) / 返回二叉樹的深度 if ( !T ) depthval = 0; else depthLeft = Depth( T-lchil
22、d ); /求左子樹深度 depthRight= Depth( T-rchild ); /求右子樹深度 depthval = 1 + (depthLeft depthRight ? depthLeft : depthRight); return depthval;h=maxhl, hr+1復制二叉樹(后序遍歷):其基本操作為:生成一個結(jié)點根元素T左子樹右子樹根元素NEWT左子樹右子樹左子樹右子樹算法思想:復制左、右子樹;“訪問結(jié)點”的操作為:生成一個結(jié)點。生成一個二叉樹的結(jié)點(其數(shù)據(jù)域為item,左指針域為lptr,右指針域為rptr)BiTNode *GetTreeNode(TElemTyp
23、e item, BiTNode *lptr , BiTNode *rptr ) if (!(T = (BiTNode*)malloc(sizeof(BiTNode) exit(1); T- data = item; T- lchild = lptr; T- rchild = rptr; return T;復制:BiTNode *CopyTree(BiTNode *T) if (!T ) return NULL; if (T-lchild ) newlptr = CopyTree(T-lchild); /復制左子樹 else newlptr = NULL; if (T-rchild ) newr
24、ptr = CopyTree(T-rchild); /復制右子樹 else newrptr = NULL; newT = GetTreeNode(T-data, newlptr, newrptr); return newT; / CopyTree例如:下列二叉樹的復制過程如下ABCDEFGHK D C B H K G F E AnewT建立二叉樹的存儲結(jié)構(gòu):基本要點: 以“遍歷”為基本出發(fā)點不同的遍歷方法相應地有不同的建立算法代碼以字符串的形式“根左子樹右子樹”定義一棵二叉樹例如:ABCD以空白字符“ ”表示A(B( ,C( , ),D( , )空樹只含一個根結(jié)點的二叉樹A以字符串“A ”表示
25、以下列字符串表示Status CreateBiTree(BiTree &T) /先序次序輸入結(jié)點 scanf(&ch); if (ch= ) T = NULL; /第一個字符為空白字符 else if (!(T = (BiTNode *)malloc(sizeof(BiTNode) exit(OVERFLOW); T-data = ch; / 生成根結(jié)點 CreateBiTree(T-lchild); / 構(gòu)造左子樹 CreateBiTree(T-rchild); / 構(gòu)造右子樹 return OK; / CreateBiTree上述算法的執(zhí)行過程:A B C D ABCDATBCD由二叉樹的
26、先序和中序序列建樹:僅知二叉樹的先序序列“abcdefg” ,不能唯一確定一棵二叉樹。如果同時已知二叉樹的中序序列“cbdaegf”,則會如何?二叉樹的先序序列二叉樹的中序序列左子樹右子樹根左子樹右子樹根abcdefgcbdaegf例如:a b c d e f gc b d a e g faab bccddeeffggabcdefg先序序列中序序列課后作業(yè)1. P41:6.286.3.2 線索二叉樹何謂線索二叉樹?遍歷二叉樹的結(jié)果是,求得結(jié)點的一個線性序列。ABCDEFGHK例如:先序序列: A B C D E F G H K中序序列: B D C A H G K F E后序序列: D C B
27、 H K G F E A“前驅(qū)”和“后繼”的信息是在遍歷的過程中動態(tài)得到的,不同的遍歷算法,確定的“前驅(qū)”和“后繼”是不同的!保 存?指向該線性序列中的“前驅(qū)”和 “后繼” 的指針,稱作“線索”。A B C D E F G H K D C B E 包含“線索”的存儲結(jié)構(gòu),稱作“線索鏈表”。與其相應的二叉樹,稱作“線索二叉樹”。對線索鏈表中結(jié)點的約定: 在二叉鏈表的結(jié)點中增加兩個標志域,并作如下規(guī)定:若該結(jié)點的左子樹不空, 則lchild域的指針指向其左子樹,且左標志域的值為“指針 Link”;否則,lchild域的指針指向其“前驅(qū)”,且左標志的值為“線索 Thread” 。若該結(jié)點的右子樹不空
28、, 則rchild域的指針指向其右子樹,且右標志域的值為 “指針 Link”;否則,rchild域的指針指向其“后繼”,且右標志的值為“線索 Thread”。 線索鏈表的存儲描述:typedef enum Link, Thread PointerThr; / Link=0:指針,Thread=1:線索typedef struct BiThrNod TElemType data; struct BiThrNode *lchild, *rchild; / 左、右指針 PointerThr LTag, RTag; / 左、右標志 BiThrNode, *BiThrTree;lchild LTag d
29、ata RTag rchild對二叉樹以某種次序遍歷使其變?yōu)榫€索二叉樹的過程稱為線索化。思考:一棵二叉樹的線索二叉樹是唯一的嗎?二叉線索鏈表二叉線索鏈表的遍歷: 添加了遍歷中得到的“前驅(qū)”和“后繼”的信息,從而簡化了遍歷的算法。for ( p = firstNode(T); p; p = Succ(p) ) Visit (p);例如:對中序線索化鏈表的遍歷算法。中序遍歷的第一個結(jié)點 ? 左子樹上處于“最左下”(沒有左子樹)的結(jié)點。在中序線索化鏈表中結(jié)點的后繼 ?若結(jié)點無右子樹, 則右鏈域所指結(jié)點即為其后繼;否則對其右子樹進行中序遍歷,訪問的第一個結(jié)點。void InOrderTraverse_
30、Thr(BiThrTree T, void (*Visit)(TElemType e) p = T-lchild; / T是頭結(jié)點指針,p指向根結(jié)點 while (p != T) / 空樹或遍歷結(jié)束時,p=T while (p-LTag=Link) p = p-lchild; / 找到序列中第一個結(jié)點 if (!Visit(p-data) return ERROR;/訪問左子樹為空的結(jié)點 while (p-RTag=Thread & p-rchild!=T) p = p-rchild; Visit(p-data); / 訪問后繼結(jié)點 p = p-rchild; / p進入其右子樹根 / InO
31、rderTraverse_Thr例如: 表達式的中序線索化鏈表的遍歷。abcde-+/f-NILNIL010000110000111111001111-+abcd-*ef/thrtbtpa+b*c-d-e/fppp判斷標志域,然后沿著指針/線索訪問后繼結(jié)點!如何建立線索鏈表?在中序遍歷過程中修改結(jié)點的左、右指針域,以保存當前訪問結(jié)點的“前驅(qū)”和“后繼”信息。遍歷過程中:附設指針pre, 并始終保持pre指向當前訪問的結(jié)點;另設指針p指向當前遞歸調(diào)用中正在訪問的結(jié)點,則pre指向p的前驅(qū)。void InThreading(BiThrTree p) if (p) / 對以p為根的非空二叉樹進行線索化 InThreading(p-lchild); / 左子
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年華師大新版八年級數(shù)學下冊月考試卷
- 團隊建設的核心打造高效能、高技能的工程團隊
- 2024-2025學年江西省贛州市崇義縣數(shù)學三年級第一學期期末檢測試題含解析
- 2024年租賃合同:出租人授權(quán)承租人使用物業(yè)
- 創(chuàng)新設計助力社交媒體平臺的用戶體驗升級
- 商業(yè)世界中的家庭教育親子互動策略
- 企業(yè)會議室辦公家私合理布局與個性化需求匹配
- 培養(yǎng)創(chuàng)新能力的教育方法與案例分析
- 辦公自動化中的禮儀規(guī)范與操作習慣
- 2025中國鐵塔陜西分公司校園招聘32人高頻重點提升(共500題)附帶答案詳解
- 新譯林版五年級上冊各單元教學反思(文本版本)(共5則)
- 吞咽困難與認知功能的關系探討
- 醫(yī)共體信息系統(tǒng)(HIS)需求說明
- CBL胸腔穿刺教學設計
- 軟件工程填空題(18套試題與答案)
- 數(shù)據(jù)庫課程設計-教材購銷管理系統(tǒng)
- 動機式訪談法:改變從激發(fā)內(nèi)心開始
- 旁站記錄新表(腳手架拆除)
- Web前端框架應用之微商城項目教學介紹課件
- 如何降低住院病人壓瘡的發(fā)生率PDCA-任亮亮
- 教育學 (202220232)學習通超星課后章節(jié)答案期末考試題庫2023年
評論
0/150
提交評論