1. 程式人生 > >資料結構與演算法概述

資料結構與演算法概述

文章目錄


#資料型別
程式語言中的資料型別是指具有預定義值得一個數據集合,常見的資料型別有:整數型,浮點型,字串,字元等。一般有兩種資料型別:
  1. 系統定義的資料型別(基本資料型別);
  2. 使用者自定義的資料型別(使用者自定義的類,可以將系統定義的資料型別進行組合封裝成使用者需要的資料型別)。
class  Student{
    public  String name;
    public  int age;
    public double grade;
}

資料結構

資料結構就是計算機中儲存和組織資料的一種特定的方式,它是的資料處理更加高效。一個數據結構就是一種儲存和組織資料的特定方式,常用的資料結構有:陣列,檔案,連結串列,棧,佇列,樹和圖等。依據元素的組織方式,資料結構分為兩大類:

  1. 線性資料結構:可以按線性次數訪問元素,但並不是強制所有元素連續儲存(陣列、連結串列、棧、佇列)。
  2. 非線性資料結構:元素是以非線性次序來訪問和儲存的(樹和圖)
    將資料結構和相關的運算組合起來,成為抽象資料結構(ADT)。

演算法

演算法就是用一條接一條的指令來解決給定的問題。解決問題的方式有很多種,根據時間和空間兩方面確定一種較為高效的演算法,這就是演算法分析。
增長率:隨著輸入規模的增加,演算法執行時間增加的速度,是輸入規模的函式。
演算法分析有三種類型:最壞情況、最好情況和平均情況,大O表示法給出了最壞情況,嚴格上限。Ω表示法給出了最好情況,嚴格下限