Re: [問卦] 寫程式會用遞迴 大概是什麼程度?
※ 引述《jason851124 (YeeeEX)》之銘言:
: 乳提
: 在寫code的時候
: 常用迴圈來設條件 讓程式來達成想要的目的
: 如for, while, do while
: 但有另一種比較進階的概念叫遞迴
: 就如同全面啟動一樣 一層一層的進入夢靨
: 一層一層的呼叫自身函數 最後在慢慢逃脫
: 這種架構在撰寫的時候 邏輯要更清晰
: 想問可以習慣寫遞迴的人
: 大概是什麼等級阿? 有掛?
以前在C語言板看過一個簽名檔
一個在程式語言界有名的人說了一句話:「遞迴只在天上有,凡人應該用迴圈」
可能對方是名人,大家都奉為圭臬
我一點都不同意
舉個簡單例子好了
一個陣列a[]取任意3個,用迴圈怎麼寫?
for(int i=0;i<a.size();i++)
{
for(j=i+1;j<a.size();j++)
{
for(k=j+1;k<a.size();k++)
{
//.....
//以下做特殊處理
}
}
}
那如果取20個咧,不就寫到昏倒
以前在冼鏡光的名題精選百則<使用C語言>有提到一個方法,不用遞迴,也不用上述作法列出K個元素的子集
可是非常難懂,是60年代的計算機科學家就發明出來的方法
因為非常難懂(至少對我),一陣子沒讀又忘了
可是這種陣列a[]取任意n個,用遞迴來做非常好寫
我都這樣寫
void recur(int tl, int level, int start)
{
if(level==0)
{
//以下做特殊處理
// ......
return;
}
for(int i=start;i<a[].size();i++)
{
recur(tl,level-1,i+1);
}
}
在最後一層幹掉就好
我在ProjectEuler很常用到這種遞迴
--
https://projecteuler.net/recent 歐拉編程競賽
https://projecteuler.net/problem=829 最新一題是個簡單題
--
寫成python好嗎
用鉤吐就好了
這裡是八
那是你的loop寫錯吧 取n個n是變數當然不是一
層層寫啊 當然recursive的code總是比較精簡
這根本廢話 以DP來說大多數情況top down都比
bottom up容易寫啊 但遞迴現實中就是要考慮
stack overflow阿...像Python我印象中>999就
你太爛吧,我兩層就能選n個了
會error了(層數應該可以改 但就是有這限制)
我問chat就好。你下去吧
情人節看八卦討論程式
你為了j=i+1 k=i+2多開兩層for幹嘛
k=j+1 是你眼睛沒看清楚
都隨意了一開始直接挑出20個index不就好了
這應該叫列出K個元素的所有子集
這是個程式語言中有名的基本訓練
一開始用"隨意" 讓你誤會了 不好意思
亂數取n個 index 就好了啊 你是在寫三小
我也誤會了==收回你太爛,抱歉,我爛
坐等stack爆掉
遞迴也不一定都會 stack overflow,可
以用 tail recursion
糟糕 完全看不懂
不會用array裡裝index喔 笑死
太深stack爆給你看
嗚嗚 第一行就死腦筋了
看不懂取任意三個是啥,你這迴圈跑的
明明就是a.Length個元素的集合取所有
可能的子集合
43
[問卦] 資料結構在業界484用不到?如題 遇到的同事跟前人留下來的程式 全都用array存資料 根本沒人在用Link list 跟stack 跟遞迴 還是其他間公司有沒有人在用?9
[心得] 圖解演算法 生活中的Stack運用【圖解演算法教學】【Stack】 吃洋芋片也能學資料結構!? Σ(゚д゚) 封面圖: 架構圖: 影片連結: 牛頓被蘋果砸到領悟萬有引力,我們吃洋芋片也能悟出 Stack 資料結構的道理。10
[問卦] 要怎摸知道自己對寫程式有沒有天分啊?As title 常常聽很多人說 寫程式就像畫畫一樣 要有天分 那麼問題就是要怎麼知道7
[問卦] 演算法DFS看得懂 但寫不出來 問題在哪?最近開始Leetcode 發現字串處理和系統設計的的題目較DFS容易寫 DFS的題目看解答看得懂 但是要自己從無到有寫一次 包括邊界條件和遞迴判斷式怎麼寫 卻寫不出來8
[問卦] 前端是不是用不到演算法?如題 遇到的同事跟前人留下來的程式 全都用陣列存資料 根本沒人在用串列跟堆疊跟遞迴 還是其他間公司有沒有人在用演算法?8
Re: [問卦] 迴圈是不是對新手不友善啊?迴圈本身很簡單啊 把1到N印出來,每一行一個數字 只要你可以寫出: for(int i=1;i<=N;i++) cout << i << endl; 好你會迴圈了2
[考試] 計算機概論程式設計一問某計概考古題看到的 第37題,求VB程式T和S結果,如下圖 T跟S不都是T=T+2,S=S+2 兩個都在做遞迴,不是應該最後數值會一樣嗎?2
Re: [請益] 南部新手轉換跑道家教多年,非本科初學者建議以下幾點要弄清楚 1. 語言只是解決問題的工具,要學習的針對要解決的事情和問題,提出解決方案和優劣 比較。 2. 在不同領域的公司裡面擔任什麼角色 傳產 科技業 金融業 etc1
[廢文] 遞迴--
爆
Re: [新聞] 釋出3,753億元 財政部:嚴重衝擊中央財政爆
[問卦] 醫生太棒了吧==爆
[問卦] 鏡週刊遭threads愛台網友出征爆
[爆卦] 麥當勞重北一S50前員工遭性侵自殺爆
Re: [新聞] 建中校友宴竟吃「香鮑佐蘿莉」!他痛批:64
[問卦] 認真文 聽說明天保證會起訴了!63
[問卦] 小火鍋霸主是???爆
[問卦] Threads:我們是什麼很賤的人嗎?還要上街55
[問卦] 晨晨:蹦闆很囂張,我要替我爸報仇57
[問卦] 為什麼一定要出國考察爆
Re: [問卦] 長大後發現父母原來是89/O麻會怎樣?52
[問卦] 志祺77要跟誰打拳上流量才會高50
[問卦] 有什麼工作是簡單 穩定 還能偷閒的?爆
[問卦] 耶誕城那麼狂的嗎?44
[問卦] 人生的意義到底是什麼爆
[爆卦] 愛河42
[問卦] 住家裡但有工作,算啃老嗎= =...?44
[問卦] 館長那時候怎麼會答應跟吃屎哥打拳阿爆
[問卦] 兩兆風電算失敗收場嗎?33
[問卦] 這麵+飯要430元?☺65
[問卦] 值得買的樂高組合☺1X
Re: [新聞] 釋出3,753億元 財政部:嚴重衝擊中央財政20
Re: [問卦] 罷免連署需要身分證 你真的OK??30
[問卦] 陳沂VS雞排妹又贏了,贏第幾ROUND了?27
[問卦] 30歲拿不出五萬塊算很可悲嗎==?30
[問卦] 讀莊敬高職一律當作8+9可以嗎27
[問卦] 認真文 為什麼輝達員工不想去南部88
[問卦] 以前學過的科目哪一個最廢?45
[問卦] 安卓市場只剩三星手機能打了?25
[問卦] 沖繩屌打墾丁?!哪邊好吃好玩推