泡沫排序演算法.PPT

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
泡沫排序演算法

* * * * 99高中資訊科選修課程 夥伴學習教師 專業進修研習 進階程式設計--演算法 教學示例與研討 報告人 國立鳳新高級中學 林光耀 2010.10 高中資訊科課程架構 「資訊科技概論」必修2~4學分(生活領域) 2學分必修:核心知識為主 4學分必修: 核心知識+應用軟體 或/及 基礎程式設計 「資訊科學」選修0~6學分(非升學科目) 基礎程式設計 (1~2學分) 進階程式設計 (2學分) 資訊科學與應用專題 (1~4學分) 其它(可依各校課程特色開設,0~2學分) 99總綱選修科目與學分數 選修 一、概論 1.程式設計簡介 2.程式設計工具 2~4 二、基礎觀念 1.常數與變數 2.基本輸入輸出 3.運算式與指定敍述 4.內建函式※ 4~6 三、流程控制 1.選擇敘述 2.重複敘述 8~14 四、陣列 1.一維陣列 2.多維陣列※ 2~8 五、模組化程式設計※ 1.副程式※ 2.程式庫※ 0~6 基礎程式設計(選修1~2學分) 進階程式設計(選修2學分) 一、模組化程式設計 1.副程式 2.程式庫 6~10 二、進階資料型態 1.陣列 2.資料錄 3.指標※ 8~12 三、資料結構 1.佇列 2.堆疊 3.鏈結串列 4.樹狀結構※ 5.集合※ 10~12 四、演算法 1.排序演算法 2.搜尋演算法 10~12 單元摘要 本主題旨在介紹常用的演算法,以及如何針對演算法進行效能分析。 授課重點應強調演算法垂直式邏輯思考的精神,以及循序漸進的解題流程,並搭配日常生活實例進行教學。 先備知識 1.必修科目「資訊科技概論」 2.選修科目「基礎程式設計」 課綱範圍 1.排序演算法 1-1 排序演算法用途 1-2 泡沫排序演算法 1-3 選擇排序演算法 1-4 快速排序演算法※ 1-5 排序演算法效能分析※ 2.搜尋演算法 2-1 搜尋演算法用途 2-2 循序搜尋演算法 2-3 二分搜尋演算法 2-4 搜尋演算法效能分析 約 7HR 約 5HR 學習目標 能分別說明各式常見排序演算法的功能,及其在程式設計中的使用時機。 能說明並比較各式排序演算法的差異。 能利用複雜度分析方法,分析各式排序演算法的效能。 能分別說明各式常見搜尋演算法的功能,及其在程式設計中的使用時機。 能說明並比較各式搜尋演算法的差異。 能利用複雜度分析方法,分析各式搜尋演算法的效能。 第一堂課:排序介紹 一、排序介紹 1.何謂排序(Sorting)? 2.內部排序 VS 外部排序 3.直接移動 VS 邏輯移動 二、排序演算法分析 1.穩定度 2.時間複雜度 VS 空間複雜度 排序(Sorting) 是指將一群資料,依照特定規則調整位置順序,使資料具有某種次序。 目的在使資料隨著特定順序排列組合。 如班級成績資料,可以使用每個學生的總成績、總平均、名次或座號順序等排列方式,將資料由大至小或是由小至大來排列。 內部排序:排序的資料量小,可以完全在記憶體內進行排序。內部排序法有:泡沫排序法、選擇排序法、快速排序法等。 外部排序:排序的資料量無法直接在記憶體內進行排序,而必須使用到輔助記憶體。外部排序法有:直接合併排序法、堆積合併排序法等。(※) 直接移動 VS 邏輯移動 「直接移動」是直接交換儲存資料的位置。 如圖示。 「邏輯移動」並不會移動資料儲存位置,僅改變指向這些資料的輔助指標的值。 如圖示。 排序穩定度 穩定排序(Stable Sort)是指資料在經過排序後,兩個相同鍵值的記錄仍然保持原來的次序。 舉例說明:如下例中,8左的原始位置本來在8右的左邊(所謂8左及8右是指相同鍵值一個在左,一個在右。),穩定排序後8左仍應在8右的左邊,不穩定排序則有可能8左會跑到8右的右邊去。 原始資料順序: 8左 6 9 8右 7 穩定的排序: 6 7 8左 8右 9 不穩定的排序: 6 7 8右 8左 9 時間複雜度 VS 空間複雜度 時間複雜度(Time complexity): 1.可分為最好情況(Best Case)、最壞情況(Worst Case)及 平均情況(Average Case)。 2.最好情況就是資料已完成排序。例如:原本資料已經完成 遞增(由小至大)排序,如果再進行一次遞增排序所使用的 時間複雜度就是最好情況。 3.最壞情況是指每一鍵值均須重新排列。例如:原本為遞增 排序重新排序成為遞減(由大至小),就是最壞情況。 空間複雜度(Space complexity): 1.指演算法在執行過程所需付出的額外記憶體空間。 2.排序法所使用到的額外空間愈少,空間複雜度就愈佳。 3.例如泡沫排序法在排序過程中僅用到一個額

文档评论(0)

xiaozu + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档