版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
太
常
虐
然召芭
印
照感
小
騏熱熱*
藏
臂卷卷M監(jiān)
平^
^
^
^
1
9黑
卡
教學(xué)目的
學(xué)習(xí)本章的目的是了解數(shù)據(jù)結(jié)構(gòu)在程序設(shè)計中的作
用,能正確理解線性表、棧和隊列三種不同數(shù)據(jù)結(jié)構(gòu)的
異同,能夠在程序設(shè)計中正確選用數(shù)據(jù)結(jié)構(gòu)以便解決編
程中的問題。
了解樹和二叉樹的基本概念。
學(xué)習(xí)本章的另外一個目的是學(xué)會對一批數(shù)據(jù)進(jìn)行順
序查找和二分查找的基本方法,并且掌握選擇排序和冒
泡排序兩種最基本的排序算法設(shè)計思路和代碼實(shí)現(xiàn)。
鄭州航院計算機(jī)科學(xué)與應(yīng)用條M<l>M
教學(xué)要求
(1)理解數(shù)據(jù)結(jié)構(gòu)的概念,研究數(shù)據(jù)結(jié)構(gòu)涉及的內(nèi)容。
(2)了解什么是線性表,掌握線性表的順序存儲結(jié)構(gòu),
順序表的插入和刪除算法。
(3)了解棧和隊列的基本概念,為什么說棧是后進(jìn)先
出表,隊列是先進(jìn)先出表,熟悉進(jìn)棧、出棧、進(jìn)隊、出
隊的基本操作。
(4)理解樹和二叉樹的定義,了解樹的兩種存儲結(jié)構(gòu)
表示以及二叉樹的二叉鏈表表示。會寫出二叉樹的前序、
中序和后序遍歷方法。
鄭州航院計算機(jī)科學(xué)與應(yīng)用條IIMVI〉網(wǎng)
教學(xué)要求
(5)掌握順序表的順序查找和二分查找算法,能獨(dú)自
寫出相應(yīng)的程序代碼^
(6)掌握選擇排序和冒泡排序算法的基本思想,能順
利寫出上述算法的程序代碼。
鄭州航院計算機(jī)科學(xué)與應(yīng)用條囪
置點(diǎn)難點(diǎn)
重占.
~~Hk八、、,
?線性表的順序存儲結(jié)構(gòu)以及插入和刪除算法
?棧和隊列的概念
?樹和二叉樹的概念,二叉樹的二叉鏈表表示及其遍歷
?順序表的順序查找和二分查找算法
?選擇排序算法,冒泡排序算法
鄭州航院計算機(jī)科學(xué)與應(yīng)用條
點(diǎn)難點(diǎn)
難點(diǎn):
?線性表順序存儲結(jié)構(gòu)的插入和刪除算法
?循環(huán)隊列的類型描述,進(jìn)隊和出隊算法
?二叉樹的二叉鏈表表示
?有序表的兩分查找算法
?選擇排序算法的基本思想及其實(shí)現(xiàn)
?冒泡排序算法的基本思想及其實(shí)現(xiàn)
鄭州航院計算機(jī)科學(xué)與應(yīng)用條
教學(xué)容
5.1算法與數(shù)據(jù)結(jié)構(gòu)的基本概念
5.2線性表
5.3棧和隊列
5.4樹和二叉樹
5.5查找
5.6排序
鄭州航院計算機(jī)科學(xué)與應(yīng)用條
5.1算法與數(shù)據(jù)結(jié)構(gòu)的基本概念
5.1.1算法及其特征----------------------------------
著名計算機(jī)科學(xué)家DE.Knuth
(1)什么是算法?在《THEART°FCOMPUTER
PROGRAMMING》一書中稱:
“一個算法,就是一個有窮規(guī)則
的集合,其中之規(guī)則規(guī)定了一個
解決某一特定類型的問題的運(yùn)算
序列?!?/p>
鄭州航院計算機(jī)科學(xué)與應(yīng)用條___r
5.1.1算法及其特征
(1)什么是算法?(1)確定性
(2)有效性
(2)算法的特征
(3)有零個或多個輸入
(4)有一個或多個輸出
(5)有窮性
鄭州航院計算機(jī)科學(xué)與應(yīng)用條M<l>M
5.1.1算法及其特征
(1)什么是算法?
(2)算法的特征
(3)算法需要用計算機(jī)語言描述出來,才能在計算機(jī)上實(shí)
現(xiàn)算法欲解決的問題。
鄭州航院計算機(jī)科學(xué)與應(yīng)用條M<l>M
5.1.2數(shù)據(jù)結(jié)構(gòu)
數(shù)據(jù)是描述宏觀事物
(1)數(shù)據(jù)
的數(shù)字、字符以及一切能
夠輸入到計算機(jī)中的符號
集合。它是計算機(jī)程序使
用和加工的“原料”。
鄭州航院計算機(jī)科學(xué)與應(yīng)用條
5.1.2數(shù)據(jù)結(jié)構(gòu)
(1)數(shù)據(jù)
(2)數(shù)據(jù)元素數(shù)據(jù)元素是數(shù)據(jù)的
基本單位,也稱為數(shù)據(jù)
結(jié)點(diǎn)。一個數(shù)據(jù)元素可
以由若干個數(shù)據(jù)項組成。
0
鄭州航院計算機(jī)科學(xué)與應(yīng)用條
5.1.2數(shù)據(jù)結(jié)構(gòu)
(1)數(shù)據(jù)
數(shù)據(jù)對象是具有相
(2)數(shù)據(jù)元素同特性的數(shù)據(jù)元素的集
(3)數(shù)據(jù)對象合。數(shù)據(jù)對象中的數(shù)據(jù)
元素彼此之間存在的相
互關(guān)系或相互聯(lián)系叫做
結(jié)構(gòu)。
___________r
鄭州航院計算機(jī)科學(xué)與應(yīng)用系M<>>8
5.1.2數(shù)據(jù)結(jié)構(gòu)
(1)數(shù)據(jù)
()數(shù)據(jù)元素
2數(shù)據(jù)結(jié)構(gòu)就是具
(3)數(shù)據(jù)對象有結(jié)構(gòu)的數(shù)據(jù)元素
(4)數(shù)據(jù)結(jié)構(gòu)的集合。
0
鄭州航院計算機(jī)科學(xué)與應(yīng)用系
5.1.2數(shù)據(jù)結(jié)構(gòu)
1.數(shù)據(jù)的邏輯結(jié)構(gòu)對數(shù)據(jù)元素之間邏輯關(guān)系的描述。
________________________________
(1)線性結(jié)構(gòu)
鄭州航院計算機(jī)科學(xué)與應(yīng)用條M<l>M
5.1.2數(shù)據(jù)結(jié)構(gòu)
1數(shù)據(jù)的邏輯結(jié)構(gòu)
(1)線性結(jié)構(gòu)
(2)樹形結(jié)構(gòu)
鄭州航院計算機(jī)科學(xué)與應(yīng)用條M<l>M
5.1.2數(shù)據(jù)結(jié)構(gòu)
1數(shù)據(jù)的邏輯結(jié)構(gòu)
(1)線性結(jié)構(gòu)
(2)樹形結(jié)構(gòu)
(3)圖狀結(jié)構(gòu)
鄭州航院計算機(jī)科學(xué)與應(yīng)用條M<l>M
5.1.2數(shù)據(jù)結(jié)構(gòu)
2.數(shù)據(jù)的物理結(jié)構(gòu)
數(shù)據(jù)的邏輯結(jié)構(gòu)在計算機(jī)中的映像,即存儲表示。
(1)順序存儲結(jié)構(gòu)
特點(diǎn)是邏輯上相鄰的兩個數(shù)據(jù)元素存儲在物理位置
上也相鄰的兩個存儲單元,數(shù)據(jù)元素之間的關(guān)系由存儲
單元的鄰接關(guān)系來體現(xiàn)。
的由...
鄭州航院計算機(jī)科學(xué)與應(yīng)用條?I<Iy?〉網(wǎng)
5.1.2數(shù)據(jù)結(jié)構(gòu)
2.數(shù)據(jù)的物理結(jié)構(gòu)
(1)順序存儲結(jié)構(gòu)
(2)鏈?zhǔn)酱鎯Y(jié)構(gòu)
非順序存儲結(jié)構(gòu)是指邏輯上相鄰的元素在物理位置上
不要求相鄰,它們之間的邏輯關(guān)系用指針來鏈接。r
___________________________________________________________V
List-------?0------>1779------?1832------?1986------?20770
鄭州航院計算機(jī)科學(xué)與應(yīng)用條M<l>M
5.2線性表
5.2.7線性表的定義
線性表是心0個數(shù)據(jù)元素,…,an的有序集合。
(3i932,…,ai-i9a,8i+i9…,an)
ai的直接刖趨為ai-1,at的直接后繼為ai為。即除表中的ai與an
之外,其他每個元素有且僅有一個直接前趨和一個直接后繼元素。
5.2線性表
5.2.1線性表的定義
線性表是nNO個數(shù)據(jù)元素ai,a2,...,an的有序集合。
(a1,32,…,3i-i,a,8i+i,…,an)
ai的直接前趨為ai-1,at的直接后繼為ai+1。即除表中的ai與an
之外,其他每個元素有且僅有一個直接前趨和一個直接后繼元素。
鄭州航院計算機(jī)科學(xué)與應(yīng)用條M<l>M
5.2線性表
522線性表的順序存儲結(jié)構(gòu)
用一組地址連續(xù)的存儲單元依次存儲線性表的數(shù)據(jù)元素。
特點(diǎn):以元素在計算機(jī)內(nèi)“物理位置相鄰”來表示線性表中數(shù)據(jù)元
素之間的邏輯關(guān)系。線性表中任一數(shù)據(jù)元素都可以隨機(jī)存取。
數(shù)組下標(biāo)
0123456n
aia2as343536a7■■■3n
地址連續(xù)的
存儲單元
鄭州航院計算機(jī)科學(xué)與應(yīng)用條
5.2線性表
5.2.2線性表的順序存儲結(jié)構(gòu)
用一組地址連續(xù)的存儲單元依次存儲線性表的數(shù)據(jù)元素。
特點(diǎn):以元素在計算機(jī)內(nèi)“物理位置相鄰”來表示線性表中數(shù)據(jù)元
素之間的邏輯關(guān)系。線性表中任一數(shù)據(jù)元素都可以隨機(jī)存取。
地址連續(xù)的
存儲單元
鄭州航院計算機(jī)科學(xué)與應(yīng)用條
5.3棧和隊列
5.3.1棧
1棧的定義及其基本操作
棧是一種只允許在表
(1)棧
的一端進(jìn)行插入和刪除
運(yùn)算的線性表。亦稱棧
是“后進(jìn)先出表”。
_________________F
鄭州航院計算機(jī)科學(xué)與應(yīng)用條M<l>M
5.3.1棧
1棧的定義及其基本操作
(1)棧
在棧中,允許插入、
(2)棧頂、棧底
刪除的一端叫棧頂,棧
頂元素的位置由棧頂指
針(通常用top表示)
指出,另一端稱為棧底。
鄭州航院計算機(jī)科學(xué)與應(yīng)用系H<>M
5.3.1棧
1棧的定義及其基本操作
(1)棧
(2)棧頂、棧底
當(dāng)表中沒有元素
(3)空棧
時,稱之為空棧。
___r
鄭州航院計算機(jī)科學(xué)與應(yīng)用條
5.3.1棧
1棧的定義及其基本操作
(1)棧
棧的插入運(yùn)算簡稱
棧頂、棧底
為入?;蜻M(jìn)棧,刪除
(3)空棧
運(yùn)算簡稱為出?;蛲?/p>
(4)進(jìn)棧、出棧棧。
0
鄭州航院計算機(jī)科學(xué)與應(yīng)用條
5.3.1棧
2棧的表示和實(shí)現(xiàn)
棧的順序存儲結(jié)構(gòu),
(1)棧的鏈?zhǔn)酱鎯Y(jié)構(gòu)
是利用一組地址連續(xù)的
存儲單元作為棧的存儲
(2)棧的順序存儲結(jié)構(gòu)
空間,同時附設(shè)指針top
指示棧頂元素在順序棧
中的位置。0
鄭州航院計算機(jī)科學(xué)與應(yīng)用條M<l>M
5.3.2隊列
1.隊列的定義及其基本操作
⑴隊列隊列也簡稱隊,它是一
種只允許在表的一端進(jìn)行插
入操作而在表的另一端進(jìn)行
刪除操作的線性表。隊列也
稱為“先進(jìn)先出表”。
鄭州航院計算機(jī)科學(xué)與應(yīng)用條M<l>M
5.3.2隊列
1.隊列的定義及其基本操作
(1)隊列允許進(jìn)行插入的一端
(2)隊尾與隊頭稱為隊尾,隊尾元素的位
置由rear指出;
允許刪除的一端稱為
隊頭,隊頭元素的位置由
front指出。0
鄭州航院計算機(jī)科學(xué)與應(yīng)用條M<l>M
5.3.2隊歹U
2.隊的循環(huán)隊列實(shí)現(xiàn)
所謂“循環(huán)隊列”是指把順序
隊列設(shè)想成頭尾相連的循環(huán)表,使
得存儲空間可以重復(fù)使用。
鄭州航院計算機(jī)科學(xué)與應(yīng)用條M<l>M
5.4樹和二叉樹
5.4.7樹
1.樹的定義:
樹是g0結(jié)點(diǎn)的有窮集合T。當(dāng)n=0時稱之為空樹。在任何一棵非
空樹T中,必有一個特定的結(jié)點(diǎn),稱之為T的根結(jié)點(diǎn);其余結(jié)點(diǎn)被分成
m20個不相交的子集T1、T2、…、Tm,其中每一個子集Ti(七區(qū)m)本身
2.樹的存儲結(jié)構(gòu)
1)帶雙親的孩子鏈表表示法
這種存儲結(jié)構(gòu)是指,把每個結(jié)點(diǎn)的多個孩子視為一個線性表,且以
單鏈表作為存儲結(jié)構(gòu)。
鄭州航院計算機(jī)科學(xué)與應(yīng)用多:!<<[>[>[]
帶雙親的樹的孩子鏈表表示
鄭州航院計算機(jī)科
2.樹的存儲結(jié)構(gòu)
2)孩子兄弟鏈表表示法
孩子兄弟表示法又稱為二叉樹表示方法。即鏈表中結(jié)點(diǎn)的兩個
指針域分別指向該結(jié)點(diǎn)的第1個孩子結(jié)點(diǎn)和下一個兄弟結(jié)點(diǎn)。
鄭州航院計算機(jī)科學(xué)與應(yīng)用條M<l>M
5.4樹和二叉樹
5.4.2二叉樹
1.二叉樹的定義
二叉樹是忙0個結(jié)點(diǎn)的有限集合。在任意一棵非空二叉樹中,
每個結(jié)點(diǎn)至多只有兩棵子樹,并且二叉樹的子樹有左右之分,其次
序不能任意顛倒。
5.4樹和二叉樹
542二叉樹
2.二叉樹的存儲結(jié)構(gòu)
般情況下,利用鏈?zhǔn)酱鎯Y(jié)構(gòu)表示二叉樹。
Lchilddatarchild
鄭州航院計算機(jī)科學(xué)與應(yīng)用條M<l>M
5.4樹和二叉樹
542二叉樹
3.二叉樹的遍歷
二叉樹的遍歷是指,按一定的次序巡訪該樹中每個結(jié)點(diǎn),使得
每個結(jié)點(diǎn)被訪問且僅被訪問一次??梢?,遍歷的過程就使得原來具
有層次特性的各結(jié)點(diǎn)變成了一個結(jié)點(diǎn)的線性序列。
二叉鏈樹由根結(jié)點(diǎn)、左子樹、右子樹三個基本單元組成,假如
以L、D、R分別表示遍歷左子樹、訪問根結(jié)點(diǎn)和遍歷右子樹,且限
定先左后右,則可有DLR、LDR、LRD三種遍歷二叉樹的方法,并
且分別稱之為先(根)序遍歷,中(根)序遍歷和后(根)序遍歷。
鄭州航院計算機(jī)科學(xué)與應(yīng)用條M<l>M
5.5查找
5.5.1查詢表的概念
(1)查詢表查詢表是由同一類型
的數(shù)據(jù)元素構(gòu)成的集合,
集合中的數(shù)據(jù)元素之間存
在著完全松散的關(guān)系。
只作“查找”操作的表
稱為靜態(tài)查找表。0
鄭州航院計算機(jī)科學(xué)與應(yīng)用條
5.5.1查詢表的概念
(1)查詢表
關(guān)鍵字是數(shù)據(jù)元素
(2)關(guān)鍵字
(或記錄)中某個數(shù)據(jù)項
的值,用它可以標(biāo)識一個
數(shù)據(jù)元素(或記錄)。
鄭州航院計算機(jī)科學(xué)與應(yīng)用條
5.5.1查詢表的概念
(1)查詢表
查找是根據(jù)給定的某個值,
(2)關(guān)鍵字
在查找表中確定一個其關(guān)鍵字
(3)查找
等于給定值的記錄或數(shù)據(jù)元素,
若表中存在這樣的一個記錄,
則稱查找是成功的;若表中不
存在關(guān)鍵字等于給定值的記錄,
則稱查找失敗。
鄭州航院計算機(jī)科學(xué)與應(yīng)用條
5.5.2順序表的查找
編寫一個函數(shù),功能為從整型數(shù)組A中查
找整數(shù)x是否存在(數(shù)組A(0)并未存儲
數(shù)據(jù))。若x存在則返回x在數(shù)組中的下標(biāo),
否則返回O。
_________________________________r
012345678
2442636915894721
鄭州航院計算機(jī)科學(xué)與應(yīng)用條M<l>M
5.5.2順序表的查找
FunctionSearch(ByRefA()AsInteger,ByVaixAsInteger)
AsInteger
'A(O)沒有存儲數(shù)據(jù)
DimiAsInteger
A(0)=x
i=UBound(A)
WhileA(i)<>x
i=i-1
EndWhile
Returni
EndFunction
鄭州航院計算機(jī)科學(xué)與應(yīng)用條DO<l>M
5.5.3有序表的查找
(1)對有序表的查找可以采用折半查找(亦稱對分查找或
二分查找)來實(shí)現(xiàn)。
(2)折半查找過程
先確定待查記錄所在的范圍(區(qū)間),然后逐步縮小區(qū)間,
直到查找成功或找不到該數(shù)據(jù)元素為止。
用low和high指針分別指示待查數(shù)據(jù)元素所在范圍的下界和上
界,指針mid指示區(qū)間的中間位置,即mid=int(low+high)/2。
、折半查找算法演示
鄭州航院計算機(jī)科學(xué)與應(yīng)用條
1、查找成功的演示(查找key=21)
1234567891011
0513192137566475808892
▲▲
lowhigh
鄭州航院計算機(jī)科學(xué)與應(yīng)用條M<l>M
1、查找成功的演示(查找key=21)
1234567891011
0513192137566475808892
▲▲▲
lowmidhigh
mid=(low+high)/2=(1+11)/2=6
鄭州航院計算機(jī)科學(xué)與應(yīng)用條DO<l>M
1、查找成功的演示(查找key=21)
1234567891011
0513192137566475808892
▲▲▲
lowmidhigh
key=21<v[mid]=56o
所以key應(yīng)該處于區(qū)間[low,mid-1]中
鄭州航院計算機(jī)科學(xué)與應(yīng)用條M<l>M
1、查找成功的演示(查找key=21)
1234567891011
0513192137566475808892
▲
lowhigh
鄭州航院計算機(jī)科學(xué)與應(yīng)用條M<l>M
1、查找成功的演示(查找key=21)
1234567891011
0513192137566475808892
▲
lowhigh
luwmid
mid=(low+high)/2=(1+5)/2=3
鄭州航院計算機(jī)科學(xué)與應(yīng)用條DO<l>M
1、查找成功的演示(查找key=21)
1234567891011
0513192137566475808892
▲
lowhigh
luwmid
key=21>v[mid]=19o
所以key應(yīng)該處于區(qū)間[mid+1,high]中
鄭州航院計算機(jī)科學(xué)與應(yīng)用條Il<lVI〉網(wǎng)
1、查找成功的演示(查找key=21)
1234567891011
0513192137566475808892
▲▲
lowhigh
鄭州航院計算機(jī)科學(xué)與應(yīng)用條M<l>M
1、查找成功的演示(查找key=21)
1234567891011
0513192137566475808892
▲▲
lowhigh
八
mid
mid=(low+high)/2=(4+5)/2=4取不大于小數(shù)的整數(shù)
鄭州航院計算機(jī)科學(xué)與應(yīng)用條1Kly區(qū)
1、查找成功的演示(查找key=21)
1234567891011
0513192137566475808892
▲▲
lowhigh
八
mid
key=21==v[mid]=21o查找成功,返回。
鄭州航院計算機(jī)科學(xué)與應(yīng)用條Il<lVI〉I陽
2、查找不成功的演示(查找key=85)
1234567891011
0513192137566475808892
▲
lowhigh
鄭州航院計算機(jī)科學(xué)與應(yīng)用條M<l>M
2、查找不成功的演示(查找key=85)
1234567891011
0513192137566475808892
▲
lowhigh
mid
mid=(low+high)/2=(1+11)/2=6
鄭州航院計算機(jī)科學(xué)與應(yīng)用條DO<l>M
2、查找不成功的演示(查找key=85)
1234567891011
0513192137566475808892
▲
lowhigh
mid
key=85>v[mid]=56。
所以key應(yīng)該處于區(qū)間[mid+1,high]中
鄭州航院計算機(jī)科學(xué)與應(yīng)用條M<l>M
2、查找不成功的演示(查找key=85)
1234567891011
0513192137566475808892
▲
lowhigh
鄭州航院計算機(jī)科學(xué)與應(yīng)用條M<l>M
2、查找不成功的演示(查找key=85)
1234567891011
0513192137566475808892
■
▲
lowhigh
mid
mid=(low+high)/2=(7+11)/2=9
鄭州航院計算機(jī)科學(xué)與應(yīng)用條DO<l>M
2、查找不成功的演示(查找key=85)
1234567891011
0513192137566475808892
■
▲
lowhigh
mid
key=85>v[mid]=80。
所以key應(yīng)該處于區(qū)間[mid+1,high]中
鄭州航院計算機(jī)科學(xué)與應(yīng)用條M<l>M
2、查找不成功的演示(查找key=85)
1234567891011
0513192137566475808892
■▲
lowhigh
鄭州航院計算機(jī)科學(xué)與應(yīng)用條M<l>M
2、查找不成功的演示(查找key=85)
1234567891011
0513192137566475808892
■▲
lowhigh
■
mid
?“I/hi㈤id=(low+high)/2=(10+11)/2=10
鄭州航院計算機(jī)科學(xué)與應(yīng)用條MOO'
2、查找不成功的演示(查找key=85)
V0513192137566475808892
lowhigh
▲
key=85<v[mid]=88。
mid
所以key應(yīng)該處于區(qū)間[low,mid-1]中
鄭州航院計算機(jī)科學(xué)與應(yīng)用條
2、查找不成功的演示(查找key=85)
1234567891011
0513192137566475808892
highlow
鄭州航院計算機(jī)科學(xué)與應(yīng)用條M<l>M
2、查找不成功的演示(查找key=85)
1234567891011
0513192137566475808892
highlow
因為highvlow,查找失敗
鄭州航院計算機(jī)科學(xué)與應(yīng)用條M<l>M
3、算法實(shí)現(xiàn)
FunctionBSearch(ByRefA()AsInteger,ByVaixAsInteger)AsInteger
Dimmid,low,highAsInteger
low=1:high=UBound(A)
WhileTrue
mid=(low+high)\2
Ifx=A(mid)Then
Returnmid
Elselfx<A(mid)Then
high=mid-1
Else
low=mid+1
EndIf
Iflow>highThen
Return0
EndIf
鄭州北院計j號L科學(xué)與應(yīng)用條Il<lVI〉IDM
EndFunction
5.6排序
排序是指將一組數(shù)據(jù)元素的無序序列調(diào)整為一個有序序列。其目的
是便于對數(shù)據(jù)進(jìn)行檢索。
5.6.1選擇排序
鄭州航院計算機(jī)科學(xué)與應(yīng)用條
567選擇排序
方法1:演示前兩趟
第一趟開始
i指向第一個位置,j指向i的下一個位置
12345678
15446167349850
鄭州航院計算機(jī)科學(xué)與應(yīng)用條
567選擇排序
方法1:
12345678
ou
鄭州航院計算機(jī)科學(xué)與應(yīng)用條M<l>M
567選擇排序
方法1:
12345678
41546167349850
567選擇排序
方法1:
12345678
鄭州航院計算機(jī)科學(xué)與應(yīng)用條M<l>M
567選擇排序
方法1:
12345678
11546467349850
鄭州航院計算機(jī)科學(xué)與應(yīng)用條M<l>M
567選擇排序
方法1:
12345678
11546467349850
鄭州航院計算機(jī)科學(xué)與應(yīng)用條M<l>M
567選擇排序
方法1:
12345678
鄭州航院計算機(jī)科學(xué)與應(yīng)用條M<l>M
567選擇排序
方法1:
12345678
鄭州航院計算機(jī)科學(xué)與應(yīng)用條M<l>M
567選擇排序
方法1:
12345678
ou
鄭州航院計算機(jī)科學(xué)與應(yīng)用條M<l>M
567選擇排序
方法1:
第二趟
位置后移1位,j指向i的下一個位置
12345678
11546467349850
鄭州航院計算機(jī)科學(xué)與應(yīng)用條M<l>M
567選擇排序
方法1:
第二趟
位置后移1位,j指向i的下一個位置
12345678
11546467349850
鄭州航院計算機(jī)科學(xué)與應(yīng)用條M<l>M
567選擇排序
方法1:
第二趟
位置后移1位,j指向i的下一個位置
12345678
11546467349850
鄭州航院計算機(jī)科學(xué)與應(yīng)用條M<l>M
567選擇排序
方法1:
第二趟
位置后移1位,j指向i的下一個位置
12345678
14461567349850
鄭州航院計算機(jī)科學(xué)與應(yīng)用條M<l>M
567選擇排序
方法1:
第二趟
位置后移1位,j指向i的下一個位置
12345678
14461567349850
鄭州航院計算機(jī)科學(xué)與應(yīng)用條M<l>M
567選擇排序
方法1:
第二趟
位置后移1位,j指向i的下一個位置
12345678
14461567349850
鄭州航院計算機(jī)科學(xué)與應(yīng)用條M<l>M
567選擇排序
方法1:
第二趟
位置后移1位,j指向i的下一個位置
12345678
14461567349850
鄭州航院計算機(jī)科學(xué)與應(yīng)用條M<l>M
567選擇排序
方法1:
第二趟
位置后移1位,j指向i的下一個位置
12345678
鄭州航院計算機(jī)科學(xué)與應(yīng)用條M<l>M
567選擇排序
方法1:
12345678
鄭州航院計算機(jī)科學(xué)與應(yīng)用條M<l>M
567選擇排序
方法1:
SubSelectSort(ByRefA()AsInteger)
Dimi,j,tAsInteger
Fori=1ToUBound(A)—1'外層循環(huán)控制趟數(shù)
Forj=i+1ToUBound(A)'從i位置的下一個位置開始比較
lfA(i)>AQ)Then'若發(fā)現(xiàn)有比A(i)小的,則交換
t=A(i):A(i)=A(j):AO)=t
EndIf
Next
Next
EndSub
鄭州航院計算機(jī)科學(xué)與應(yīng)用條DO<l>M
5.6.1選擇排序
方法2:
第一趟:從A(1)到上界,選擇一個最小的和A(1)進(jìn)行交換。
鄭州航院計算機(jī)科學(xué)與應(yīng)用條
5.6.1選擇排序
方法2:
第一趟:從A(1)到上界,選擇一個最小的和A(1)進(jìn)行交換。
鄭州航院計算機(jī)科學(xué)與應(yīng)用條M<l>M
567選擇排序
方法2:
第二趟:從A(2)到上界,選擇一個最小的和A(2)進(jìn)行交換。
5.6.1選擇排序
方法2:_
第二趟:從A(2)到上界,選擇一個最小的和A(2)進(jìn)行交換。
12345678
鄭州航院計算機(jī)科學(xué)與應(yīng)用樂IKIWIATM
567選擇排序
SubSelectSort2(ByRefA()AsInteger)
Dimi,j,min,tAsInteger
Fori=1ToUBound(A)-1
min=i
Forj=i+1ToUBound(A)
IfA(j)<A(min)Then
min=j
EndIf
Next
Ifi<>minThen
t=A(i)
A(i)=A(min)
A(min)=t
EndIf
Next
EndSub
鄭州航院計算機(jī)科學(xué)與應(yīng)用條ii<iv?/rw
5.6排序
562交換排序
交換排序的基本思想:
兩兩比較待排序數(shù)列中的記錄關(guān)鍵字,并交換不滿足順序要求
的數(shù)據(jù)對,直到全部序列排好序為止。
最簡單的交換排序方法是冒泡排序。
冒泡排序總共要做n-1輪處理過程,與選擇排序不同的是在每一
輪排序時將相鄰的數(shù)據(jù)時進(jìn)行比較,當(dāng)次序不對就交換位置,出了
內(nèi)循環(huán),最大數(shù)已經(jīng)冒出。一輪排序過程也稱為一次冒泡。
鄭州航院計算機(jī)科學(xué)與應(yīng)用條M<l>M
562交換排序
冒泡排序演示:
第一趟
i指向第一個位置,j指向i的下一個位置
12345678
15446134679850
鄭州航院計算機(jī)科學(xué)與應(yīng)用條M<l>M
562交換排序
冒泡排序演示:
15446134679850
562交換排序
冒泡排序演示:
12345678
鄭州航院計算機(jī)科學(xué)與應(yīng)用條M<l>M
562交換排序
冒泡排序演示:
1234567
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年高校與企業(yè)合作協(xié)議教授聘請合同范本3篇
- 2025版木門企業(yè)安全生產(chǎn)責(zé)任書合同范本2篇
- 2025年分期付款運(yùn)動服裝合同
- 2025年分期室內(nèi)設(shè)計服務(wù)合同
- 跨國集團(tuán)2025年度全球營銷戰(zhàn)略合同2篇
- 2025年版?zhèn)€人汽車買賣合同示范文本3篇
- 2025年汽車配件贈與協(xié)議
- 二零二五年敬老院養(yǎng)老用品銷售與售后服務(wù)合同規(guī)范3篇
- 2025版教育培訓(xùn)機(jī)構(gòu)合作協(xié)議樣本3篇
- 2025版學(xué)生實(shí)訓(xùn)基地實(shí)習(xí)就業(yè)保障服務(wù)合同3篇
- 《社會工作實(shí)務(wù)》全冊配套完整課件3
- 單位違反會風(fēng)會書檢討書
- 2024年4月自考00832英語詞匯學(xué)試題
- 《電力用直流電源系統(tǒng)蓄電池組遠(yuǎn)程充放電技術(shù)規(guī)范》
- 《哪吒之魔童降世》中的哪吒形象分析
- 信息化運(yùn)維服務(wù)信息化運(yùn)維方案
- 汽車修理廠員工守則
- 公安交通管理行政處罰決定書式樣
- 10.《運(yùn)動技能學(xué)習(xí)與控制》李強(qiáng)
- 冀教版數(shù)學(xué)七年級下冊綜合訓(xùn)練100題含答案
- 1神經(jīng)外科分級護(hù)理制度
評論
0/150
提交評論