Chapter 3 Growth of Functions. 2 3.1 Asymptotic notation Θ-notation: f(n) = Θ(g(n)) , g(n) is an asymptotically tight bound for f(n) 。 Θ(g(n)) = {f(n)|

Slides:



Advertisements
Similar presentations
1 生物計算期末作業 暨南大學資訊工程系 2003/05/13. 2 compare f1 f2  只比較兩個檔案 f1 與 f2 ,比完後將結果輸出。 compare directory  以兩兩比對的方式,比對一個目錄下所有檔案的相 似程度。  將相似度很高的檔案做成報表輸出,報表中至少要.
Advertisements

布林代數的應用--- 全及項(最小項)和全或項(最大項)展開式
: A-Sequence 星級 : ★★☆☆☆ 題組: Online-judge.uva.es PROBLEM SET Volume CIX 題號: Problem D : A-Sequence 解題者:薛祖淵 解題日期: 2006 年 2 月 21 日 題意:一開始先輸入一個.
:Word Morphing ★★☆☆☆ 題組: Problem Set Archive with Online Judge 題號: 10508:word morphing 解題者:楊家豪 解題日期: 2006 年 5 月 21 日 題意: 第一行給你兩個正整數, 第一個代表下面會出現幾個字串,
1 Q10276: Hanoi Tower Troubles Again! 星級 : ★★★ 題組: Online-judge.uva.es PROBLEM SET Volume CII 題號: Q10276: Hanoi Tower Troubles Again! 解題者:薛祖淵 解題日期: 2006.
Section 1.2 Describing Distributions with Numbers 用數字描述分配.
3Com Switch 4500 切VLAN教學.
1.1 線性方程式系統簡介 1.2 高斯消去法與高斯-喬登消去法 1.3 線性方程式系統的應用(-Skip-)
: Boxes ★★★☆☆ 題組: Problem Set Archive with Online Judge 題號: 11003: Boxes 解題者:蔡欣燁 解題日期: 2007 年 3 月 19 日.
: Factstone Benchmark ★★☆☆☆ 題組: Problem Set Archive with Online Judge 題號: : Factstone Benchmark 解題者:鐘緯駿 解題日期: 2006 年 06 月 06 日 題意: 假設 1960.
亂數產生器安全性評估 之統計測試 SEC HW7 姓名:翁玉芬 學號:
:New Land ★★★★☆ 題組: Problem Set Archive with Online Judge 題號: 11871: New Land 解題者:施博修 解題日期: 2011 年 6 月 8 日 題意:國王有一個懶兒子,為了勞動兒子,他想了一個 辦法,令他在某天早上開始走路,直到太陽下山前,靠.
: OPENING DOORS ? 題組: Problem Set Archive with Online Judge 題號: 10606: OPENING DOORS 解題者:侯沛彣 解題日期: 2006 年 6 月 11 日 題意: - 某間學校有 N 個學生,每個學生都有自己的衣物櫃.
: ShellSort ★★☆☆☆ 題組: Problem D 題號: 10152: ShellSort 解題者:林一帆 解題日期: 2006 年 4 月 10 日 題意:烏龜王國的烏龜總是一隻一隻疊在一起。唯一改變烏龜位置 的方法為:一隻烏龜爬出他原來的位置,然後往上爬到最上方。給 你一堆烏龜原來排列的順序,以及我們想要的烏龜的排列順序,你.
STAT0_sampling Random Sampling  母體: Finite population & Infinity population  由一大小為 N 的有限母體中抽出一樣本數為 n 的樣 本,若每一樣本被抽出的機率是一樣的,這樣本稱 為隨機樣本 (random sample)
第 4 章 迴歸的同步推論與其他主題.
1. 假設以下的敘述為一未提供 “ 捷徑計算 ” 能力的程式段,試用程 式設計的技巧,使此敘述經此改 寫的動作後,具有與 “ 捷徑計算 ” 之 處理方法相同之處理模式。 if and then E1 else E2 endif.
McGraw-Hill/Irwin © 2003 The McGraw-Hill Companies, Inc.,All Rights Reserved. 肆 資料分析與表達.
: The Playboy Chimp ★★☆☆☆ 題組: Problem Set Archive with Online Judge 題號: 10611: The Playboy Chimp 解題者:蔡昇宇 解題日期: 2010 年 2 月 28 日 題意:給一已排序的數列 S( 升冪.
Analyzing Algorithms Based on: 1. 物件導向資料結構 — 使用 Java 語言, 江振 瑞 著, 松崗圖書公司, Introduction to the Design and Analysis of Algorithms -- A strategic.
Monte Carlo Simulation Part.2 Metropolis Algorithm Dept. Phys. Tunghai Univ. Numerical Methods C. T. Shih.
組員 : 林士恆 許嘉宏 不可計算函數 不可計算函數 根據 12.2 的 Church-Turing 命題,當我們找到一個杜林不 可計算的函數時,一般就相信它是個不可計算的函數。 簡單來說,就是一個計算超出今日電腦能力的函數。
Chapter 13 塑模靜態觀點:物件圖 Static View : Object Diagram.
Introduction to Java Programming Lecture 17 Abstract Classes & Interfaces.
: The largest Clique ★★★★☆ 題組: Contest Archive with Online Judge 題號: 11324: The largest Clique 解題者:李重儀 解題日期: 2008 年 11 月 24 日 題意: 簡單來說,給你一個 directed.
3-3 使用幾何繪圖工具 Flash 的幾何繪圖工具包括線段工具 (Line Tool) 、橢圓形工具 (Oval Tool) 、多邊星形 工具 (Rectangle Tool) 3 種。這些工具畫出 來的幾何圖形包括了筆畫線條和填色區域, 將它們適當地組合加上有技巧地變形與配 色, 不但比鉛筆工具簡單,
Matlab Assignment Due Assignment 兩個 matlab 程式 : Eigenface : Eigenvector 和 eigenvalue 的應用. Fractal : Affine transform( rotation, translation,
: Tight words ★★★☆☆ 題組: Problem Set Archive with Online Judge 題號: : Tight Words 解題者:鐘緯駿、林一帆 解題日期: 2006 年 03 月 14 日 題意: 給定數字 k 與 n (0 ≦ k.
: Happy Number ★ ? 題組: Problem Set Archive with Online Judge 題號: 10591: Happy Number 解題者:陳瀅文 解題日期: 2006 年 6 月 6 日 題意:判斷一個正整數 N 是否為 Happy Number.
: Fast and Easy Data Compressor ★★☆☆☆ 題組: Problem Set Archive with Online Judge 題號: 10043: Fast and Easy Data Compressor 解題者:葉貫中 解題日期: 2007 年 3.
Chapter 2 Getting Started Insertion Sort: 能有效率地排序小數字的演算法 範例 :
: Problem A : MiniMice ★★★★☆ 題組: Contest Archive with Online Judge 題號: 11411: Problem A : MiniMice 解題者:李重儀 解題日期: 2008 年 9 月 3 日 題意:簡單的說,題目中每一隻老鼠有一個編號.
: Ahoy, Pirates! ★★★★☆ 題組: Contest Archive with Online Judge 題號: 11402: Ahoy, Pirates! 解題者:李重儀 解題日期: 2008 年 8 月 26 日 題意:有一個海盜島有 N 個海盜,他們的編號 (id)
: Count DePrimes ★★★★☆ 題組: Contest Archive with Online Judge 題號: 11408: Count DePrimes 解題者:李育賢 解題日期: 2008 年 9 月 2 日 題意: 題目會給你二個數字 a,b( 2 ≦ a ≦ 5,000,000,a.
: Multisets and Sequences ★★★★☆ 題組: Problem Set Archive with Online Judge 題號: 11023: Multisets and Sequences 解題者:葉貫中 解題日期: 2007 年 4 月 24 日 題意:在這個題目中,我們要定義.
:Nuts for nuts..Nuts for nuts.. ★★★★☆ 題組: Problem Set Archive with Online Judge 題號: 10944:Nuts for nuts.. 解題者:楊家豪 解題日期: 2006 年 2 月 題意: 給定兩個正整數 x,y.
資料結構實習-一 參數傳遞.
1 Introduction to Java Programming Lecture 2: Basics of Java Programming Spring 2008.
: Problem G e-Coins ★★★☆☆ 題組: Problem Set Archive with Online Judge 題號: 10306: Problem G e-Coins 解題者:陳瀅文 解題日期: 2006 年 5 月 2 日 題意:給定一個正整數 S (0
: Beautiful Numbers ★★★★☆ 題組: Problem Set Archive with Online Judge 題號: 11472: Beautiful Numbers 解題者:邱經達 解題日期: 2011 年 5 月 5 日 題意: 若一個 N 進位的數用到該.
Section 4.2 Probability Models 機率模式. 由實驗看機率 實驗前先列出所有可能的實驗結果。 – 擲銅板:正面或反面。 – 擲骰子: 1~6 點。 – 擲骰子兩顆: (1,1),(1,2),(1,3),… 等 36 種。 決定每一個可能的實驗結果發生機率。 – 實驗後所有的實驗結果整理得到。
: GCD - Extreme II ★★★★☆ 題組: Contest Archive with Online Judge 題號: 11426: GCD - Extreme II 解題者:蔡宗翰 解題日期: 2008 年 9 月 19 日 題意: 最多 20,000 組測資,題目會給一個數字.
JAVA 程式設計與資料結構 第二十章 Searching. Sequential Searching Sequential Searching 是最簡單的一種搜尋法,此演 算法可應用在 Array 或是 Linked List 此等資料結構。 Sequential Searching 的 worst-case.
資料結構實習-二.
演算法 8-1 最大數及最小數找法 8-2 排序 8-3 二元搜尋法.
: Expect the Expected ★★★★☆ 題組: Contest Archive with Online Judge 題號: 11427: Expect the Expected 解題者:李重儀 解題日期: 2008 年 9 月 21 日 題意:玩一種遊戲 (a game.
845: Gas Station Numbers ★★★ 題組: Problem Set Archive with Online Judge 題號: 845: Gas Station Numbers. 解題者:張維珊 解題日期: 2006 年 2 月 題意: 將輸入的數字,經過重新排列組合或旋轉數字,得到比原先的數字大,
Chapter 2. Recurrence Relations (遞迴關係)
Learning Method in Multilingual Speech Recognition Author : Hui Lin, Li Deng, Jasha Droppo Professor: 陳嘉平 Reporter: 許峰閤.
Chapter 10 m-way 搜尋樹與B-Tree
: Function Overloading ★★★☆☆ 題組: Problem Set Archive with Online Judge 題號: 11032:Function Overloading 解題者:許智祺 解題日期: 2007 年 5 月 8 日 題意:判對輸入之數字是否為.
演算法課程 (Algorithms) 國立聯合大學 資訊管理學系 陳士杰老師 Course 7 貪婪法則 Greedy Approach.
JAVA 程式設計與資料結構 第十六章 Hash Tables. Introduction Hash Tables 結構為一個 Array ,稱之為 Bucket array 。 如果想要新增一個物件,要根據這個物件的特性 將其加入 Hash Table 內。 Bucket Array 用 A 來代替,其.
Extreme Discrete Summation ★★★★☆ 題組: Contest Archive with Online Judge 題號: Extreme Discrete Summation 解題者:蔡宗翰 解題日期: 2008 年 10 月 13 日.
Probability Distribution 機率分配 汪群超 12/12. 目的:產生具均等分配的數值 (Data) ,並以 『直方圖』的功能計算出數值在不同範圍內出現 的頻率,及繪製數值的分配圖,以反應出該 機率分配的特性。
: Help My Brother ★★★☆☆ 題組: Problem Set Archive with Online Judge 題號: 11033: Help My Brother 解題者: 呂明璁 解題日期: 2007 年 5 月 14 日.
1 Introduction to Java Programming Lecture 2: Basics of Java Programming Spring 2009.
: Wine trading in Gergovia ★★☆☆☆ 題組: Contest Volumes with Online Judge 題號: 11054: Wine trading in Gergovia 解題者:劉洙愷 解題日期: 2008 年 2 月 29 日 題意:在 Gergovia.
:Commandos ★★★☆☆ 題組: Contest Archive with Online Judge 題號: 11463: Commandos 解題者:李重儀 解題日期: 2008 年 8 月 11 日 題意: 題目會給你一個敵營區內總共的建築物數,以及建築物 之間可以互通的路有哪些,並給你起點的建築物和終點.
函式 Function 東海大學物理系‧資訊教育 施奇廷. 函式簡介 當程式越來越大、越複雜時,程式的維護、 除錯會變得更困難,此時必須引入函式來 簡化程式或將程式分段,將程式重複的部 分改寫為函式,將程式「模組化」 這種作法有下列優點:節省程式發展的時 間、邏輯容易瞭解、程式容易除錯、可分 工合作完成程式.
1 Introduction to Java Programming Lecture 2: Basics of Java Programming Spring 2010.
: SAM I AM ★★★★☆ 題組: Contest Archive with Online Judge 題號: 11419: SAM I AM 解題者:李重儀 解題日期: 2008 年 9 月 11 日 題意: 簡單的說,就是一個長方形的廟裡面有敵人,然 後可以橫的方向開砲或縱向開砲,每次開砲可以.
:Count the Trees ★★★☆☆ 題組: Problem Set Archive with Online Judge 題號: 10007:Count the Trees 解題者:楊家豪 解題日期: 2006 年 3 月 題意: 給 n 個點, 每一個點有自己的 Label,
: Finding Paths in Grid ★★★★☆ 題組: Contest Archive with Online Judge 題號: 11486: Finding Paths in Grid 解題者:李重儀 解題日期: 2008 年 10 月 14 日 題意:給一個 7 個 column.
:Problem E.Stone Game ★★★☆☆ 題組: Problem Set Archive with Online Judge 題號: 10165: Problem E.Stone Game 解題者:李濟宇 解題日期: 2006 年 3 月 26 日 題意: Jack 與 Jim.
:Rings and Glue ★★☆☆☆ 題組: Problem Set Archive with Online Judge 題號: 10301: Rings and Glue 解題者:施博修 解題日期: 2011 年 5 月 18 日 題意:小約翰有了個大麻煩,他不小心將 rings.
幼兒行為觀察與記錄 第八章 事件取樣法.
: How many 0's? ★★★☆☆ 題組: Problem Set Archive with Online Judge 題號: 11038: How many 0’s? 解題者:楊鵬宇 解題日期: 2007 年 5 月 15 日 題意:寫下題目給的 m 與 n(m
McGraw-Hill/Irwin © 2003 The McGraw-Hill Companies, Inc.,All Rights Reserved. 肆 資料分析與表達.
第七章 計算複雜度概論:排序問題 7.1計算複雜度 7.2插入排序與選擇排序 7.3每次比較至多移除一個導致之演算法的下限
Presentation transcript:

Chapter 3 Growth of Functions

2 3.1 Asymptotic notation Θ-notation: f(n) = Θ(g(n)) , g(n) is an asymptotically tight bound for f(n) 。 Θ(g(n)) = {f(n)| 存在大於零的常數 c 1 , c 2 ,以及 n 0 使 得 0  c 1 g(n)  f(n)  c 2 g(n) 對於所有的 n  n 0 都 成立 }

Growth of Functions3 範例 : 證明 3n 2 - 6n = Θ(n 2 ) 。 證明 : 為了證明上面的式子,我們必須找到 c 1, , c 2 ,和 n 0 符合下面的不等式: c 1 n 2  3n 2 - 6n  c 2 n 2 , ( 對所有 n  n 0 ) 同除以 n 2 得到 c 1  3 - 6/n  c 2 很明顯地,只要選擇 c 1 =2 , c 2 =3 以及 n 0 =6 我們 就可以證明 3n 2 - 6n = Θ(n 2 ) 。 得證

Growth of Functions4 註: f(n) = Θ(g(n)) 若且唯若 g(n)= Θ(f(n)) ,例如 : n 2 =  (3n 2 -6n) O-notation: f(n) = O(g(n)) , g(n) is an asymptotically upper bound for f(n) 。 O(g(n)) = {f(n)| 存在大於零的常數 c and n 0 使得 0  f(n)  c 2 g(n) 對於所有的 n  n 0 都成立 }

Growth of Functions5 Θ(g(n))  O(g(n)) f(n) = Θ(g(n)) 意味著 f(n) = O(g(n)) 6n = O(n) , 6n = O(n 2 ) “ 執行時間為 O(n 2 )” 表示 “ 在最糟的情況下執行時 間為 O(n 2 )”

Growth of Functions6 Ω-notation: f(n) = Ω(g(n)) , g(n) is an asymptotically lower bound for f(n) 。 Ω(g(n)) = {f(n)| 存在大於零的常數 c 和 n 0 使得 0  cg(n)  f(n) 對於所有 n  n 0 都成立 } 註: f(n) = Θ(g(n)) 若且唯若 (f(n)=O(g(n))) & (f(n)=Ω (g(n)))

Growth of Functions7 tight boundupper bound lower bound

Growth of Functions8 o-notation: f(n) = o(g(n)) (little-oh of g of n) o(g(n)) = {f(n)| 對於任何大於零的常數 c ,都存在一 個常數 n 0 > 0 使得 0  f(n) < cg(n) 對於所有的 n  n 0 都成立 } 2n = o(n 2 ) ,但是 2n 2  o(n 2 ) f(n) = o(g(n)) 也可以被定義成

Growth of Functions9 ω-notation: f(n) = ω(g(n)) (little-omega of g of n) ω(g(n)) = {f(n)| 對於任何大於零的常數 c ,都存在一 個常數 n 0 > 0 使得 0  cg(n) < f(n) 對於所有 n  n 0 都成立 } 2n 2 = ω(n) ,但是 2n 2  ω(n 2 ) f(n) = ω(g(n)) 若且唯若

Growth of Functions10 Comparison of functions 函數 :ωΩΘOo 實數 :>  =  < Transitivity , Reflexivity , Symmetry 任兩實數皆可互想比較大小 (trichotomy) ,但是任 兩函數並不一定能夠互相比較。 – 例如: f(n)=n and g(n)=n 1+sin n

Growth of Functions11 Appendix A: Summation formulas

Growth of Functions12

Growth of Functions13 Exercises Problem 1: 為了解決一個問題而設計程式時,分析該演算法的執行時間 複雜度是個很重要的依據。線性時間的演算法通常要比二次 方時間的演算法受大家歡迎。 通常,問題的大小 n 可以決定演算法的執行時間,也許是要 被排序的數字個數,或是多邊形的點的數目,等等。由於要 算出一個演算法相對於 n 的執行時間公式不是很容易,如果 能夠自動化那就太棒了。很不幸地,一般來說這是不太可能 做到的,但是我們在這邊要考慮的程式是非常簡單的,所以 把不可能變成了可能。我們的程式是根據下面的規則所建立 的( BNF 格式),其中 是大於等於零的整數。

Growth of Functions14 Exercises ::= "BEGIN" "END" ::= | ::= "END" ::= "LOOP" | "LOOP n" ::= "OP" 程式的執行時間可以計算如下: OP-statement 的執行時間就 跟它的參數一樣。被 包起來的區段則是會 執行很多次,有可能會執行常數次(如果給定的 LOOP 參數 是常數),或是執行 n 次(如果給定的 LOOP 參數是 n )。 一段 statement 的執行時間只要把構成那段 statement 的全部時 間加總起來就是答案。因此程式的執行時間一般來說會跟 n 有關係。

Growth of Functions15 Exercises 輸入:第一行會有一個整數 k 表示有幾個程式需要處理。接 下來會有 k 個符合之前規則的程式。空白字元以及換行可能 會出現在程式中的任何地方,但不會出現在關鍵字或是數字 之間,比如 BEGIN, END, LOOP, OP 。 LOOP 的深度最大只會 到 10 。 輸出:對於每個程式,第一行先輸出程式的編號,如輸出實 例所示。接著要輸出程式的執行時間,這會是一個跟 n 有關 的多項式,最大的 degree 只會到 10 。用平常表示多項式的方 法印出來,格式如下: ” Runtime = a*n^10+b*n^9+ … +p*n^2+q*n+r ” ,省略係數是 0 的項次。係數是 1 的話該係數不用寫出來(除了常數項)。 如果執行時間是 0 ,則印出 ” Runtime = 0 ” 。在每組測資之後印 一個空行。

Growth of Functions16 以下是一個輸出入的實例 : Sample InputSample Output 2 BEGIN LOOP n OP 4 LOOP 3 LOOP n OP 1 END OP 2 END OP 1 END OP 17 END BEGIN OP 1997 LOOP n LOOP n OP 1 END END END Program #1 Runtime = 3*n^2+11*n+17 Program #2 Runtime = n^2+1997