眾所周知,蠶蛹是東北程序員非常喜歡的一種原始數(shù)據(jù),其加工算法有燒烤,鹽煮,開邊等,其中受燒烤算法在東北碼農(nóng)影響甚廣,一向廣為流傳,而且鹽煮雖然保留原始營養(yǎng)數(shù)據(jù)較多, 但因算法粗暴不雅,受廣大程序猿所鄙,因?yàn)閺?fù)雜即是高大上,開邊干煸作為蠶蛹這種原始數(shù)據(jù)加工處理的最復(fù)雜的方法之一,倍受程序猿們追捧,本文結(jié)合本拐的親自實(shí)現(xiàn),結(jié)合狼廠算法百科,總結(jié)了開邊算法中的一些細(xì)節(jié)和注意事項(xiàng),希望與廣大同胞共勉;
開邊算法整理的步驟如下:
水煮 (原始數(shù)據(jù)預(yù)處理)
剪裁 (數(shù)據(jù)規(guī)約及降噪)
煎炸 (油炸掛漿)
烹炒 (加鹽及成品輸出)
本文將結(jié)合PO主的實(shí)現(xiàn),分為以上4個(gè)維度進(jìn)行闡述
水煮
作為原始數(shù)據(jù)處理的第一步,水煮算法并不復(fù)雜,其具體實(shí)現(xiàn)如下:
$蠶蛹=洗凈($蠶蛹);$蔥段=切段($蔥,15cm);$冷水鍋=new 冷水鍋();$冷水鍋->水煮($蠶蛹,$蔥段);$冷水鍋->加鹽with勺(4);$冷水鍋->wait水開();$冷水鍋->中火(15min);
剪裁
狼廠算法百科中對剪裁部分闡述如下:
foreach($蠶蛹 as $蛹){ 剪裁($蛹);}
其中并沒有對剪裁部分進(jìn)行詳細(xì)闡述,本拐在實(shí)現(xiàn)過程中,最原始的方式如下:
剪裁($食材){ $左手 = get ($剪刀); $右手 = get ($食材); $食材 = 剪($左手,$右手); $res = 去除雜物($食材); //去掉前掉的蠶蛹中的蟲子 release($左手); release($右手); return $res;}
后來發(fā)現(xiàn)在實(shí)現(xiàn)的過程中,會(huì)進(jìn)行2n次get,2n次release,由于get()和realse()屬于外部IO操作,會(huì)占用大片的時(shí)間,因此,對此進(jìn)行了優(yōu)化,其具體算法如下:
$左手 = get ($剪刀);$剪后蛹 = [];$處理蛹 = [];foreach($蠶蛹 as $蛹){ $右手 = get($蛹); $tmp = 剪($左手,$右手); $剪后蛹[]=$tmp; release($右手);}foreach($剪后蛹 as $tmp){ $處理蛹[] =去除雜物($tmp);}release($左手);
可以看出,在優(yōu)化后的算法中,由于只進(jìn)行了n+1次get操作,n+1次release,因此,時(shí)間復(fù)雜度有了顯著提高。
煎炸
煎炸具體算法如下:
$水淀粉 = 注水($淀粉);$待炸蛹 = [];$炸后蛹 = [];控水($處理蛹);等待(15min);foreach($處理蛹 as $蛹){ $待炸蛹[]=$水淀粉->包裹($蛹);}$炸后蛹 = 煎炸($待炸蛹);
其中,值得注意的是,控水處理的一定是剪后的處理蛹,如果只對煮后的蠶蛹進(jìn)行操作,那么由于沒有控干水份,在煎炸過程中很可能發(fā)現(xiàn)蛹炸人亡的慘案,就像 2008 年,由于一個(gè)明星不會(huì)修電腦,后來的事情大家都知道了是吧。。。。
烹炒
烹炒是最后一步,也是整個(gè)算法的精妙所在,其實(shí)理論上,炸后的蠶蛹就是可以食用的,但是由于整體過軟,口感并不是很好,所以,炒一炒,加上些配料,才會(huì)讓最終的結(jié)果更加精妙。
加料的過程,不同的程序猿各有各的愛好,就本拐來講,本拐喜歡炒些紅椒,加些彩椒,具體實(shí)現(xiàn)方法如下:
$配料=切塊($彩椒);$小紅椒=get(小紅椒::class);$油鍋 = new 油鍋();$油鍋 -> 暴炒($小紅椒);$油鍋 -> 暴炒($配料);$油鍋 -> add($炸后蛹);$油鍋 -> 加鹽with勺(2);$開邊蠶蛹 = $油鍋->出鍋();
-
數(shù)據(jù)
+關(guān)注
關(guān)注
8文章
7335瀏覽量
94774 -
算法
+關(guān)注
關(guān)注
23文章
4784瀏覽量
98060
原文標(biāo)題:備受程序員們追捧的開邊干煸處理蠶蛹的算法優(yōu)化
文章出處:【微信號(hào):TheAlgorithm,微信公眾號(hào):算法與數(shù)據(jù)結(jié)構(gòu)】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評(píng)論請先 登錄
低功耗IPC,仍備受追捧
芯盾時(shí)代SDP助力企業(yè)應(yīng)對核心機(jī)密泄露危機(jī)
大理的AI野心藏不住了——風(fēng)花雪月中千名程序員探討人工智能
程序員最常見謊言
網(wǎng)絡(luò)接口:數(shù)字世界的“門鈴”,你了解多少?
軟通國際亮相2025沙中開源與AI科技峰會(huì)
奔赴熱AI,碼力全開!Talkweb House@1024程序員日系列活動(dòng)圓滿收官
開鴻智谷“以賽促學(xué)、以賽選才”|1024程序員節(jié)暨開源鴻蒙構(gòu)建大會(huì)圓滿落幕!
程序設(shè)計(jì)與數(shù)據(jù)結(jié)構(gòu)
計(jì)算機(jī)網(wǎng)絡(luò)排錯(cuò)思路總結(jié)
如何在 樹莓派 上編寫和運(yùn)行 C 語言程序?
零基礎(chǔ)入門:如何在樹莓派上編寫和運(yùn)行Python程序?
Gemini Vision + Raspberry Pi 化身“數(shù)字導(dǎo)盲犬”?
備受程序員們追捧的蠶蛹你了解多少?
評(píng)論