众所周知,蚕蛹是东北程序员非常喜欢的一种原始数据,其加工算法有烧烤,盐煮,开边等,其中受烧烤算法在东北码农影响甚广,一向广为流传,而且盐煮虽然保留原始营养数据较多, 但因算法粗暴不雅,受广大程序猿所鄙,因为复杂即是高大上,开边干煸作为蚕蛹这种原始数据加工处理的最复杂的方法之一,倍受程序猿们追捧,本文结合本拐的亲自实现,结合狼厂算法百科,总结了开边算法中的一些细节和注意事项,希望与广大同胞共勉;
开边算法整理的步骤如下:
水煮 (原始数据预处理)
剪裁 (数据规约及降噪)
煎炸 (油炸挂浆)
烹炒 (加盐及成品输出)
本文将结合PO主的实现,分为以上4个维度进行阐述
水煮
作为原始数据处理的第一步,水煮算法并不复杂,其具体实现如下:
$蚕蛹=洗净($蚕蛹);$葱段=切段($葱,15cm);$冷水锅=new 冷水锅();$冷水锅->水煮($蚕蛹,$葱段);$冷水锅->加盐with勺(4);$冷水锅->wait水开();$冷水锅->中火(15min);
剪裁
狼厂算法百科中对剪裁部分阐述如下:
其中并没有对剪裁部分进行详细阐述,本拐在实现过程中,最原始的方式如下:
剪裁($食材){ $左手 = get ($剪刀); $右手 = get ($食材); $食材 = 剪($左手,$右手); $res = 去除杂物($食材); //去掉前掉的蚕蛹中的虫子 release($左手); release($右手); return $res;}
后来发现在实现的过程中,会进行2n次get,2n次release,由于get()和realse()属于外部IO操作,会占用大片的时间,因此,对此进行了优化,其具体算法如下:
$左手 = get ($剪刀);$剪后蛹 = [];$处理蛹 = [];foreach($蚕蛹 as $蛹){ $右手 = get($蛹); $tmp = 剪($左手,$右手); $剪后蛹[]=$tmp; release($右手);}foreach($剪后蛹 as $tmp){ $处理蛹[] =去除杂物($tmp);}release($左手);
可以看出,在优化后的算法中,由于只进行了n+1次get操作,n+1次release,因此,时间复杂度有了显著提高。
煎炸
煎炸具体算法如下:
$水淀粉 = 注水($淀粉);$待炸蛹 = [];$炸后蛹 = [];控水($处理蛹);等待(15min);foreach($处理蛹 as $蛹){ $待炸蛹[]=$水淀粉->包裹($蛹);}$炸后蛹 = 煎炸($待炸蛹);
其中,值得注意的是,控水处理的一定是剪后的处理蛹,如果只对煮后的蚕蛹进行操作,那么由于没有控干水份,在煎炸过程中很可能发现蛹炸人亡的惨案,就像 2008 年,由于一个明星不会修电脑,后来的事情大家都知道了是吧。。。。
烹炒
烹炒是最后一步,也是整个算法的精妙所在,其实理论上,炸后的蚕蛹就是可以食用的,但是由于整体过软,口感并不是很好,所以,炒一炒,加上些配料,才会让最终的结果更加精妙。
加料的过程,不同的程序猿各有各的爱好,就本拐来讲,本拐喜欢炒些红椒,加些彩椒,具体实现方法如下:
$配料=切块($彩椒);$小红椒=get(小红椒::class);$油锅 = new 油锅();$油锅 -> 暴炒($小红椒);$油锅 -> 暴炒($配料);$油锅 -> add($炸后蛹);$油锅 -> 加盐with勺(2);$开边蚕蛹 = $油锅->出锅();
-
数据
+关注
关注
8文章
6899浏览量
88842 -
算法
+关注
关注
23文章
4601浏览量
92651
原文标题:备受程序员们追捧的开边干煸处理蚕蛹的算法优化
文章出处:【微信号:TheAlgorithm,微信公众号:算法与数据结构】欢迎添加关注!文章转载请注明出处。
发布评论请先 登录
相关推荐
评论