[問題] 請問遞迴次數太多造成StackOverflowError何解?

看板java作者 (蝦米)時間17年前 (2008/07/01 00:30), 編輯推噓9(905)
留言14則, 7人參與, 最新討論串1/1
Exception in thread "main" java.lang.StackOverflowError 我跑資料量小都沒問題, 資料量大一點就發現遞迴次數太多造成上面錯誤… 請教各位前輩有何解決辦法? 很急>< -- How happy is the blameless vestal's lot! The world forgetting, by the world forgot. Eternal sunshine of the spotless mind! Each pray'r accepted, and each wish resign'd; http://shiami.blogspot.com/ - Alexander Pope, Eloisa to Abelard, 207-210 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 211.74.254.213

07/01 00:35, , 1F
你是用recursive call還是for loop
07/01 00:35, 1F

07/01 00:48, , 2F
先分析你的演算法複雜度,再確認實作無誤...
07/01 00:48, 2F

07/01 00:49, , 3F
recursive.. 我有google到用recursive好像不是個好方法
07/01 00:49, 3F

07/01 00:54, , 4F
不知道有沒有方法能增加recursive時的stack size
07/01 00:54, 4F

07/01 02:49, , 5F
下 -Xmx 參數應該能增加吧?
07/01 02:49, 5F

07/01 08:53, , 6F
改成迴圈吧:) 可以查查 yoco315 的名片 XD
07/01 08:53, 6F

07/01 16:47, , 7F
謝謝各位,我加參數 -Xss 解決了!
07/01 16:47, 7F

07/01 16:52, , 8F

07/02 13:05, , 9F
感覺遞迴減少減少時間複雜度 增加空間複雜度?!
07/02 13:05, 9F

07/02 13:07, , 10F
並沒有減少時間複雜度...
07/02 13:07, 10F

07/02 16:25, , 11F
我是以費式數列來看 我記反了~_~ 反而時間複雜度可能增加
07/02 16:25, 11F

07/02 16:31, , 12F
遞迴:O(2^(n/2)) 迴圈:O(n)
07/02 16:31, 12F

07/02 22:57, , 13F
也沒這回事 -_-;;
07/02 22:57, 13F

07/02 22:59, , 14F
遞迴跟iterator的差異在於比stack 轉化為method stack而已..
07/02 22:59, 14F
文章代碼(AID): #18QGeZQx (java)