
- Java 資料結構與演算法 教程
- Java 資料結構與演算法 - 首頁
- Java 資料結構與演算法 - 概述
- Java 資料結構與演算法 - 環境搭建
- Java 資料結構與演算法 - 演算法
- Java 資料結構與演算法 - 資料結構
- Java 資料結構與演算法 - 陣列
- Java 資料結構與演算法 - 連結串列
- Java 資料結構與演算法 - 雙向連結串列
- Java 資料結構與演算法 - 迴圈連結串列
- Java 資料結構與演算法 - 棧
- 資料結構與演算法 - 表示式解析
- Java 資料結構與演算法 - 佇列
- Java 資料結構與演算法 - 優先佇列
- Java 資料結構與演算法 - 樹
- Java 資料結構與演算法 - 雜湊表
- Java 資料結構與演算法 - 堆
- Java 資料結構與演算法 - 圖
- Java 資料結構與演算法 - 搜尋技術
- Java 資料結構與演算法 - 排序技術
- Java 資料結構與演算法 - 遞迴
- Java 資料結構與演算法 有用資源
- Java 資料結構與演算法 - 快速指南
- Java 資料結構與演算法 - 有用資源
- Java 資料結構與演算法 - 討論
Java 資料結構與演算法 - 概述
什麼是資料結構?
資料結構是一種以特定方式組織資料,以便高效使用的方法。以下術語是資料結構的基礎術語。
介面 - 每個資料結構都有一個介面。介面表示資料結構支援的操作集。介面僅提供支援的操作列表、它們可以接受的引數型別以及這些操作的返回型別。
實現 - 實現提供了資料結構的內部表示。實現還提供了資料結構操作中使用的演算法的定義。
資料結構的特徵
正確性 - 資料結構實現應正確實現其介面。
時間複雜度 - 資料結構操作的執行時間或執行時間應儘可能短。
空間複雜度 - 資料結構操作的記憶體使用量應儘可能少。
資料結構的必要性
隨著應用程式變得越來越複雜和資料豐富,如今應用程式面臨三個常見問題。
資料搜尋 - 考慮一個商店擁有 100 萬 (106) 件商品的庫存。如果應用程式要搜尋一件商品。它每次都必須在 100 萬 (106) 件商品中搜索商品,從而減慢搜尋速度。隨著資料量的增長,搜尋會變得越來越慢。
處理器速度 - 儘管處理器速度非常高,但如果資料增長到數十億條記錄,它仍然會受到限制。
多請求 - 由於數千名使用者可以同時在 Web 伺服器上搜索資料,即使是最快的伺服器在搜尋資料時也會出現故障。
為了解決上述問題,資料結構可以提供幫助。資料可以以某種方式組織到資料結構中,這樣就不需要搜尋所有專案,並且可以幾乎立即搜尋所需的資料。
執行時間案例
通常有三種情況用於以相對方式比較各種資料結構的執行時間。
最壞情況 - 這是特定資料結構操作可能花費的最長時間。如果操作的最壞情況時間為 ƒ(n),則此操作花費的時間不會超過 ƒ(n),其中 ƒ(n) 表示 n 的函式。
平均情況 - 這表示資料結構操作的平均執行時間。如果操作執行時間為 ƒ(n),則 m 個操作將花費 mƒ(n) 時間。
最佳情況 - 這表示資料結構操作的最小可能執行時間。如果操作執行時間為 ƒ(n),則實際操作可能花費的時間為隨機數,其最大值為 ƒ(n)。