资料结构与演算法

** 这主题博大精深这里先进行初步的介绍**

资料结构

资料结构可以想像成容器,每个物品都有适合放置的地方,衣柜里面放衣服、鞋柜里面放鞋子、水壶里面装水,选到正确的存放方式会更有效率的处理那些存放的物品。

  • 假如把衣服放进鞋柜=>不好拿(费时)、衣服会皱要烫(费力)
  • 把水装到衣柜=>根本来乱的,无意义的收纳

资料结构就是要认识有怎样空间可以让你存(取),他们用甚麽方式存(取)资料,这些空间的建立是为了之後搭配演算法的使用。

举例 : 甲同学每天早中晚都要按时吃药

方案一 : 准备一个药柜,当时间一到就去开药柜找到那个时段药吃的药拿来吃。
方案二 : 准备药盒,先把药分成早中晚药吃的分别放在标注为"早"、"中"、"晚"的盒子内,时间到就打开哪个盒子的药来吃。

哪个方案好呢?

放药 :
方案一的话不用分类,药就丢到柜子就好了。
方案二药先分类,先把早中晚的药都分开放置。

取药 :
方案一要先找到正确时段的药品,拆封,吃药。
方案二只要打开盒子吃,里面的药就是该时段的药,不用再确认一次。

在意放药时间的话就选择放在柜子里(方案一)
在意吃药快的话就选择分类到盒子里(方案二)
因应需求选择适当的资料结构才能够提高处理效率

使用C#,找到一篇已经整理好的文章 :
https://www.huanlintalk.com/2018/02/choosing-net-collection-types.html

直接引用文章里面的图 :
https://ithelp.ithome.com.tw/upload/images/20210630/20114067B1zuNm9TSk.png

https://ithelp.ithome.com.tw/upload/images/20210630/20114067ahjrUmR11Q.png
先大概了解这些分类,之後找几个演算法来执行看看放在不同容器内效率差距会多高。


<<:  springboot连rabbitMQ的简介

>>:  CMoney软件工程师战斗营_期末专题制作_Week 17

[13th-铁人赛]Day 10:Modern CSS 超详细新手攻略 - background

一个单调的网页,配上精美的背景图片将带来意想不到的惊艳,但在加入背景图片可不是这麽简单,今天来介绍关...

Day6 - pandas(1)Series基本概念

pandas基本介绍: pandas资料处理的强大套件 具有各种丰富有多便的资料操作函式 大部分的资...

Day27-用jQuery写得出ToDoList吗_2_搞个4码随机码给id使用吧

今天要先把昨天写的东西都给挪到阵列之中,所以我们会需要一个空的阵列 这个阵列因为多个函式会使用到,记...

Day30 - 结语、推荐

结语 感谢铁人赛的契机,让我又完成一门课了,虽然是一门基础的课程,但是过程中依然放了不少心力,看那几...

Day 12 态度就像有感染力的病毒

积极的态度会带来积极的结果,因为态度是具有感染力的。—吉格.金克拉(Zig Ziglar) 《iT邦...