首頁
學習紀錄
遊戲心得影視Life書單案件檔案
Side Projects委託作品與二創互動實驗場
Kurau
百百 BLOG
首頁
學習紀錄
遊戲心得影視Life書單案件檔案
Side Projects委託作品與二創互動實驗場
Kurau

Kurau Blog

「隨心而寫,真真假假,都是我」

一個記錄生活、輸出興趣的個人空間。
遊戲、影視、閱讀、學習……每一段體驗都值得留下文字。

頁面導覽

  • 學習紀錄
  • 遊戲心得
  • 影視Life
  • 書單
  • 委託作品與二創
  • Kurau
  • 合作邀請

找到我

歡迎來 Discord 找我聊天!

“曾經發生的事不可能忘記,只是暫時想不起來而已。”-《神隱少女》

© 2026 Kurau All rights reserved

面試考題

時間複雜度(time complexity)和空間複雜度(space complexity)

By Kurau·Updated 2026-05-09·3 分鐘閱讀

時間複雜度(time complexity)和空間複雜度(space complexity) 封面圖

時間複雜度(time complexity)指的是程式執行時間隨著輸入數據變大而增長的速度。

空間複雜度(space complexity)則是指程式執行所需要的內存空間隨著輸入數據變大而增長的速度。

空間複雜度,是指算法所需的內存空間。舉個簡單的例子,如果你有一個陣列,裡面有n個數字,你需要用一個變量來儲存每個數字,那麼空間複雜度就是O(n)。

另外,如果你使用递归算法,每個遞迴呼叫都需要在堆棧上分配空間,所以空間複雜度也可能是O(n)。

一般來說

「時間複雜度」與「空間複雜度」之間是可以相互 trade off 的!

而相互 trade off 的意思是:

在某些情況底下,我們是可以讓程式多用一些記憶體空間來多記一些資訊,就可以省去一些重複的運算來加速程式的執行時間;或者我們完全沒有多餘的記憶體資源可以使用,也可以透過把一些原本可以靠記憶體存儲的資訊改用重複計算的方式來取得。

一樣是要做排序像 Bubble Sort 就不需要額外的記憶體空間 ( 但是做起來比較久 );Bucket Sort 就需要大量額外的記憶體空間 ( 但是做起來比較快 )。

目錄

    ◆ 相關文章

    • 解題思維

      2026-05-09
    • Async function-Await 函式

      2026-06-02
    • throw Error用法

      2026-06-02
    • TypeScript 特性 - Interface

      2026-06-02
    ← 上一篇新版的react-router-dom 與 tsconfig.json下一篇 →會try{}catch{}嗎

    ◆ 關於作者

    Kurau

    個人寫作 / 創作的 SoT,記錄遊戲、影視、學習與生活。

    更多 Kurau 的文章