版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
3.2數(shù)據(jù)的排序高中信息技術(shù)/教科版/選擇性必修1目錄1.情境導(dǎo)入3.討論探究2.體驗(yàn)探究4.課堂小結(jié)1.情境導(dǎo)入網(wǎng)上商城平臺(tái)是如何實(shí)現(xiàn)按價(jià)格、銷量等進(jìn)行升序或降序排序,并顯示商品信息的呢?本節(jié)圍繞“按序查看商品”項(xiàng)目展開(kāi)學(xué)習(xí),通過(guò)項(xiàng)目活動(dòng)學(xué)習(xí)常見(jiàn)的排序算法,體會(huì)迭代方法的具體應(yīng)用,理解數(shù)據(jù)結(jié)構(gòu)與算法的關(guān)系。本節(jié)主要包含“按價(jià)格升序顯示商品”和“按銷量降序顯示商兩個(gè)任務(wù)。2.體驗(yàn)探究
任務(wù)一
按價(jià)格升序顯示商品
活動(dòng)1初步嘗試排序下面是某網(wǎng)上商城的簽字筆銷售數(shù)據(jù),請(qǐng)將表中數(shù)據(jù)按價(jià)格從低到高進(jìn)行排序,將排序后的結(jié)果填入對(duì)應(yīng)的表格中。品牌銷量/盒價(jià)格/元評(píng)論數(shù)/條博士8066108英雄1887886永輝23658186晨輝20046190得利566850梅花1852692簽字筆銷售數(shù)據(jù)
任務(wù)一
按價(jià)格升序顯示商品
活動(dòng)1初步嘗試排序品牌銷量/盒價(jià)格/元評(píng)論數(shù)/條填一填按價(jià)格從低到高排序后的簽字筆銷售數(shù)據(jù)梅花1852692晨輝20046190永輝23658186博士8066108得利566850英雄1887886你是如何排序的呢?對(duì)簽字筆銷售數(shù)據(jù)按照價(jià)格從低到高進(jìn)行排序的過(guò)程就是整理數(shù)據(jù)順序的過(guò)程。通過(guò)比較價(jià)格的大小,調(diào)整數(shù)據(jù)的順序。在整理的過(guò)程中,只調(diào)整數(shù)據(jù)的排列順序,不改變數(shù)據(jù)內(nèi)容。排序(sorting)就是整理數(shù)據(jù)的順序,使其從無(wú)序變?yōu)橛行颉E判虻母拍?.討論探究
任務(wù)一
按價(jià)格升序顯示商品
活動(dòng)2體驗(yàn)冒泡排序過(guò)程博士66英雄78永輝58晨輝46得利68梅花26不交換博士66英雄78永輝58晨輝46得利68梅花26交換博士66永輝58晨輝46英雄78得利68梅花26交換博士66永輝58晨輝46得利68英雄78梅花26博士66永輝58晨輝46得利68梅花26英雄78交換交換在未排序的簽字筆銷售數(shù)據(jù)中找到價(jià)格最高者放在序列的末尾,這樣未排序的簽字筆銷售數(shù)據(jù)就會(huì)減少1個(gè)。若干次迭代后,當(dāng)未排序的簽字筆銷售數(shù)據(jù)只剩下一個(gè)時(shí),排序就完成了。第1次迭代過(guò)程
任務(wù)一
按價(jià)格升序顯示商品
活動(dòng)2體驗(yàn)冒泡排序過(guò)程經(jīng)過(guò)5次“比較一交換”,第1次迭代后價(jià)格的序列是:66,58,46,68,26,78。根據(jù)這個(gè)思路,補(bǔ)全圖3.2.3,完成第2次迭代過(guò)程。博士66永輝58晨輝46得利68梅花26英雄78英雄78英雄78英雄78交換永輝58晨輝46博士66得利68梅花26永輝58晨輝46博士66得利68梅花26永輝58晨輝46博士66梅花26得利68交換不交換交換第2次迭代過(guò)程
任務(wù)一
按價(jià)格升序顯示商品
活動(dòng)2體驗(yàn)冒泡排序過(guò)程填一填第2次迭代后價(jià)格的序列是:
,未排序的數(shù)據(jù)剩下
個(gè)。第3次選代后價(jià)格的序列是:
,未排序的數(shù)據(jù)剩下
個(gè)。第4次迭代后價(jià)格的序列是:
,未排序的數(shù)據(jù)剩下
個(gè)。第5次選代后價(jià)格的序列是:
,未排序的數(shù)據(jù)剩下
個(gè)。經(jīng)過(guò)5次迭代,最后完成了6個(gè)簽字筆銷售數(shù)據(jù)按照價(jià)格升序排列。58,46,66,26,68,78446,58,26,66,68,78346,26,58,66,68,78226,46,58,66,68,781
任務(wù)一
按價(jià)格升序顯示商品
活動(dòng)3建立數(shù)據(jù)結(jié)構(gòu)冒泡排序(bubblesort)是一種通過(guò)“比較一交換”進(jìn)行排序的方法,首先將第1個(gè)數(shù)據(jù)和第2個(gè)數(shù)據(jù)進(jìn)行比較,若為逆序,則將兩個(gè)數(shù)據(jù)交換位置;然后比較第2個(gè)數(shù)據(jù)和第3個(gè)數(shù)據(jù),以此類推,直至最后兩個(gè)數(shù)據(jù)進(jìn)行過(guò)“比較一交換”為止。上述過(guò)程稱作第一趟“冒泡”,其結(jié)果使得最大的數(shù)據(jù)被放到最后的位置上。之后對(duì)除了最大數(shù)據(jù)之外的剩余部分進(jìn)行下一趟“冒泡”,經(jīng)過(guò)若干趟“冒泡”后,如果剩余部分只包含一個(gè)數(shù)據(jù),則冒泡排序完成。冒泡排序
任務(wù)一
按價(jià)格升序顯示商品
活動(dòng)3建立數(shù)據(jù)結(jié)構(gòu)為了便于對(duì)簽字筆銷售數(shù)據(jù)進(jìn)行處理,定義簽字筆商品類,其Python代碼如下。01.#定義簽字筆商品類02.classpen:03.def__init__(self,brand,sales,price,comments)04.self.brand=brand
#品牌05.self.sales=sales
#銷量06.self.price=price
#價(jià)格07.ments=comments
#評(píng)論數(shù)
任務(wù)一
按價(jià)格升序顯示商品
活動(dòng)3建立數(shù)據(jù)結(jié)構(gòu)創(chuàng)建一個(gè)線性表對(duì)象alist,存放表3.2.1所示的簽字筆銷售數(shù)據(jù)對(duì)象。請(qǐng)補(bǔ)全下面的代碼。08.fromlinearListimportLinearList
#導(dǎo)入線性表09.alist=LinearList()
#創(chuàng)建線性表對(duì)象"10.alist.appendItem(pen("博士",8,66,108))
#添加簽字筆數(shù)據(jù)元素11.alist.appendItem(pen("英雄",188,78,86))
#添加簽字筆數(shù)據(jù)元素12.alist.appendItem(pen("永輝",236,58,186))
#添加簽字筆數(shù)據(jù)元素13alist.appendItem(pen())#添加簽字筆數(shù)據(jù)元素14.alist.appendItem(pen())#添加簽字筆數(shù)據(jù)元素15.alist.appendItem(pen())#添加簽字筆數(shù)據(jù)元素‘晨輝’,200,46,190‘得利’,56,68,50‘梅花’,185,26,92
任務(wù)一
按價(jià)格升序顯示商品
活動(dòng)4算法設(shè)計(jì)與實(shí)現(xiàn)假設(shè)有n個(gè)簽字筆銷售數(shù)據(jù),冒泡排序的算法描述如下:(1)進(jìn)行n-1趟“冒泡”過(guò)程,每趟操作如步驟(2)和(3),如果未完成則繼續(xù)進(jìn)行操作。第1趟的冒泡范圍是n個(gè)數(shù)據(jù)(2)從第1個(gè)數(shù)據(jù)開(kāi)始,依次比較相鄰兩個(gè)數(shù)據(jù),如果逆序則交換位置,直到比較完最后兩個(gè)數(shù)。冒泡范圍內(nèi)的最大數(shù)據(jù)會(huì)被交換到最后的位置上。(3)將本趟的最大數(shù)據(jù)排除出“冒泡”操作范圍。根據(jù)上述算法,定義冒泡排序函數(shù)bubbleSort(alist,key),參數(shù)alist表示需要排序的線性表,key表示排序的關(guān)鍵詞。請(qǐng)補(bǔ)全下面的代碼。
任務(wù)一
按價(jià)格升序顯示商品
活動(dòng)4算法設(shè)計(jì)與實(shí)現(xiàn)16.#冒泡排序算法17.defbubbleSort(alist,key):
18.foriinrange(alist.size()-1):
#控制“冒泡”趟數(shù)19.#控制“冒泡”范圍20.forjinrange(1,alist.size()-i):
21.#相鄰兩數(shù)比較22.ifgetattr(
,key)>getattr(alist.getItem(j),key):23.temp=alist.getItem(j-1)24.alist.setItem(j-1,alist.getItem(j))25.alist.setItem(j,
)
#交換位置alist.getItem(j-1)temp
任務(wù)二
按銷量降序顯示商品
活動(dòng)1體驗(yàn)直接插入排序過(guò)程如何將表中的所有數(shù)據(jù)按照銷量從高到低進(jìn)行排序呢?第1個(gè)簽字筆銷售數(shù)據(jù)已經(jīng)有序,把待排序的簽字筆銷售數(shù)據(jù)按照銷量插入到有序序列的合適位置,有序數(shù)據(jù)就增加1個(gè)。這樣迭代若干次后,直到所有的待排序簽字筆銷售數(shù)據(jù)插入完為止,排序就完成了。比較插入
任務(wù)二
按銷量降序顯示商品
活動(dòng)1體驗(yàn)直接插入排序過(guò)程銷量是80的簽字筆銷售數(shù)據(jù)是有序子序列,把銷量為188的簽字筆銷售數(shù)據(jù)插入。比較80和188的大小,80<188,將銷量為80的簽字筆銷售數(shù)據(jù)后移一個(gè)位置,將銷量為188的簽字筆銷售數(shù)據(jù)插入到它的前面。第1次迭代后銷量的序列是:188,80,236,200,56,185。第1次迭代
任務(wù)二
按銷量降序顯示商品
活動(dòng)1體驗(yàn)直接插入排序過(guò)程第2次迭代:插入銷量為236的簽字筆銷售數(shù)據(jù),從有序子序列(188,80)的最后1個(gè)數(shù)據(jù)開(kāi)始,將銷量為236的簽字筆銷售數(shù)據(jù)與序列中的數(shù)據(jù)逐一比較大小,確定插入位置。比較80和236,80<236。將銷量為80的簽字筆銷售數(shù)據(jù)后移一個(gè)位置;比較188和236。188<236,將銷量為188的簽字筆銷售數(shù)據(jù)后移一個(gè)位置,將銷量為236的簽字筆銷售數(shù)據(jù)插入到它的前面。經(jīng)過(guò)兩次比較后確定位置并插入,第2次迭代后銷量的序列是:236,188,80,200,56,185。第2次迭代
任務(wù)二
按銷量降序顯示商品
活動(dòng)1體驗(yàn)直接插入排序過(guò)程請(qǐng)?jiān)谙旅娴臋M線上依次寫(xiě)出其他各次迭代的結(jié)果。第3次迭代::插入
,迭代后銷量的序列是:
;
第4次迭代:插入
,迭代后銷量的序列是:
;第5次迭代:插入
,迭代后銷量的序列是:
;經(jīng)過(guò)5次迭代,最后完成了6個(gè)簽字筆銷售數(shù)據(jù)按照銷量降序排列。填一填200236,200,188,80,56,18556236,200,188,80,56,185185236,200,188,185,80,56
任務(wù)二
按銷量降序顯示商品
活動(dòng)1體驗(yàn)直接插入排序過(guò)程直接插入排序(straightinsertionsort)是一種通過(guò)“比較一插入進(jìn)行排序的方法?;静僮魇菑挠行蜃有蛄械淖詈笠粋€(gè)數(shù)據(jù)開(kāi)始,待排序的數(shù)據(jù)與有序子序列中的所有數(shù)據(jù)逐一進(jìn)行比較,確定插入的位置并插入數(shù)據(jù)。上述過(guò)程稱作一次插入操作,其結(jié)果是將一個(gè)數(shù)據(jù)插入到已經(jīng)排好序的數(shù)據(jù)序列中,從而得到一個(gè)新的、數(shù)據(jù)數(shù)量增加一個(gè)的有序子序列。對(duì)未排序的數(shù)據(jù)進(jìn)行相同的操作,重復(fù)若干次插入操作,直到所有的未排序數(shù)據(jù)插入完為止,則插入排序完成。直接插入排序
任務(wù)二
按銷量降序顯示商品
活動(dòng)2直接插入排序算法的設(shè)計(jì)與實(shí)現(xiàn)分析活動(dòng)1中排序過(guò)程和直接插入排序的基本思想,假設(shè)有n個(gè)簽字筆銷售數(shù)據(jù),實(shí)現(xiàn)直接插入排序的算法描述如下:(1)進(jìn)行n-1次插入操作,每次操作如步驟(2)和(3),如果未完成則繼續(xù)進(jìn)行。默認(rèn)第1個(gè)數(shù)據(jù)是有序子序列。(2)取得當(dāng)前待排序數(shù)據(jù),從有序數(shù)據(jù)序列的最后一個(gè)數(shù)據(jù)開(kāi)始,待排序數(shù)據(jù)與其逐一進(jìn)行比較,如果大于對(duì)方則后移該數(shù)據(jù),確定插入位置。(3)將待排序數(shù)據(jù)插入到有序數(shù)據(jù)序列中。
任務(wù)二
按銷量降序顯示商品
活動(dòng)2直接插入排序算法的設(shè)計(jì)與實(shí)現(xiàn)根據(jù)上述算法,定義insertionSort(alist,key)函數(shù),參數(shù)alist表示要排序的線性表,key表示排序的關(guān)鍵詞。請(qǐng)補(bǔ)全下面的代碼。16.#直接插入排序算法17.definsertionSort(alist,key):18.#默認(rèn)第1個(gè)數(shù)據(jù)已有序,控制插入次數(shù)19.foriinrange(1,alist.size()):20.currentdata=alist.getItem(i)
#取當(dāng)前待排序數(shù)據(jù)21.j=i22.#與待排序數(shù)據(jù)進(jìn)行比較
任務(wù)二
按銷量降序顯示商品
活動(dòng)2直接插入排序算法的設(shè)計(jì)與實(shí)現(xiàn)23.whilej>andgetattr(alist.getItem(j-1),key)<24.getattr(
)25.alist.setItem(j,alist.getItem(j-1))
#后移數(shù)據(jù)26.j=j-1
#確定插入位置27.alist.setItem(j,
)#插入數(shù)據(jù)currentdata,
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度智慧城市建設(shè)中的光纜鋪設(shè)分包合同2篇
- 二零二五年度充電樁智能監(jiān)控系統(tǒng)安裝合同4篇
- 二零二五版苗圃技術(shù)員智慧苗圃建設(shè)與運(yùn)營(yíng)管理合同3篇
- 二零二五年度面包磚施工安全管理評(píng)估合同3篇
- 2025年度綠色能源項(xiàng)目投資與建設(shè)合同4篇
- 二零二五年度醫(yī)療健康A(chǔ)PP數(shù)據(jù)共享合同3篇
- 二零二五年度某三期護(hù)坡樁工程施工合同合同解除與終止合同4篇
- 二零二五年度房地產(chǎn)營(yíng)銷推廣合同范本
- 二零二五版抵押貸款合同條款變更對(duì)借款合同影響評(píng)估3篇
- 二零二五年度農(nóng)產(chǎn)品市場(chǎng)拓展代理銷售合同
- 風(fēng)電場(chǎng)升壓站培訓(xùn)課件
- 收納盒注塑模具設(shè)計(jì)(論文-任務(wù)書(shū)-開(kāi)題報(bào)告-圖紙)
- 博弈論全套課件
- CONSORT2010流程圖(FlowDiagram)【模板】文檔
- 腦電信號(hào)處理與特征提取
- 高中數(shù)學(xué)知識(shí)點(diǎn)全總結(jié)(電子版)
- GB/T 10322.7-2004鐵礦石粒度分布的篩分測(cè)定
- 2023新譯林版新教材高中英語(yǔ)必修一重點(diǎn)詞組歸納總結(jié)
- 蘇教版四年級(jí)數(shù)學(xué)下冊(cè)第3單元第2課時(shí)“常見(jiàn)的數(shù)量關(guān)系”教案
- 基于協(xié)同過(guò)濾算法的電影推薦系統(tǒng)設(shè)計(jì)
- 消防應(yīng)急預(yù)案流程圖
評(píng)論
0/150
提交評(píng)論