版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
5.3運(yùn)用典型算法高教版《信息技術(shù)》基礎(chǔ)模塊(下冊)1運(yùn)用排序算法2運(yùn)用查找算法CONTENT運(yùn)用排序算法人們在長期實(shí)踐中,總結(jié)出很多算法,為編寫程序提供了極大的幫助,并在現(xiàn)實(shí)生活各領(lǐng)域廣泛應(yīng)用。排序是數(shù)據(jù)處理中經(jīng)常使用的一種算法,即把數(shù)據(jù)按照從小到大或從大到小的順序進(jìn)行排列。排序算法有很多,如選擇排序、插入排序、冒泡排序、堆排序、歸并排序等。1列表數(shù)據(jù)處理通常會涉及很多數(shù)據(jù),這些數(shù)據(jù)需要一個(gè)容器進(jìn)行管理,這個(gè)容器就是數(shù)據(jù)結(jié)構(gòu),Python中的數(shù)據(jù)結(jié)構(gòu)主要有序列(列表、元組等)、集合和字典。列表(list)是Python最常用的序列,具有可變性,可以追加、插入、刪除和替換元素。運(yùn)用排序算法創(chuàng)建列表追加元素創(chuàng)建列表可以使用方括號“[]”將元素括起來,元素之間用逗號分隔。創(chuàng)建空列表用“[]”表示。要在列表中追加單個(gè)元素,可使用append()方法;要在列表中追加多個(gè)元素或另個(gè)列表,可使用“+=”運(yùn)算符或extend()方法。1列表運(yùn)用排序算法插入元素替換元素使用insert()方法可以在列表中指定索引位置插入一個(gè)元素。使用“=”運(yùn)算符可以替換列表的元素。1列表運(yùn)用排序算法刪除元素使用
remove()
方法或
pop()方法可以刪除列表中的元素。remove()方法從左至右查找列表中的元素,刪除第一個(gè)匹配的元素,如果沒有找到則提示錯(cuò)誤。1列表pop()方法刪除指定索引位置上的元素,如果不指定索引位置,則刪除最后一個(gè)元素。運(yùn)用排序算法2選擇排序算法選擇排序基本思路:每次從待排序的數(shù)據(jù)中選出最小元素,順序放在之前已經(jīng)排好序的數(shù)據(jù)最后,直到全部數(shù)據(jù)排序完畢。具體實(shí)現(xiàn)方法:取第一個(gè)數(shù)和后面的數(shù)逐一比較,一輪之后得到最小的數(shù)放在第一個(gè),然后開始取第二個(gè),重復(fù)之前的比較。運(yùn)用排序算法7459821145982712598471249857以此類推……初始狀態(tài)第1輪第2輪第3輪運(yùn)用排序算法1.range()函數(shù)所帶范圍“包頭不包尾”;2.len()函數(shù)返回對象(字符、列表、元組等)長度或項(xiàng)目個(gè)數(shù);3.使用選擇排序,當(dāng)有n個(gè)數(shù)時(shí)每排一個(gè)數(shù),n-1輪就能排完,因此內(nèi)循環(huán)為外循環(huán)加1開始。運(yùn)用排序算法3插入排序算法插入排序基本思路:每次取出一個(gè)待排序的數(shù)據(jù)元素,按其大小插入到之前已經(jīng)排好序的數(shù)據(jù)集中,直到全部待排序元素插入完畢。具體實(shí)現(xiàn)方法:從左邊開始取值然后和它左邊的所有元素值進(jìn)行比較,如果取的值比它左邊的值小就與其交換,重復(fù)以上操作。運(yùn)用排序算法7459821初始狀態(tài)第1輪475982145798214579821第2輪4579821第3輪4578921運(yùn)用排序算法第4輪457892145782914572891452789142578912457891第5輪第6輪1245789運(yùn)用排序算法1.起點(diǎn)為i-1,即與當(dāng)前數(shù)的前一個(gè)數(shù)開始比較;2.終點(diǎn)為-1,根據(jù)“包頭不包尾”的特點(diǎn),實(shí)際上是到a[0]為止;3.步長為-1,即逐一遞減,向左逐一比較。運(yùn)用排序算法4Python功能庫Python既有內(nèi)置函數(shù)和標(biāo)準(zhǔn)庫,又有第三方庫和工具,可用于文件讀寫、網(wǎng)絡(luò)抓取和解析、數(shù)據(jù)庫連接、音視頻處理、數(shù)據(jù)挖掘、機(jī)器學(xué)習(xí)等。通常用import命令就可以引入Python功能庫。引入第三方庫random調(diào)用random庫中的randint()函數(shù),在0-10之間生成一個(gè)隨機(jī)數(shù)運(yùn)用排序算法在Python中還可以用內(nèi)置函數(shù)sorted實(shí)現(xiàn)排序功能,使用更加方便,該函數(shù)的語法為:sorted(list,reverse=False/True)升序降序?qū)嵺`體驗(yàn)請你閱讀課本P84,嘗試編寫籃球比賽積分排名程序,將積分從高到低進(jìn)行排序。運(yùn)用查找算法查找也是經(jīng)常使用的一種算法,即根據(jù)給定的某個(gè)值,在一組數(shù)據(jù)中確定一個(gè)關(guān)鍵字的值等于給定值的記錄或數(shù)據(jù)元素,如查找列車車次、航班號、員工姓名等。查找算法也有很多,如順序查找、二分查找、插值查找、分塊查找、二叉樹查找、哈希表查找等。1順序查找算法順序查找也稱線性查找,即從數(shù)據(jù)結(jié)構(gòu)線性表的一端開始,順序掃描,依次將掃描到的關(guān)鍵字與給定值相比較。順序查找多用于查找對象的排列無規(guī)律時(shí)。運(yùn)用查找算法2二分查找算法二分查找也稱折半查找,比順序查找的效率高,但它要求待查數(shù)據(jù)結(jié)構(gòu)是有序排列的,適用于不經(jīng)常變動且查找頻率較高的有序數(shù)據(jù)。1.將待查找的數(shù)據(jù)排序;2.從中間位置數(shù)據(jù)開始,如果相等,則查找成功;3.如果比中間位置數(shù)據(jù)小,則在前一半數(shù)據(jù)中繼續(xù)查找;4.如果比中間位置數(shù)據(jù)大,則在后一半數(shù)據(jù)中繼續(xù)查找。102040607
溫馨提示
- 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)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024發(fā)布網(wǎng)絡(luò)廣告協(xié)議
- 仿寫:高新技術(shù)產(chǎn)業(yè)合作開發(fā)合同
- 二手設(shè)備購銷合同范本示例
- 房產(chǎn)交易資金代付協(xié)議書
- 工程拆遷安置合同范本
- 2024年合同延期協(xié)議補(bǔ)充協(xié)議
- 無需擔(dān)保的施工合同范本
- 魚塘養(yǎng)殖土地租賃合同
- 2024年物業(yè)授權(quán)管理合同范本
- 家庭室內(nèi)裝飾裝修工程合同
- 壓力管道材料等級表
- 三年級數(shù)學(xué)上冊 加號、減號的來源課外拓素材 冀教版 素材
- 《狼和小羊》PPT課件.ppt
- 神明—EZflame火焰檢測系統(tǒng)
- 新《固廢法》解讀(專業(yè)版)
- 個(gè)人簡歷求職簡歷課件.ppt
- 副神經(jīng)節(jié)瘤圖文.ppt
- 業(yè)務(wù)流程繪制方法IDEF和IDEFPPT課件
- (完整版)垃圾自動分揀機(jī)構(gòu)PLC控制畢業(yè)設(shè)計(jì).doc
- 小學(xué)四年級音樂課程標(biāo)準(zhǔn)
- 我的一次教研經(jīng)歷
評論
0/150
提交評論