程式=资料结构DataStructure演算法.PPT

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

* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 四、時間複雜度的等級 若n代表資料的數量,時間複雜度可分為下列不同的等級: * * * * 1-7.2 空間複雜度(Space Complexity) 一個程式P的空間複雜度(Space Complexity)包含固定的空間需求與變 動的空間需求兩個部分。 一、固定的空間需求 包含了程式在編譯時期(Compile Time)所產生的空間需求。例如程式本身的指令空間、常數、靜態變數及結構等。 二、變動空間需求 包含了動態記憶體要求(Dynamic Memory Allocation)所配置的空間,以及遞迴函數執行時所需要用來儲存活動紀錄(Activation Record)的執行時堆疊空間(Run Time Stack)。 * * 通常我們會利用S(P)來表示一個程式P所需的空間需求, 公式:S(P)=c+SP(I) 其中: ?c代表這個程式的固定空間需求 ?SP(I)則表示程式P針對特定的輸入資料集合I (Instance) 所需的變動空間需求。 * * 【實例】試”著計算出三個整數之平均”的空間複雜度為何? 【解答】 在上面的例子中,Add函數有3個參數及1個傳回值,因此,固定的空間需求為(3+1)*2bytes=8bytes,而Add函數並沒有使用到動態配置記憶體,所以,變動空間需求為0byte,因此,空間複雜度的需求為8+0=8bytes * * 1-7.3 演算的效率分析-排序演算法的比較 * * 1-7.4 常用的數學式子 * * * * * * * * * * * * * * * * * * * * * * * * * * * 因此,我們在撰寫物件導向的程式時,我們可以藉由改變屬性的屬性值,即可改變物件的外觀。而改變屬性的方法有二種: 第一種:靜態設定(在「屬性」視窗的對話方塊中設定)。如圖1-15所示:在設計階段時,在該物件的屬性視窗直接設定之,馬上顯示效果。 * * 第二種:動態設定(在程式碼視窗的程序中撰寫)。如圖1-16所示: 物件名稱和屬性名稱中間使用點號加以區隔。 * * 二、何謂事件(Event) 所謂事件?可說是一種被動性的動作或某一情境下所產生的行為。例如:當小孩被父母「打」時,他的反應動作是「手痛得跳起來」,並發出「尖叫」的聲音,連下來可能「開始哭」。綜合上述,小孩被父母「打」是一種「事件」,當這個事件被啟動之後,小孩便產生了一連串的動作:「手痛得跳起來」、「尖叫」、「開始哭」…等動作,稱為「事件程序」,通常物件會具備設許多個「事件」,我們只要在必要的事件中,指定其動作即可。 事件是一種加在物件上的「作用」,而事件程序則是物件對此作用所產生的「反應」。事件程序的表達方式。 * * * * 四、何謂方法(Method) 所謂「方法」,是指為了在物件完成某件事或達成某項目標,所採取的處理方式。物件原來內含的函數或程序就叫做方法。物件的「屬性」或「事件程序」都可以重新設定或修改,但是「方法」的內容是固定、不能修改的。在VB中,物件與方法的表達方式為: * * 例如,在表單物件中提供了清除、列印、畫點、畫線、…等功能,這些功能通稱為「方法」。 譬如,我們想要將表單中的TextBox文字框內容清除,只要撰寫TextBox1.Clear( )即可。 * * 1-6.2 物件導向程式設計的特性 物件導向程式設計的最主要精神就是物件,但是支援物件的程式語言並不一定是物件導向程式語言(例如VB6.0),它只是一種以物件為基礎的程式語言(Object-based Languages),亦即提供物件觀念。而VB.NET、Visual Basic 2005、C#、C++及Java才是真正的物件導向程式語言。 物件導向主要是由四個基礎概念所構成,分別為封裝性(Encapsulation)、抽象化(Abstraction)、繼承性(Inheritance)及多型(Polymorphism)這四個觀念。 * * 一、封裝性(Encapsulation) 封裝性就是將物件的「屬性」與「操作」或「方法」一起封裝到類別中。 這是一種資訊隱藏(information hiding)的概念。因此,可以提供安全 性,因為物件的狀態無法被外界直接控制;另一方面,介面可以簡化對於 物件狀態的了解,因為外界不必了解物件狀態的細節。如圖1-18所示。 * * 例如以電視機來說明封裝性的概念:如圖1-19

文档评论(0)

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

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

1亿VIP精品文档

相关文档