【在厨房想30天的演算法】Day 01 演算法好吃吗~

【在厨房想30天的演算法】Day 01 演算法好吃吗~

Aloha!我是少女人妻Uerica!哈哈哈,过了一年又开始跟老公没话题了,加上疫情关系天天处一起,我的声音已经变成增加他专注力的白噪音了QQ!突然间看到萤幕上跳出 " IThome铁人赛 热血开赛 " ,喔!!今年我又有理由烦老公拉~(\欢呼/)!这三十天也请各位多多指教了~

学习目标与方向

目标

  • 自己是从没接触过演算法与资料结构的非本科生,我是时尚系毕业的 XDD。常梦到隔壁小陈说演算法很重要,所以想藉由三十天的自学与接触更加认识演算法、资料结构的基础,并更了解原理与方法。
  • 希望未来面对问题能够更快的想出最佳解法,以及能写出更好的程序码。
  • 想跟老公增加话题!← 最重要 XD

方向

  • 目前我先从好读好看又超好理解的《演算法图监》一书开始(全彩赞赞),以此书的目录与所提及的主题为大方向开始延伸,再藉由网路上或公开课程等多方资料的协助,最後用产出学後心得。
  • 说明用的程序码会使用 javascript

目录(这边会陆续增加唷)


什麽是演算法以及演算法为什麽重要?

今天一如往常在厨房奋斗的时候,自己渐渐练成流畅的备料与料理步骤,熟悉的料理几乎不加思索就能计算出最省时的步骤,例如红萝菠跟南瓜用蒸的取代滚水烫、鸡腿排与鲑鱼排高温烘烤取代锅煎、使用食物调理机取代菜刀等。

突然想起刚认识老公时替他做便当,待在厨房一整天的时间才好不容易完成一个便当,当时料理时间又长又容易出错,每次煮完都要花三天时间休养回血啊 XD。

辛苦好久的便当
这种精心便当做不到三次,反正老公也到手了XD

所以演算法为何重要呢~有下厨的人应该可以体会,若要做出一整桌菜,有逻辑的设计步骤与计算料理时间是非常重要的,而写程序也是如此!

广义来说,演算法是一种牵涉到解决问题的步骤与逻辑的方法。

《演算法图监》一书提到:如果做出某种料理的步骤是食谱,那麽用电脑解出特定问题的步骤就是演算法

另外根据 Donald Knuth 在 《电脑程序设计艺术》中提到演算法的定义:

  • 要有 输入 Input 与输出 Output:就像要做一道料理,使用的食材有哪些(Input),以及最後做成的料理是什麽?(Output)

  • 有限性:简单来说就是输入与输出之间的程序要在有限的步骤停下,不可以是个无穷回圈。

  • 明确性:描述精确且没有模糊地带,不会有不同人看到有不同想法的情况。例如高丽菜就比蔬菜来得更明确。

  • 有效性:每个步骤都是可执行且有效的。例如像食神一样用手掌煎荷包蛋就是不行的!


啊哈!大概就是如此~终於写完第一篇了,万事起头难!最难的已经过了哈哈哈~感谢各位阅读~明天见啦!


<<:  登录档的增删改查--风险技能平民都会

>>:  01 - 前言 & 浅谈 Observability

Day 28 - 创意构想2 - 电子礼券存摺

图片来源 随着数位科技的进步与运用, 现在电子礼券盛行, 从超商寄杯的条码, 到公司年节发送的大卖...

[常见的自然语言处理技术] 文本相似度(IV): 建立自己的Word2vec模型

前言 原本以为文本相似度这个主题两天就可以结束了,没想到花了四天来讲。今天将会是介绍自然语言处理基础...

Day9-"格式化符号"

昨天在练习scanf时,题目规定说输入为字串,一开始都是以%d,做为字串的格式,但在printf时发...

[DAY30] 浅谈 Azure Machine Learning 的 MLOps 做法

DAY30 浅谈 Azure Machine Learning 的 MLOps 做法 终於来到最後一...

【Day 13】jQuery下载安装

何谓jQuery? 说明:是一套跨浏览器的JavaScript函式库,用於简化HTML与JavaSc...