Re: [問題] 102 專利商標 資料結構問題

看板Examination作者 (malowda)時間10年前 (2015/04/23 10:42), 編輯推噓1(103)
留言4則, 1人參與, 最新討論串2/3 (看更多)
※ 引述《eevvaag (Len)》之銘言: : Q1.請使用C或JAVA語言,寫一遞迴副程式,此副程式的輸入為一個未排序的且長度為n的整 : 數陣列A[0:n-1],副程式將在此整數陣列中,以遞迴的方式群找此整數陣列中的最大值 : ,並回傳此最大值。 : Q2.請分析此副程式的時間複雜度以order的方式表示。 : A1: : Int Max(int k , int a[i]) : { : int max=a[k] : if (a[k]>a[i]) than return Max(k,k-1) : else return Max(k-1 , k-1) : } int Max(int n , int a[]) { if(n==0)return a[0]; else { int max=Max(n-1,a); return (max>a[n])?max:a[n]; } } : 不好意思,我的想法比較粗糙,我的想法是預設A[n]作為MAX,在每一回合一一往前( : 陣列index較小的方向)比較,當max>a[i]時,下一回合就在跟a[i-1]比;同理,若 : max<a[i-1],則max等於a[i-1],再繼續往前比較 : 請問版上前輩,我的想法有哪裡錯誤?另外程式方面我可以怎樣描述才比較完整? : A2: : 因為我是循序去找陣列的最大值,所以最差會是O(N)嗎?order的方式表示是指甚麼意思? : 還請版上前輩指教...謝謝 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 210.69.124.30 ※ 文章網址: https://www.ptt.cc/bbs/Examination/M.1429756946.A.5EB.html

04/23 22:52, , 1F
謝謝你的回應!!但想要再請教:
04/23 22:52, 1F

04/23 22:54, , 2F
int max=Max(n-1,a) 為甚麼要這樣寫? 這樣不是程式一執
04/23 22:54, 2F

04/23 22:55, , 3F
行,沒經過IF 就直接遞迴了?
04/23 22:55, 3F

04/23 22:55, , 4F
不好意思...
04/23 22:55, 4F
文章代碼(AID): #1LE5mINh (Examination)
討論串 (同標題文章)
文章代碼(AID): #1LE5mINh (Examination)