资料结构导论课件.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《资料结构导论课件.ppt》由用户(晟晟文业)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 资料 结构 导论 课件
- 资源描述:
-
1、.1資料結構Data Structurechapter 1.2課程資訊 Lecturer:江政杰 Office:四合院 301 URL:nas.takming.edu.tw/pluto Mail:plutomail.takming.edu.tw 課程網頁 URL:nas.takming.edu.tw/pluto/ds/ds.html 教材、補充資訊 作業 相關連結.3課程資訊 Text Book:資料結構 使用C語言李春雄著 上奇出版社 成績評量 期中、期末各佔30%、平時成績佔40%.4課程內容 資料結構與演算法 遞迴 Recursion 陣列 Array 堆疊 Stack 佇列 Queue
2、 鏈結串列 Linked List 樹狀結構 Tree Structure 圖形 Graph Structure 排序 Sorting 搜尋 Search.5修課基礎 程式撰寫 對於變數、函數、陣列等基本程式語言的使用與掌握 對於一個問題,可以在找出解決方法之後,撰寫出程式碼 具備邏輯概念 學習程式除了語法的熟悉外,最重要的是邏輯概念的訓練,才有能力學習其他語言 還無法順利掌握程式撰寫?以資料結構這門課程為程式設計的進階訓練 程式設計能力的再次訓練.6上課方式 投影片展示,請自行搭配課本閱讀 實例練習 在課程中會搭配一些程式範例,讓同學實際操作程式之撰寫,以掌握程式撰寫的能力 作業練習 每一段
3、時間,會有一完整的題目要求撰寫程式,計入平時成績內 期中、期末考試.7學習程式 入門 學習VB、Dev C+等軟體的使用 熟悉VB、C的語法撰寫 進階 學習資料結構與演算法 深入 最好的練習就是實際克服困難的題目這學期的範圍.8程式的組成 資料:在程式中以變數的型態出現,每個變數都在記憶體有一席之地,包含 變數型態:決定所佔記憶體的長度 變數值:實際的變數資料值 變數位址:系統處理 程序:即if、loop等程式語法與流程 I/O:輸入與輸出,如scanf與printf輸入輸入 處理處理 輸出輸出.9練習 請撰寫一個程式,可以顯示九九乘法表 以兩層迴圈方式處理 先能夠顯示正確結果,才思考如何排的
4、漂亮 先示範.10資料與資訊 資料 是客觀存在的、具體的、事實的記錄 資訊 經過資料處理之後的結果即為資訊資資料料資資訊訊p1-2.11資料結構的概念 當我們解決問題時,還沒開始實際寫程式,必須先規劃程式如何撰寫 I/O:輸入輸出的格式與資料內容 程序:處理的方法(演算法)資料:決定此問題會用到那些類型的資料 有效率的程式有效率的程式=資料結構資料結構+演算法演算法 所謂的資料結構,就是針對一個問題,所謂的資料結構,就是針對一個問題,決定如何設計資料部份,尤其是適合此決定如何設計資料部份,尤其是適合此問題的特殊資料類型問題的特殊資料類型 資料在記憶體中的儲存方式.12資料結構的概念 在任何問題
5、中,資料元素都不是孤立存在,彼此之間存在某些邏輯關係,這種關係可稱為結構(structure),種類有 集合:元素間沒有次序性 線性結構:陣列、串列、佇列、堆疊 樹狀結構 圖形結構.13範例說明 寫一個程式計算五個同學的平均成績p1-5.14演算法的五原則演算法(Algorithm):解決問題的方法輸入輸入(Input)1.不一定要有輸入。可能沒有,也可能是多個資料輸入。p1-7例如(1):取得系統目前的時間,不須要輸入,只要寫一行now()函數,就可以輸出系統時間例如(2):求某數為奇偶數時,則必須先要有一個整數輸入,才能運算輸出輸出(Output)至少要有一個輸出明確性明確性(Defini
6、teness)每一行指令都必須明確,不可模稜兩可 用功的學生才能領獎學金就不具有明確性,因為每一個人對用功的定義可能不盡相同。而如果改為成績90以上的學生才能領獎學金就是具有明確性,因為90分是一個比較客觀的定義。.15演算法的五原則 有限性有限性(Finiteness)演算法不能有無窮迴路,必須能終止執行由於演算法並非是真正可以執行的程式,而是設計者所推演出解決問題的步驟,因此,必須在有限的步驟內要完成解決問題的程序真正的程式是可以有無窮迴路的動作 正確性正確性(Correctness)既然演算法是解決問題的方法,因此正確性是最基本的要求.16演算法的範例 演算法:一組可用來解決特定問題的有
7、限指令或步驟 依循這些指令或步驟,可以完成工作 案例:做蛋糕.17演算法的範例 好吃的蛋糕怎麼來?.18描述演算法的三種方法 文字 採用口語化的文字敘述來加以描述,容易冗長且較不精確,在撰寫、閱讀、會意時可能會有誤差,因此一般較不常用p1-10例如:請利用文字敘述使用者登入帳號與密碼時,系統檢查的過程。步驟一:輸入使用者帳號與密碼步驟二:判斷帳號與密碼是否正確步驟三:如果正確時,則可以登入系統 否則,就無法登入!.19描述演算法的三種方法 流程圖 利用圖形方式來表達欲解決問題的步驟.20描述演算法的三種方法 虛擬碼 使用文字摻雜程式語言,來描述解題步驟與方法 兼具文字描述及流程圖的優點/登錄帳
8、號密碼的檢查登錄帳號密碼的檢查(1)Input:UserName,Password(2)IF(UserName And Password)ALL True Output:You Can Pass!else Output:You Can not Pass!/計算計算1+2+3+10(1)設Count=1,Total=0;(2)Total=Total+Count;(3)Count=Count+1;(4)若Count 10 則至步驟(5),否則回步驟(2)(5)印出Total不是可以執行的指令不是可以執行的指令只是說明程式處理的流程只是說明程式處理的流程.21程式設計概念p1-14.22程式設計概念
展开阅读全文