資料結構與演算法 - 概述



什麼是資料結構?

資料結構是以一種系統的方式組織資料,以便有效地使用它。以下術語是資料結構的基礎術語。

  • 介面 - 每個資料結構都有一個介面。介面表示資料結構支援的操作集。介面僅提供支援的操作列表、它們可以接受的引數型別以及這些操作的返回型別。

  • 實現 - 實現提供了資料結構的內部表示。實現還提供了資料結構操作中使用的演算法的定義。

資料結構的型別

以下是我們將在本教程中學習的不同型別的資料結構

什麼是演算法?

演算法是一個逐步的過程,它定義了一組指令,這些指令以特定的順序執行以獲得所需的輸出。演算法通常獨立於底層語言建立,即演算法可以在多種程式語言中實現。

演算法的型別

以下是我們將在本教程中學習的不同型別的演算法

資料結構的特性

  • 正確性 - 資料結構的實現應正確地實現其介面。

  • 時間複雜度 - 資料結構操作的執行時間或執行時間應儘可能短。

  • 空間複雜度 - 資料結構操作的記憶體使用應儘可能少。

執行時間案例

通常使用三種情況以相對的方式比較各種資料結構的執行時間。

  • 最壞情況 - 這是特定資料結構操作可能花費的最長時間。如果操作的最壞情況時間為 ƒ(n),則此操作不會花費超過 ƒ(n) 時間,其中 ƒ(n) 表示 n 的函式。

  • 平均情況 - 這種情況描述了資料結構操作的平均執行時間。如果一個操作執行需要 ƒ(n) 時間,那麼 m 個操作將需要 mƒ(n) 時間。

  • 最佳情況 - 這種情況描述了資料結構操作的儘可能短的執行時間。如果操作執行需要 ƒ(n) 時間,則實際操作可能需要時間作為隨機數,該隨機數最大為 ƒ(n)。

基本DSA術語

  • 資料 - 資料是值或值的集合。

  • 資料項 - 資料項是指單個值的單位。

  • 分組項 - 分為子項的資料項稱為分組項。

  • 基本項 - 不能再分的的資料項稱為基本項。

  • 屬性和實體 - 實體是指包含某些屬性或特性的東西,這些屬性或特性可以分配值。

  • 實體集 - 具有相似屬性的實體形成一個實體集。

  • 欄位 - 欄位是表示實體屬性的單個基本資訊單元。

  • 記錄 - 記錄是給定實體的欄位值的集合。

  • 檔案 - 檔案是給定實體集中實體的記錄的集合。

廣告