资料结构简介-TKWU.PPT

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

1 .5 .2 條件判斷結構 – 續 if else的條件判斷結構,它與if 條件判斷的差別在於當判斷條件成立或是不成立時都有對應的指令必須要執行,其對應的C語言語法如下所列: 1 .5 .2 條件判斷結構 – 續 if else (Nested if else)條件判斷結構,其對應的C語言語法如下所列: 1 .5 .2 條件判斷結構 – 續 switch case 的條件判斷結構,其對應的C語言語法如下所列: 1 .5 .2 條件判斷結構 – 續 在switch的條件判斷敘述其結果必須是整數資料或是字元資料 1 .5 .2 條件判斷結構 – 續 1 .6 常見的資料結構 陣列(Array) : 電影院中的坐椅、排列整齊的椅子 鏈結串列(Linked List) : 在鐵軌上南來北往的火車,每一部火車將一節一節的車廂從頭到尾串連在一起,而連接各節車廂的連接器就是此鏈結串列的鏈結 堆疊(Stack) : 到西餐廳享用歐式自助餐時,餐盤一個一個依照由下而上的順序整齊的擺置 佇列(Queue) : 中午用餐時間,我們經常會看到學校自助餐前面大排長龍,等待享用午餐的排隊人潮 樹狀結構(Tree Structure) : 電腦內部檔案儲存的結構,或是歷屆學生的家族族譜,羽球比賽的單循環賽程資料等 1 .6 常見的資料結構 – 續 圖形及網路 : 全台灣省的省道與高速公路路線圖、環島鐵路的路線圖、長榮航空公司的全球航線圖 排序(Sorting) : 書店中常見的英漢字典,其中的所有英文字均是按照字母的大小次序排列的 赫序函數(Hashing Function) : 利用一種技術將特定的資料例如某一個學生的學號輸入,就可以馬上找出他家裡的電話號碼、地址,… 檔案系統(File System):想要查詢某一位同學的個人資料,我們可以到檔案室中很快地找出某一位同學的學籍資料表來 1 .6 常見的資料結構 – 續 學習資料結構的最主要目的 : 能妥善利用電腦將所有個人手邊的資料有系統地安排,建立資料與資料彼此間的關係,仿照日常生活中人、事、物常見的各式各樣結構,將所有的資料做最適當的安排、儲存,以方便資料的更新及存取 1 .6 常見的資料結構 – 續 資料結構的應用主要包含下列幾個重要主題: 有效地儲存給定的各種不同資料 不同的資料結構表示法和其相關演算法的探討 改進現存演算法的效率,使程式的執行速度趨於更快 利用合適的使用者介面來建構資料存取方法、資料儲存之結構和資料儲存之媒體 資料處理之各種技巧,比如:排序、搜尋、合併、更新、分配等演算法探討 利用結構化程式設計的概念來提升軟體開發之生產力 1 .6 常見的資料結構 – 續 用來挑選資料結構的條件: 給定的資料量是相當大或是很小 資料是否需要常常增刪或更新,也就判斷資料是靜態的或是動態的? 資料在實際應用上被擷取次數之頻率 可用以儲存資料的記憶體容量有多大 實際應用時可以接受的資料擷取時間 使用某種資料結構是否很容易編寫對應程式碼 為了簡化時間複雜度的分析,我們只著重於程式必須執行的指令個數而不去考慮個別指令實際執行所需的時間 範例 1 .3 演算法的效率評估 – 續 理論上我們通常將一個程式P的時間複雜度表示成T(P)的形式,而T(P)記錄了程式的實體特性n的成長速率 上面所介紹的程式片段所需的時間複雜度T(P)=2n+3 請記得實際上的 T(P)應該還要加上程式的編譯時間 1 .3 演算法的效率評估 – 續 常見的時間複雜度函數可能為下列形式: T(P)=c,為一常數多項式 T(P)=a*n+b,其中 a0,b0為一個線性多項式 T(P)=a*n2+b*n+c,其中 a0為一個二次方多項式 T(P)=a*n3+b*n2+c*n+d,其中 a0為一個三次方多項式 T(P)=an,其中 a0為一個指數多項式 T(P)=a*logn+b,其中 a0為一個對數多項式 1 .3 演算法的效率評估 – 續 當輸入資料的個數n值我們可以得到下列關係 : logn n nlogn n2 n3 2n 表1.2 常見的多項式成長速率比較 1 .3 演算法的效率評估 – 續 一個程式P的空間複雜度(Space Complexity)包含固定的空間需求與變動的空間需求兩個部分 固定的空間需求包含了程式在編譯時期(Compile Time)所產生的空間需求 變動空間需求包含了動態記憶體要求(Dynamic Memory Allocation)所配置的空間,以及遞迴函數執行時所需要用來儲存活動紀錄(Activation Record)的執行時堆疊空間(Run Time Stack) 1 .3 演算法的效率評估 – 續 通常我們會利用S(P

文档评论(0)

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

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

1亿VIP精品文档

相关文档