Java 數據結構和算法 概述

數據結構

數據結構是對在計算機內存中(有時在磁盤中)的數據的一種安排,數據結構包括數組、鏈表、棧、二叉樹、哈希表等等,算法對這些結構中的數據進行各類處理,例如查找一條特殊的數據或者對數據進行排序。java

  • 數據結構能夠解決的問題:
    • 現實世界的數據存儲
    • 程序員的工具
    • 建模

數據結構的概述

還能夠從數據結構的優缺點來看待數據結構;程序員

數據結構 優勢 缺點
數組 插入快,若是知道下標能夠快速的存取 查找慢、刪除慢、大小固定
有序數組 比無序數組查找快 刪除和插入慢、大小固定
提供後進先出方式存取 存取其餘項很慢
隊列 提供先進先出方式存取 存取其餘項很慢
鏈表 插入快、刪除快 查找慢
二叉樹 查找、插入、刪除都快(若是樹保持平衡) 刪除算法複雜
紅-黑樹 查找、插入、刪除都快(樹老是平衡的) 算法複雜
2-3-4樹 查找、插入、刪除都快(樹老是平衡的、相似的樹對磁盤存儲有用) 算法複雜
哈希表 若是關鍵字已知則存取極快,插入快 刪除慢,若是不知道關鍵字則存取很慢
插入刪除快,堆最大數據項的存取很快 對其餘數據存取慢
對現實世界建模 有些算法慢且複雜

簡單概念

  • 數據庫
    • 咱們將會使用數據庫這個術語來表示在必定狀況下全部要查閱的數據,數據庫中的每一條數據都被認爲是同一種格式的 。
  • 記錄
    • 記錄是數據庫中劃分的單元,它們爲存儲信息提供了一個結構模式,一條記錄包含了某一個實體的全部信息。
  • 字段
    • 一條記錄一般被劃分爲幾個字段,一個字段保存某一種特定的數據。
  • 關鍵字
    • 在數據庫中查找一條記錄須要指定記錄的某一個字段爲關鍵字,經過這個特定的關鍵字進行查找。

小結

  • java.util 包中包含有諸如向量(一個可擴充的數組)、棧、庫和哈希表等類型的數據結構,可是是封裝好的,咱們應該學習實現的細節,而不該該只是會使用別人的類庫。web

  • 數據結構是指數據在計算機內存空間中或磁盤中的組織形式。算法

  • 正確的選擇數據結構會使程序的效率大大提升。數據庫

  • 數據結構的例子有數組、棧和鏈表。數組

  • 算法是完成特定任務的過程。數據結構

  • 在 Java中算法常常經過類的方式實現。svg

相關文章
相關標籤/搜索