廣工 AnyviewC 資料結構習題 第五章

2021-09-05 12:00:05 字數 2888 閱讀 6879

g(m,n) = 0             當m=0,n>=0

g(m,n) = g(m-1,2n)+n 當m>0,n>=0

intg(

int m,

int n)

/* 如果 m<0 或 n<0 則返回 -1 */

f(n) = n+1      當n=0

f(n) = nf(n/2) 當n>0

intf(

int n)

/* 如果 n<0 則返回 -1 */

sqrt(a,p,e) = p 當|pp-a|p-a|>=e

其中,p是a的近似平方根,e是結果允許誤差。試寫出相

應的遞迴演算法。

float

sqrt

(float a,

float p,

float e)

/**********

##4【題目】已知ackerman函式的定義如下:

akm(m,n) = n+1 當m=0

akm(m,n) = akm(m-1,1) 當m!=0,n=0

akm(m,n) = akm(m-1,akm(m,n-1)) 當m!=0,n!=0

請寫出遞迴演算法。

**********/

int

akm(

int m,

int n)

/* 若 m<0 或 n<0 則返回-1 */

f(n) = n+1      當n=0

f(n) = nf(n/2) 當n>0

intf(

int n)

/* 如果 n<0 則返回 -1 */

else

num++;}

while

(num<=n);}

return sum;

}

sqrt(a,p,e) = p 當|pp-a|p-a|>=e

其中,p是a的近似平方根,e是結果允許誤差。試寫出相

應的非遞迴演算法。

**********/

float

sqrt

(float a,

float p,

float e)

while

(re >= e);}

return p;

}

區域,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 */

}

廣義表型別glist的定義:

typedef

enum

elemtag;

typedef

struct glnode ptr;

}un;

}*glist;**

****

****

/int

glistdepth

(glist ls)

/* return the depth of list */

廣義表型別glist的定義:

typedef

enum

elemtag;

typedef

struct glnode ptr;

}un;

}*glist;**

****

****

/status equal

(glist a, glist b)

/* 判斷廣義表a和b是否相等,是則返回true,否則返回false */

else

return false;

}else

if(list == a->tag && a->tag == b->tag)

else

return false;

}else

return false;

}else

return false;

}

廣義表型別glist的定義:

typedef

enum

elemtag;

typedef

struct glnode ptr;

}un;

}*glist;**

****

****

/void

outatom

(glist a,

int layer,

void

(*out2)

(char

,int))

/* 遞迴地用函式out2輸出廣義表的原子及其所在層次,layer表示當前層次 */

else

}}

廣工資料結構第五單元

題目 假設以二維陣列g 1 m 1 n 表示乙個影象 區域,g i j 表示該區域中點 i,j 所具顏色,其值 為從0到k的整數。試編寫遞迴演算法,將點 i0,j0 所在 區域的顏色置換為顏色c。約定與 i0,j0 同色的上 下 左 右的鄰接點為同色區域的點。表示影象區域的型別定義如下 typede...

廠工資料結構Anyview(C語言版)第一章答案

題目 試寫一演算法,如果三個整數a,b和c的值不是依次非遞增的,則通過交換,令其為非遞增。要求實現下列函式 void descend int a,int b,int c 通過交換,令 a b c include allinclude.h do not edit this line void desc...

資料結構 深搜廣搜加強

1 2 迭代加深搜尋 mle空間不夠 難道是要思考乙個玩遊戲的通法?天哪,體諒一下我 3 a 演算法 g n 可以算 h n 是乙個估值函式 八數碼問題的h n 怎麼估計?1 是不在位的數字個數 2 是不在位的數字到其該待位置的曼哈頓距離 用這個剪枝 第k短路 已知最短路 h n 最短路加k 終點到...