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
[廢文] 遞迴--
爆
[爆卦] 中國無錫學校發生無差別殺人至少7死21傷爆
[爆卦] 刺青8+9木柵動物園突破柵欄闖進鬣狗區爆
[問卦] (祭品)中華對日本逆轉勝爆
[問卦] 中華隊今天會掛蛋嗎?87
[問卦] 大家給今天中華台北隊打幾分?61
[問卦] 杜奕瑾揭秘台灣空汙的由來!67
[問卦] 台灣為什麼要保育綠鬣蜥?59
[問卦] 以前國小電腦課在幹嘛?61
[問卦] 2000-2010期間大學生樂趣是?53
[問卦] 台灣籃球要怎麼達到棒球的關注度?49
[爆卦] 日本隊贏了50
[問卦] 中職到底幾A啊82
[問卦] 帶狀皰疹一直廣告是有病啊?46
[問卦] 日本有那麼難贏?43
[問卦] 高鐵台北站爆了?69
[問卦] 都是亞洲黃猴,為什麼日本就是比較強?83
[問卦] 大巨蛋當初是誰在黑?27
[問卦] 場上越來越安靜爆
[問卦] 以前沒有智慧型手機大學生都在幹嘛??93
[問卦] 無蝦米和倉頡是怎麼沒落的52
[問卦] 所以王建民巔峰有多強?33
[問卦] 王建民受傷,怎還能壓制日本一線打者?27
[問卦] 為什麼要嚴禁公務人員兼職?30
Re: [新聞] 俄烏續交戰 澤倫斯基:盡力用外交手段23
[問卦] 5ch有人炸鍋了26
[問卦] 板橋耶誕城人到底哪來的?27
[問卦] 臺籃仔是不是很丟臉27
[問卦] 如果我跟北檢說金流藏在萬里賴氏厝...?23
[問卦] 韓國好屌 逆轉多明尼加25
[問卦] 「雖敗猶榮」是不是一種幹話?