【在厨房想30天的演算法】Day 04 来浅谈一下空间复杂度

Aloha!我是中秋节没有肉烤的少女人妻 Uerica!今年连假没什麽跟朋友相聚的机会,还收到一堆月饼,根本在考验意志力。半夜想偷吃月饼的时候我都会 google 莺歌嫦娥警惕警惕自己 XD


空间复杂度 Space Complexity

空间复杂度代表的就是程序执行时所消耗的空间。不过一般在讨论演算法优劣的时候,通常较着重讨论时间复杂度,因现在硬体设备越来越好,一般所使用的装置及硬体设备,所拥有的记忆体空间也越来越大,所以除非是特殊情况的演算法,不然已较少讨论空间复杂度。

不过理解概念还是很有帮助的,可以依照实际情况来将两者做调整,某些情况
可让程序多用一些记忆体空间来省去重复运算进而加速演算法执行时间,又或者如果没有多余的记忆体空间可以用时,也可相反操作。

实际计算范例

下列就来说明些常见的空间复杂度算法。

O(1)
下列例子是创建 x, y 两变数,并让 x, y 加一,此例子无论 x, y 值多大,都不会再多消耗记忆体空间。

let x = 0;
let y = 0;
x++
y++

O(n)
下列例子中,利用回圈方式创建 arr 内的值,故消耗的记忆体空间会随着n值增加而变多。

let n = 10;
let arr = []

for (let i = 1 ; i <= n ; i++){
    arr[i] = i;
}

参考资料:

【演算法】排序演算法 Sorting Algorithm


明天可以开始聊聊演算法了~!大家出门还是要戴口罩勤洗手保护自己与他人喔~!


<<:  铁人赛 Day19-- 为我们的登入者介面增加登入功能(PHP & MySql) --前端连接资料库

>>:  从零开始学3D游戏设计:互动按钮

如何下载安装 WordPress 站台,设定资料库连线,建立全新部落格 (适用 IIS 架站)

全球有超过 42% 的网站使用 WordPress 架设,WordPress 适合架设部落格、小型企...

Day5 Next.js 介绍 - Production-ready 的 React.js 框架

这系列内容主要内容是在讲如何用 Next.js 取代 WordPress 前端,因此约 70% 内容...

AE-LED流动效果1-Day19

今天要来练习LED的流动练习 参考来源-六指渊:https://www.sixvfx.com/exp...

Day 9 - Laravel 8.0的Error Handling

不管是预期或非预期,程序往往会发生一些错误,我们不希望使用者Call API或浏览网页的时候发生错误...

Day24 Create Image Gallery in React

在React中用bootstrap card建立图片库,并用Array.filter功能,点选上面的...