【在厨房想30天的演算法】Day 05 资料结构之冰箱整理术

Aloha!又是我少女人妻 Uerica!昨晚跟朋友聊天突然发现,如果没有最终目标或目标不够明确,那过程中受的每一点日晒雨淋都犹如被鞭刑拷打一样痛苦,可是如果能明白自己所受的每一点辛苦有其意义,那就有满满的动力坚持下去吧!甚至还会上瘾呢~


资料结构

今天来谈资料结构!恩!什麽是资料结构呢?阿先来跟大家分享一下我的冰箱收纳小技巧吧 XD

什麽是资料结构以及如何消灭冰箱毛怪

以前刚开始学料理的时候,会特地买食谱上写的所需食材,但每次料理完都会剩下很多食材,像葱一买就是一把,总不能只买一两根吧,虽然偶尔卖菜阿姨会送我XD。况且不是什麽食材都很常用到,总之最後冰箱就越吃越多剩余食材,然後过年清扫冰箱时总会遇到很多奇蹟生物..冰箱毛怪!

UolApA5

後来经过经验累积,可以自己随意搭配食材来料理,也懂得哪些食材可以互相替换,学会了定期帮冰箱瘦身的技巧,但越来越常煮的时候,通常看到哪些青菜或肉类在特价,还是会忍不住囤货一番,所以冰箱毛怪并没有变少,还进化给我看!

YzHh8Wt

後来我发现,是我家冰箱太杂乱了,每次回家都一股脑往冰箱丢,然後家里冰箱又大的跟什麽一样,造成很多善良的食材渐渐被遗忘,心生怨恨成了冰箱毛怪!

DFeQfUv

直到有天我想通了,决定好好洗心革面一番,因我家冰箱冷藏区大约有六层,所以我将冰箱食材不挑种类以保存期限来排放,不易久放的在最上层,可以放比较久的在最下层,这样的方式的确可以避免食材被遗忘最後过期,但买新食材的时候却要花很多时间整理与调整,也是一件令人头痛的事。

於是我後来又改良,改成食材先分类(肉类一层、蔬菜一层等),再将不易保存的放在最左侧,这样一来不但可以评估哪些食材快过期赶快料理,在买新食材的时候又能快速放入适当位置,而且能快速分辨哪些总类库存快要没有了!

Tu49hHM

好的~回归到主题,像这种将所有资料因应使用情境,资料经过设计与逻辑去储存就称为 “结构化” 。如果你家冰箱很少增加食材,就适合第一种依照有效期限摆放的方式就可以了,而且在拿取食材也比较有效率。如果跟我一样常买又常煮,那就需要考量在增加食材跟拿取食材都要方便合适的方式才行。而在日常生活中也可处处看到很多类似的范例,像图书馆的书籍摆放、便利商店的商品陈列等。

在电脑上写程序时也会有很多资料需要先储存再做处理的情况,所以工程师们会因应不同的使用情境、演算法的运算和如何运用变数等,多个面向的考量後选择最适合的方式来结构化的储存资料。

像这种探讨如何将资料有组织地存放在记忆体中,以提升程序的执行效率,就称为资料结构(Data Structure)。

常见的资料结构

此部分参考维基百科的说明,後面几天会一一介绍其特性~

  • 连结串列(Linked List)
  • 阵列(Array)
  • 堆叠(Stack)
  • 伫列(Queue)
  • 树状结构(Tree)
  • 图形结构(Graph)
  • 杂凑表(Hash table)
  • 堆积(Heap)

资料结构分类

一般资料储存间的关系,可分为三种:

  • 线性关系:一前一後形成一直线的关系。
  • 阶层关系:一个在上,多个在下的阶层式关系。
  • 相邻关系:一个或多个资料如网络般相互连结的关系。

fdEyvIG

参考资料:

资料结构概念


耶今天就先到这边啦~祝大家中秋节快乐!


<<:  Day 5:Hexo 安装完成後的设定密技,并且为 Hexo 换上新布景!

>>:  【心得】你今天种菜了吗? grid之路-grid的使用(3)

[Day28] 实战 - 波段创新高

影片在这里 分类:选股 波段 重点整理 目的: 大盘或景气表现不好时,价格还能创新高。表示背後有特别...

KingRoot

Download free KingRoot App for your Smartphone tha...

#09 No-code 之旅 — 怎麽在 Client-side 抓取资料?SWR 简介

安安!前几天讲了怎麽在专案里用些 data fetching functions 做 pre-ren...

Day 4:谈谈 docker 的 restart policy

经过昨天的一番努力,我们已经可以在服务无法存取的时候收到通知,那麽今天就来看看另一个议题:服务的重启...

Simplifying Conditional Logic

本文同步於个人部落格: Simplifying Conditional Logic This art...