【題目】假設以二維陣列g[1…m][1…n]表示乙個影象
區域,g[i][j]表示該區域中點(i,j)所具顏色,其值
為從0到k的整數。試編寫遞迴演算法,將點(i0,j0)所在
區域的顏色置換為顏色c。約定與(i0,j0)同色的上、
下、左、右的鄰接點為同色區域的點。
表示影象區域的型別定義如下:
typedef char gtype[m+1][n+1];
實現下列函式:
void changecolor(gtype g, int m, int n,
char c, int i0, int j0);
/* 在g[1…m][1…n]中,將元素g[i0][j0] /
/ 所在的同色區域的顏色置換為顏色c */
遞迴演算法主要是在理解遞迴邊界(以及去重),讀者可以通過漢諾塔問題加深該認識;
答案僅供參考:
void changecolor(gtype g, int m, int n,
char c, int i0, int j0) else
if(j0>1&&g[i0][j0-1]==swap)
if(j0if(i0}}
廣工 AnyviewC 資料結構習題 第五章
g m,n 0 當m 0,n 0 g m,n g m 1,2n n 當m 0,n 0intg int m,int n 如果 m 0 或 n 0 則返回 1 f n n 1 當n 0 f n nf n 2 當n 0intf int n 如果 n 0 則返回 1 sqrt a,p,e p 當 pp a ...
資料結構(第五章)
樹下 第一講一.堆 什麼是堆?在講堆之前,我們先看看什麼是優先佇列。優先佇列 是一種特殊的佇列,從名稱上看,優先,顧名思義,取出的元素是按照一定的優先順序出隊的,而不是元素進入佇列的先後順序。優先佇列的完全二叉樹表示 堆的兩個特性 結構性 用陣列表示的完全二叉樹。有序性 任一結點的關鍵字是其子樹所有...
資料結構筆記 第五章
一.樹的邏輯結構 樹是乙個有限的集合,集合中的元素稱為結點。1 結點的個數為0 稱為空樹。2 結點的個數為1 此節點稱為根節點。3 節點的個數大於1 則除了根結點以外的結點又可分為多個集合,每乙個集合本身其實質上也是一棵樹,並且是根節點的子樹。二.二叉樹的邏輯結構 1 二叉樹的定義 二叉樹首先必須是...