#臉紅紅深度床遊牌卡的背後創作故事
「性本身就是極富創造力的事情,它可以創造出愛的共鳴共感,更可以創造出生命。而所有的引導,最後都回歸個人——你究竟喜歡什麼?你究竟想要什麼?你渴望哪些觸摸?怎麼樣做,你可以更有被愛與愛人的感受?」——性愛教練 Hsiaowei
「當你的身體敞開,你可以自然地鼓勵自己去享受性愛、產生與自己的玩的意願,你的身體就可能與另一個身體、或自己的身體產生更多共鳴。過去的你,可能覺得性就是 A、B 或 C,但有可能根本不是那樣的,你其實真的可以去調製屬於你的性愛配方。」——臉紅牌卡製作人 Audrey
「我真的很喜歡!比第一代更喜歡,感覺有不斷改善,材質、大小都是,感受得出來是很用心、精益求精的產品。」——SexChat 說性談愛
臉紅紅深度床遊牌卡,裡頭有臉紅紅團隊一路對議題的關心,有用戶對我們的鼓勵期許,也有我們面向自己的追求進化——這是我們希望能安心送到你手上的作品。
我們知道,有時候談性,難免有彆扭。畢竟人人都會說啊這是閨房的事,啊這是兩人之間的事,畢竟偶爾回想,也感覺跟自己身體有些半生不熟。我們也知道,每個人看待性的方向與方法,面對性的需求與渴望,各有不同,其中多元。
所以我們真正想鼓勵的,其實是看見、承認、選擇,最後創造。
我們在想,在討論「性」,討論「進入」之前,其實更多會不會是——我是否認為自己性感;我有沒有在這段關係中感覺親密;我在當下是否足夠安全自在;我知不知道自己的身體如何舒服,進而我們能享受到更巨大的愉悅,更明白性裡頭都是創造。
那有沒有可能,我們能夠為所有人,遞上一雙牌卡,用雙主題,做為鑰匙,做為加速器,更做每個人好好地探索自己身體,挖掘自己性感帶,也與他人親密遊戲的彈藥庫,讓這條路上,大家都能走得更舒心愉快。
去年做臉紅紅牌卡上嘖嘖募資,收到許多迴響,有好評也有回饋許多——比如期待能生更多主題,能不能牌卡防水不怕撕,也更好輕盈攜帶。
今年下半年,我們選擇為你再玩一次。我們把頭洗下去,上述回饋全都迭代修改——首創第一個不怕濕的情慾牌卡,可水洗,也不怕撕,這次還設計了行前手冊與引導音檔,一起愉悅上路。
我們試圖處理的,其實就是我們成長至今的各種身體記憶,是我們繞了長長遠路,為了尋覓自己性的語言,與發聲位置。而終於發出來的,那第一聲,舒服的嘆息。
我們渴望有更多人,一起發出那樣的聲音。
「我想要的性,是我知道如何取悅自己,創造給自己的愉悅,也明白如何跟他人親密遊戲,互相慾望。」——臉紅紅深度床遊牌卡
臉紅紅深度床遊牌卡,請多多指教。
更多寶藏,等你去逛 👉👉👉 https://womany.net/s/yzfx063
#臉紅紅深度床遊牌卡 #渴望有更多人一起發出舒服的嘆息聲
同時也有2部Youtube影片,追蹤數超過24萬的網紅啟點文化,也在其Youtube影片中提到,《早點這樣想,該多好》 博客來:https://goo.gl/vgJbbf 金石堂:https://goo.gl/i78Ftr 誠品:https://goo.gl/SPdXgW 晨星:https://goo.gl/NuueR5 【熱門講座】溝通,和你想的不一樣~07/25(三) 或 08/0...
「遞迴迭代」的推薦目錄:
- 關於遞迴迭代 在 Facebook 的最讚貼文
- 關於遞迴迭代 在 Facebook 的最佳解答
- 關於遞迴迭代 在 Openbook閱讀誌 Facebook 的最佳解答
- 關於遞迴迭代 在 啟點文化 Youtube 的最佳貼文
- 關於遞迴迭代 在 MANDARK梁丹郡 Youtube 的精選貼文
- 關於遞迴迭代 在 Re: [問題] 關於遞迴加快速度的迷思? - 看板C_and_CPP 的評價
- 關於遞迴迭代 在 JavaScript 學演算法(二十二)- 遞迴Recursion 的評價
- 關於遞迴迭代 在 小议python的迭代iterative和递归recursive 的評價
- 關於遞迴迭代 在 用C語言撰寫反覆結構(for-loop)及遞迴函式(recursive)2 個 ... 的評價
- 關於遞迴迭代 在 純靠北工程師 的評價
- 關於遞迴迭代 在 【 JavaScript 教學】 7分鐘了解迭代器 - YouTube 的評價
- 關於遞迴迭代 在 jQuery recursive iteration over objects 的評價
- 關於遞迴迭代 在 algorithm - recursion versus iteration 的評價
- 關於遞迴迭代 在 [演算法] 遞回函式(recursive function, recursion) 的評價
遞迴迭代 在 Facebook 的最佳解答
前幾個月,停課那段日子,收到「openbook 閱讀誌」的邀約,希望我書寫一篇關於「書與人生」的文章。
我是國文老師,我能寫,也愛寫,當然願意寫。
我選了影響我人生極大的一本書:余秋雨的山居筆記。
以人生中的三座山為軸線,用書中那篇寫東坡的「突圍」為發想,寫下年近半百的感悟。
與大家分享,在這山雨欲來風滿樓的週末夜晚。
--------
「像繞不出的山,纏著望不盡的彎,行到水窮處,總遇不見雲起,取而代之的是下一次的山窮水盡。就像那趟倉皇夜奔永遠睡不上一席茅榻,像首貸二胎再重整的他的債務我的名字,更像那夜奔之前的少年被撞門而入,無端被拔起重摔,拳腳如風如雨,落在我不明所已的十三四歲的夢魘裡。
他是山,我以為一輩子繞不出飛不過的山。
24年過去了。
我飛高了。
山老了、瘸了、頹圯了也荒了。
我緊握竹杖,踩穩芒鞋,24年裡每一天穿梭煙雨,在始終迂迴蜿蜒的歲月裡,用腳履行著那些在筆記裡拾獲的蹲低、褪去、修剪、埋首、厚積與放下,日日在我自己選擇留下的我的山居偏鄉小校裡突圍、拉拔、發聲、碰撞、創發與扶持,四季更迭,天光雲影遞嬗,偶爾遇見春華秋雨,才發現早已將異鄉他山活成也無風雨也無晴。」
遞迴迭代 在 Openbook閱讀誌 Facebook 的最佳解答
#在山居偏鄉小校裡 #突圍拉拔發聲碰撞與扶持
本期 #書人生 邀請到在南投偏鄉任教25年的國中老師、教育界三大獎全國獎得主👬👫🏆 #王政忠。他出版過《老師,你會不會回來》,並翻拍成電影,期待以教育翻轉學習弱勢。
.
王政忠:「像繞不出的山,纏著望不盡的彎,行到水窮處,總遇不見雲起,取而代之的是下一次的山窮水盡。就像那趟倉皇夜奔永遠睡不上一席茅榻,像首貸二胎再重整的他的債務我的名字,更像那夜奔之前的少年被撞門而入,無端被拔起重摔,拳腳如風如雨,落在我不明所已的十三四歲的夢魘裡。
他是山,我以為一輩子繞不出飛不過的山。
24年過去了。
我飛高了。
山老了、瘸了、頹圯了也荒了。
我緊握竹杖,踩穩芒鞋,24年裡每一天穿梭煙雨,在始終迂迴蜿蜒的歲月裡,用腳履行著那些在筆記裡拾獲的蹲低、褪去、修剪、埋首、厚積與放下,日日在我自己選擇留下的我的山居偏鄉小校裡突圍、拉拔、發聲、碰撞、創發與扶持,四季更迭,天光雲影遞嬗,偶爾遇見春華秋雨,才發現早已將異鄉他山活成也無風雨也無晴。」
—————
㊯贊助Openbook,參與從台灣土地長出的原創文化
●了解更多:https://lihi1.com/QrPU4
●訂閱電子報:https://lihi1.com/EbuBe
●追蹤Openbook IG:https://goo.gl/Enkzy3
遞迴迭代 在 啟點文化 Youtube 的最佳貼文
《早點這樣想,該多好》
博客來:https://goo.gl/vgJbbf
金石堂:https://goo.gl/i78Ftr
誠品:https://goo.gl/SPdXgW
晨星:https://goo.gl/NuueR5
【熱門講座】溝通,和你想的不一樣~07/25(三) 或 08/02(四)19:30
報名連結:https://www.koob.com.tw/contents/3241
【8/30 開課】《人際回應力-看懂情緒,輕鬆對談》~第17期(僅剩三位名額)
一個人的命運,是回應力的總和!
課程資訊:http://www.koob.com.tw/contents/157
更多學員心得分享:http://goo.gl/Guc6V6
【人際維基】桌遊體驗會~讓你一玩就懂別人的在乎~ 8/12(日)14:00
活動資訊:https://www.koob.com.tw/contents/3072
桌遊【人際維基】~一玩就懂得別人的在乎:https://goo.gl/Ej4hjQ
到蝦皮購買【人際維基】:https://goo.gl/ASruqR
=============================
以下為本段內容文稿:
今天的「一天聽一點」我要跟你分享一篇文章。我會把這一篇文章唸給你聽,這一篇文章來自於嘉玲最近推出的新書,這一本新書叫《早點這樣想,該多好》,它是在今年的7月7號,推出到市場上。
對嘉玲而言,這一本書是她所有出書的過程當中,最特別的一點。因為過去幾本的著作,都是以一個主要的核心論述去做討論。不管是希望帶給讀者,能夠學會一些溝通裡面的關鍵,還是在人際關係裡面的觀點。
簡單來說,先前的著作都是有一個核心主軸去做前進,然而這一本書《早點這樣想,該多好》,是嘉玲在寫作的過程當中,她的一些散文所匯集起來的。
身為嘉玲的伴侶,我看她在寫這一本書的過程當中,她是這麼的享受,她是這麼的快樂,或許有一些人可能會覺得,不就是把一些文章剪一剪,編成一本書嗎?
然而從我的角度看嘉玲在寫這本書,她真的不是幾篇文章,剪一剪出一本書而已,每一篇散文、每一個文字,都是嘉玲心血的結晶。她內心有一個深刻的相信,想要傳遞給大家。
就像是如果你有公眾演講的經驗,你會發現其實越短的演講,是越難講的。如果今天我一個概念,可以用一本書就把它說完,那說實在一點,它的難度跟我每一篇文章,不過就是兩三千字的篇幅,要能夠把一個概念承載清楚,要能夠把一個感動傳遞給大家,其實越短是越難寫的。
所以嘉玲就曾經跟我說,這一本書《早點這樣想,該多好》這裡面的文字,是最接近她平常的話語方式,那如果你想要好好的認識嘉玲、靠近嘉玲的話,那這本書其實是一個會帶給你很大感動的入口。
說了這麼多,我要開始為大家唸我選的這一篇文章,然而選的這一篇文章,裡面的主人翁其實就是我。請原諒我自肥一下,因為我每一次看它,我都非常的感動,我很希望透過嘉玲的文字,加上我的表述,把這份感動傳遞給你。
這一篇文章的標題叫做『寫給生命的情書』,以下我就開始唸給大家聽~
那天你讀完了我剛上架的新文章,嘴裡念念有詞,這麼會寫,什麼時候有機會輪到我成為你故事中的主角啊?
我沒接話,腦中浮現幾位攝影圈和廚師界的好友,他們似乎都把最好的作品留給了旁人,最親近的家人,連一張合照和一桌好菜的時間都顯得奢侈,因為太靠近,總忘了要惦記。
你打趣的話,在我心中迴盪了數天,我認真的想。如果真要為你的生命寫一首詩,我最想記錄的是哪一段經歷,突然間有個數字跳進我的腦中,你曾經問我,你知道幾年份的威士忌最好喝、順口,價格又合理嗎?
我搖搖頭,要你別賣關子,你淡淡的說是12年,為什麼是「12」?我不假思索的問,你帶著一點滄桑的語氣,緩緩的說,12年能讓一個孩子褪去一身的稚氣,開始有了大人的模樣,在那個關鍵的轉折點,你會聞到一股迫不及待成熟的香氣。
還有,你可曾發現「12」是中國人最喜歡呈現時間的刻度,一天12個時辰,一年12個月,一輪12個生肖。當每個月份都歷經了屬於它自己的年頭,相乘起來就是一個等距的正方體,裝載著一個世代更迭,宣告不同思維的交替。
所以你喜歡這個年份的酒,是因為你喝的到時光的推移,完整發酵的厚度。你笑而不答,我知道你的人生也藏著一瓶酒,你正等著它散發最香醇的滋味。
2005年是你生命中的低潮,工作上的不順利,使你逃到了書本的世界,甚至開始錄製「有聲書評」,這對少時不讀書,總在留級邊緣的你是巨大的改變,沒人覺得你是認真的,頂多逢場作戲。
我也曾問過你為何是「書」?你說正因為壞到不能再壞了,乾脆就去做一件自己原本最不拿手的事情,看看情況還能多糟,那時你生命出現了一道深深的裂縫,你縫不起來,你不知所措。
唯一記得的事情,是父親離開前告訴你,要做一個對社會有幫助的人。「有聲書評」像是一塊浮木,幫助你在那段情緒的波濤中,暫時有個依靠,不會耽溺在黑暗裡。
你拼命的讀,用心的準備,對著錄音筆反覆的排練,沒有掌聲,沒人問候,有的只是長長的沈默,感覺像是被世界遺棄了,卻還不死心的想要留言挽留,一則則書評,是你給生命的情書,寄託著你無處發揮的才華。
偏偏命運是個不浪漫的情人,書評從未為你謀得一職半位,它只是靜靜的成為你生活的旋律,定期演奏,即使無人喝彩。但沒有裂縫,就看不見陽光,當年的那道傷,使你踏上了自修之路。
在一次次的訪談中體悟溝通的真諦,才有今日你胸前的勳章,寫著你的故事我終於明白,所有悲傷的人背上都有一道傷,或深或淺的傷口,總有愈合結痂的一天,痛會過去,傷痕會留下。
傷痕不是用來後悔的,它是在提醒自己曾多麼勇敢,只要你願意把目光落向前方,你就能夠把傷背在背後,成為你生命前進的動力。
親愛的,再過一個月,時序就要進入2017年,也是你持續寫信給生命的第12個年頭。這一路我見證了你的堅強與勇氣,這瓶酒你釀了這麼多年,風味早已成熟,醉人的不是那一本本的書,而是你穿越了生命的考驗,焠鍊出最深的體會。
如今這塊浮木對你的意義,已大不相同,可它卻能夠代替你,在世界的每個角落陪伴有需要的人們,因為他們會在你的聲音中聽見堅持,寫於2016年的12月。
這一篇『寫給生命的情書』為你唸到這邊。嘉玲的文字之於我,就像是一杯好酒,一杯好茶,不管是好酒、還是好茶,它能夠帶給我們的是入喉之後,那回甘的韻味,所以我想今天的內容就到這邊。
把韻味跟回甘留給你,在你心中慢慢的迴盪沈澱,我是凱宇。
如果你喜歡我製作的內容,請在影片裡按個喜歡,並且訂閱我們的頻道,別忘了訂閱旁邊的小鈴鐺按下去,這樣子你就不會錯過我們所製作的內容。
那麼如果你對於啟點文化的商品,或課程有興趣的話,我們在每一段影片說明的末端,都有相關的連結,近期我們開的課是8月30號的『人際回應力』課程,我很期待能夠在啟點文化的教室裡見到你,謝謝你的收聽,我們再會。
#啟點文化 #心理學 #人際關係 #凱宇 #人生成長
遞迴迭代 在 MANDARK梁丹郡 Youtube 的精選貼文
關於Triple Deer
成立於2012年的Triple Deer,是一支來自新竹的後搖滾樂隊。
第一代Triple Deer的相遇在清大,一間沒有驚喜,沒有太多樂子的大學。他們不約而同地走進學校裡最桀驁不馴的社團,迴聲社,組了幾個團,犯了幾次蠢,最後終於遇見彼此。
一年一年過去,歷經團員更迭,Triple Deer的曲風漸漸確立為純器樂搖滾。他們選擇用相對簡單、傳統的編制做出樸實且深厚的聲響,並透過音符與節奏,學習如何不藉言語,也能營造畫面與想像,傳遞誠摯的感情。
更多Triple Deer樂團資訊
FB粉絲專頁
https://www.facebook.com/TripleDeer
Dear Muzik 親愛的音樂官網
http://dearmusik.com/
遞迴迭代 在 JavaScript 學演算法(二十二)- 遞迴Recursion 的推薦與評價
遞迴 與迭代 · 選擇結構,是由上而下(Top-Down),慢慢地將問題縮小,來求得答案; · 將問題分解成干個子問題,再回頭運算答案,因此會消耗大量記憶體空間 ... ... <看更多>
遞迴迭代 在 小议python的迭代iterative和递归recursive 的推薦與評價
小议python的迭代iterative和递归recursive. 先说一下迭代和递归的定义,迭代:循环或者反复执行,由旧值递推出新值。每一次对过程的重复称为一次“迭代”,而每一次迭代 ... ... <看更多>
遞迴迭代 在 Re: [問題] 關於遞迴加快速度的迷思? - 看板C_and_CPP 的推薦與評價
※ 引述《crazycat2 (浪無定所)》之銘言:
<deleted>
: 但因使用方式,還是以遞迴為主。
: 不經好奇若將遞迴改成static或是marco會更快嗎?
最近也對遞迴有些疑惑, 趁此機會來跟大家討教一下, 以下是我自己的觀點跟想法:
遞迴與迭代這兩個觀念可以在三個層次上遇到:
1. 抽象層次: 遞迴關係 (recurrence) 與迭代關係 (iteration)
2. 語言層次: 遞迴函式呼叫 (recursive function call) 與迴圈 (looping)
3. 底層實作: 呼叫 (call) 與跳躍 (jump) [一般呼叫的實作會包括跳躍]
其中這三個層次有一個直觀的串連關係。例如, 如果有一個題目在抽象層次具有遞迴關
係, 我們就可以依照該遞迴關係去寫語言層次的遞迴函式並呼叫他。這遞迴函式呼叫在
編譯時, 編譯器可以直觀的使用底層呼叫 (call) 類的指令去實作。遞迴關係、遞迴函
式呼叫與底層呼叫這三個不同層次的詞可以有這樣一個直觀的串連關係。相對地,迭代
關係、迴圈與跳躍也可以發現有類似的串連關係。只是這些串連關係並不具有強制性,
像是迴圈也可以用來實作遞迴關係,跳躍也可以用來實作遞迴呼叫,只是可能會有一些
其他的限制或多餘的步驟。不過大致上我們可以具有一個選擇的標準:我們希望在語言
層次可以寫簡短且容易了解維護的程式碼, 同時希望在編譯後於底層實作上具有高的運
作效率。
首先,要認知在這樣的前提上,已經接受在抽象層次上我們要解決的題目是具有直觀的
遞迴關係的,要不然我們沒必要討論這個問題 (就不要用遞迴就好)。 常見的例子像是
要求得 Fibonacci 數列中某項的值。Fibonacci 數列最直觀的定義就是使用遞迴關係
來表示:
f(n) == f(n-1) + f(n-2), (n > 1) [遞迴關係]
f(n) == n , (n <= 1) [邊界條件]
因為具有遞迴關係,所以在語言層次上我們依照這樣的遞迴關係去定義一個遞迴函式並
呼叫是再直觀不過的實作方法:
int f(int n) {
if (n <= 1) return n; // [邊界條件]
else return f(n-1) + f(n-2); // [遞迴關係]
}
但是我們也知道 Fibonacci 數列中每一項的值可以使用迴圈型的演算法算出,因為遞
迴關係可以反向地看成是迭代關係:
n == f(n) , (n <= 1) [初始條件]
f(n-1) + f(n-2) == f(n), (n > 1) [迭代關係]
所以當我們說『遞迴的效率比迴圈差』這個論述時,指的是在語言層次使用遞迴函式呼
叫實作會比使用迴圈實作效率要來得差,而不是說具有遞迴關係的題目本身就象徵著效
率不會好。
那為什麼在語言層次使用遞迴函式呼叫實作感覺上會比使用迴圈實作差?
最常見的範例就是跟計算 Fibonacci 數列的某項值時一樣,遞迴函式呼叫時會『重複』
呼叫具有相同參數值的同名函式。例如要計算 f(10) 時, f(8) 就會在計算 f(10) 跟
f(9)時都被呼叫並重新計算一次。這個會造成效率指數性的下降,也就是我們直觀地使
用遞迴函式呼叫去實作遞迴關係時踩到的效率陷阱。
那為什麼迴圈會是擺脫這個效率陷阱的救星呢?
// 下面的程式碼為了做好的對應,我並沒做最簡化
// 如果要求取 f(10) 的值:
int main() {
int F[10+1];
for (int i = 0; i <= 10; ++i) {
if (i <= 1) F[i] = i;
else F[i] = F[i-1] + F[i-2];
}
// 此時 F[10] 的值就是我們要的 f(10) 的值
printf("%d\n", F[10]);
return 0;
}
這個迴圈確確實實不多不少執行了 10+1 次,看起來要比使用遞迴函式呼叫少執行了很
多次計算 (因為我們沒有重複計算到) 。但是關鍵其實是因為這裡偷偷做了一個類似快
取的機制 (空間換取時間)。也就是說,我們也可以依樣畫葫蘆地把遞迴函式呼叫改成:
int f(int n, int *F, bool *visited) {
if (visited[n]) return F[n];
visited[n] = true;
if (n <= 1) {
F[n] = n;
} else {
F[n] = f(n-1, F, visited) + f(n-2, F, visited);
}
return F[n];
}
int main() {
int F[10+1];
bool visited[10+1] = {};
printf("%d\n", f(10, F, visited));
return 0;
}
我們維持了語法中的遞迴函式呼叫機制,並且通過類似快取的機制避免了重複計算,但
是也必須為此付出一些代價:我們需要記錄是否已經計算過 (visited)。但是相對地,
為什麼迴圈可以不用跟這裡一樣要付出記錄的代價?原因是因為遞迴關係如果要有解 (
也就是遞迴函式呼叫如果要確定能夠結束) ,那所有遞迴函式的呼叫可以依照呼叫者跟
被呼叫者的關係畫成一個樹的結構。我們只要確保在樹枝中比較接近樹葉的函式呼叫比
比較接近樹根的函式呼叫先計算,那最後的結果就會正確。也就是說,我們可以將他寫
成迴圈形式而不用記錄執行過哪些函式是因為存在一個計算的順序可以確保過程中被呼
叫者的值會比呼叫者先被算出來。例如只要確保迴圈中 f(6) 比 f(7) 跟 f(8) 先求出
就可以了。
那遞迴函式呼叫難道就不能做嗎?顯然不是:
void f(int n, int *F, int i = 0) {
if (n < i) return;
if (i <= 1) F[i] = i;
else F[i] = F[i-1] + F[i-2];
f(n, F, i+1);
}
int main() {
int F[10+1];
f(10, F);
// 此時 F[10] 的值就是我們要的 f(10) 的值
printf("%d\n", F[10]);
return 0;
}
(確實有更簡單的方式來寫這個題目,不過跟這裡要討論的差異無關就不細寫。)
如果這樣寫的話,在語言層次,我們保留了遞迴函式呼叫的機制,但似乎有一些多餘的
代價,只是並不那麼地明顯,至少直觀上沒有顯著會慢很多的理由。此時我們可以開始
討論底層實作的層面。在具有遞迴函式呼叫的程式碼經過編譯器編譯後,一般的硬體結
構要實作呼叫 (call) 會比單純的跳躍 (jump) 要複雜,簡單的理由就是每次呼叫要記
得回傳時回來的位址,還有要儲存目前函式內部變數的狀態,以免到時回傳回來後原本
的資料都遺失了。因為這種遞迴的形式是將遞迴呼叫放在遞迴函式定義的最後一行 (且
只有一次),也就是所謂的尾端遞迴 (tail recursion) 或尾端呼叫 (tail call) 。事
實上我們不必去儲存每次呼叫回傳時要回來的位址,因為最後回傳時都會經過一連串的
回傳後回傳到第一個呼叫者,所以我們只需要記得第一個呼叫者的位置。同時我們也不
用在呼叫後還儲存著目前函式內部變數的狀態,因為回傳回來後除了繼續回傳回去也不
會做任何事。
現代的編譯器在你適當的表示成上述尾端呼叫的程式碼時,可以幫你做尾端呼叫最佳化
(tail call optimization),避免在底層實作時使用呼叫 (call) ,所以原則上可以做
到跟迴圈幾乎無差別的效率。甚至如果你迴圈寫得不好 (例如不良的使用迭代器), 反
而寫得好的遞迴會比較快。
以上是假設遞迴關係本身是獨立的計算,不牽涉到外部操作 (例如使用 cout),也就是
我們不用去保證不同樹枝之間呼叫的先後關係。這在實務上其實很少遇到,一般我們遇
到的是像漢諾 (Hanoi) 塔這類的遞迴關係,也就是遞迴函式執行的順序會影響最後的
結果。所以為了保證執行順序,在使用迴圈實作遞迴關係時,我們會需要使用類似堆疊
的結構來模擬,此時遞迴跟迴圈的效率優劣就更難說,反而會與你是否有好好的寫程式
碼有比較大的關係。此外,用迴圈實作遞迴關係是在我們對於參數值有個好的順序 (例
如從 0 算到 10) 的情況下,才容易使用類似快取的機制。如果參數空間太大,而實際
上使用的參數值組合不多,快取機制會更難做而沒效率。不過這都是後話, 我想我有空
再補完.....
結論,在語言層次實作遞迴關係時用遞迴函式呼叫跟迴圈哪個方式好還是跟你的寫法和
編譯器有關。用迴圈實作會 "大幅地" 改進效率通常是因為我們偷偷在其中增加了其他
機制與特性,而這些機制與特性其實遞迴函式呼叫也都可以用只是你沒用,也就是你用
了一個比較聰明的方法去欺負一個比較簡單的方法。
--
寫一寫發現好像大部分是常識, 我錯了...
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.112.217.49
... <看更多>