通常來講用計算機解決問題老是圍繞如下三個主要步驟:算法
(1) 抽象出所求解問題中須要處理的數據對象的邏輯模型。(邏輯結構)數據結構
(2) 根據所求解問題須要完成的特性實現抽象數據的存儲結構。(存儲結構)函數
(3) 肯定問題所求的操做或者運算(數據操做)spa
所謂的數據結構相互之間存在一種或多種特定關係的數據元素的集合orm
(1) 集合結構 全部數據元素屬於一個集合對象
(2) 線性結構 數據元素之間存在一種一對一的關係索引
(3) 樹形結構 數據元素之間存在一種一對多的關係接口
(4) 圖形結構 數據元素之間存在一種多對多的關係ci
(1) 順序存儲方式:邏輯上相鄰的元素其對應的物理位置上也相鄰it
(2) 鏈式存儲方式:邏輯上相鄰的數據元素物理位置上不必定相鄰及就是數據元素能夠存儲在任意的物理位置上
(3) 索引存儲方式:存儲數據元素的同時增長了一索引表表中的每一項包括關鍵字和地址關鍵字是可以惟一標識一個數據元素的數據項機構以下
關鍵字 |
地址 |
|
|
|
|
(4) 散列存儲方式(哈希存儲):將數據元素存儲在一片連續的區域內每一個數據元素的地址是根據該數據元素的關鍵字經過哈希函數值計算出來的
數據的操做就是對數據進行一系列的運算主要以下:
(1) 建立操做
(2) 銷燬操做
(3) 插入操做
(4) 刪除操做
(5) 查找操做
(6) 修改操做
(7) 便利操做
JAVA中有8中數據類型具體以下:
整型 byte short int long
浮點型 float double
字符型 char
布爾型 Boolean
抽象數據類型:能夠採用兩種方法實現
(1)抽象類(abstract class)
(2)JAVA接口(interface)
通常算法具備5種性質:
(1) 有窮性
(2) 肯定性
(3) 有效性
(4) 輸入
(5) 輸出
算法的目標:正確 可讀 健壯 高效
算法的分析 時間複雜度 空間複雜度 算法的穩定性