• 沒有找到結果。

Introduction to Algorithm

N/A
N/A
Protected

Academic year: 2021

Share "Introduction to Algorithm"

Copied!
12
0
0

加載中.... (立即查看全文)

全文

(1)

1

(2)

2

為何要學演算法(

1/2 )

排序問題( sorting ) :

11, 7, 14, 1, 5, 9, 10

↓sort

1, 5, 7, 9, 10, 11, 14

Insertion sort

Quick sort

…..

(3)

3

為何要學演算法(

2/2 )

1. 生物科技近來相當熱門,你知道如何利用電腦來幫 助解決生物上的問題嗎?你知道生物資訊嗎?

2. 你在研究多媒體資料壓縮嗎?你知道 VQ(Vector Qu antization) 與 Voronoi diagram 的關係嗎?你知 道你的壓縮方法是 heuristic 嗎?

(4)

4

演算法的目標

1. 演算法是電腦科學研究的基礎

2. 如果沒學過演算法,電腦科學的研究就無法

(5)

5

資料結構和演算法

資料結構和演算法要用程式語言來描述,才 能交由電腦執行,至於要用那一種程式語言 ;並沒有特別規定

(6)

6

演算法定義

由有限步驟所構成的集合,可以用於解決

某一個特定的問題。

(7)

7

演算法必須滿足五個條件

1. 輸入 (input) :可以由外界輸入 0 個、 1 個或多個 以上的資料。 2. 輸出 (output) :至少要有 1 個以上的輸出。 3. 明確性 (definiteness) :每個步驟都必須是明確而 不含糊的。 4. 有限性 (finiteness) :必須在有限步驟內結束。 5. 有效性 (effectiveness) :每一個步驟必須是基本 的 ( 可行的 ) ,也就是說,即使我們僅僅具有紙和 筆也可以執行這些步驟。

(8)

8

搜尋

binsrch(int A[], int n, int x, int j) {

lower = 1; upper = n;

while (lower <= upper) {

mid = (lower + upper) / 2; if (x > A[mid]) lower = mid + 1; else if (x < A[mid]) upper = mid – 1; else { j = mid; return; } } } 1. n 陣列大小 2. x要搜尋目標 3. j返回值

(9)

9

Array

void mul(int a[ ][ ], int b[ ][ ], int c[ ][ ], int n) {

int i, j, k, sum; for (i=0; i < n; i++) for (j=0; j < n; j++) { sum = 0; for (k=0; k < n; k++) sum = sum+a[i][k]*b[k][j]; c[i][j] = sum; } } 1. n 陣列大小

(10)

10

Recursive(1/2)

int fact(int n) { int x, y; x = n-1; y = fact(x); return(n*y); } /* end fact */

(11)

11

Recursive(2/2)

int fact(int n) { int x, y; if (n == 0) // boundary condition return(1); x = n-1; y = fact(x); return(n*y); } /* end fact */

(12)

12  影響程式執行時間的因素,最簡單的有  機器的速度  演算法的好壞  演算法 (algorithm) 是一解決問題的有限步驟之程序 。  演算法的好壞,必須做複雜度的分析 (complexity ana lysis) 。  分析演算法的複雜度,必須先求出程式中每一敘述的 執行次數,並加總起來,然後求出其 Big-O 。

演算法衡量

參考文獻

相關文件

美國人心目中最偉大的總統之一,就是 帶領國家度過南北戰爭難關的總統,你

《小偵探》 :小朋友,你知道誰是歐巴馬嗎?請你查一查他的資料,與全班分

你知道我國的國花是哪一種花,以及它

教師可讓學生在閱 讀本文前,先試著 回答教材封面上的 提問,再請學生閱

很多人喜歡去海邊,就是因為覺得蔚藍的大海彷彿能把所有的煩悶也

你是否同意,及至 2000 年,中華人民共和國在 1980 年代的改革開放改善了與 亞洲其他國家的關係?就中華人民共和國與亞洲任何一個國家的關係,解釋你 的觀點。. 建議答題方向

「這裡就是你的避難所。世間的一般庸人都在那裡

我是 Yoyo ,是一隻導盲 犬,我的主人是一位視障 人士。你知道我的工作是