Re: [問題] 請問遞迴次數太多造成StackOverflowErr …

看板java作者 (ger)時間15年前 (2010/04/13 23:47), 編輯推噓0(004)
留言4則, 2人參與, 最新討論串1/1
※ 引述《shiami (蝦米)》之銘言: : 標題: [問題] 請問遞迴次數太多造成StackOverflowError何解? : 時間: Tue Jul 1 00:30:24 2008 : : Exception in thread "main" java.lang.StackOverflowError : : 我跑資料量小都沒問題, : 資料量大一點就發現遞迴次數太多造成上面錯誤… : 請教各位前輩有何解決辦法? : 很急>< : : -- : ※ 發信站: 批踢踢實業坊(ptt.cc) : ◆ From: 211.74.254.213 : 推 willieliao:你是用recursive call還是for loop 07/01 00:35 : 推 TsaiCF:先分析你的演算法複雜度,再確認實作無誤... 07/01 00:48 : → shiami:recursive.. 我有google到用recursive好像不是個好方法 07/01 00:49 : → shiami:不知道有沒有方法能增加recursive時的stack size 07/01 00:54 : 推 tkcn:下 -Xmx 參數應該能增加吧? 07/01 02:49 : 推 qrtt1:改成迴圈吧:) 可以查查 yoco315 的名片 XD 07/01 08:53 : → shiami:謝謝各位,我加參數 -Xss 解決了! 07/01 16:47 : → shiami:http://mindprod.com/jgloss/javaexe.html 07/01 16:52 借這篇文章發問 我是用eclipse編寫 請問我參數該下在何處呢 : 推 slalala:感覺遞迴減少減少時間複雜度 增加空間複雜度?! 07/02 13:05 : 推 TonyQ:並沒有減少時間複雜度... 07/02 13:07 : 推 slalala:我是以費式數列來看 我記反了~_~ 反而時間複雜度可能增加 07/02 16:25 : → slalala:遞迴:O(2^(n/2)) 迴圈:O(n) 07/02 16:31 : 推 TonyQ:也沒這回事 -_-;; 07/02 22:57 : 推 TonyQ:遞迴跟iterator的差異在於比stack 轉化為method stack而已.. 07/02 22:59 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 220.136.125.43

04/14 00:51, , 1F
如果是 tail recursion 的話,這有很好的解法。
04/14 00:51, 1F

04/14 00:54, , 2F
使用 java/javaw 來 launch JVM 時給定 -Xss 參數
04/14 00:54, 2F

04/14 00:55, , 3F
上一推文不是我提到的解法。
04/14 00:55, 3F

04/14 03:44, , 4F
感謝,我後來改成loop+stack完成了orz
04/14 03:44, 4F
文章代碼(AID): #1Bn97-GL (java)