java資料結構與演算法(一)

2021-07-25 09:39:21 字數 809 閱讀 3527

資料結構是對計算機記憶體中(有時在磁碟中)的資料的一種安排。資料結構包括陣列、鍊錶、棧、二叉樹、雜湊表等等。演算法對這些結構中的資料進行各種處理,例如,查詢一條特殊額資料項或對資料進行排序。

#資料結構的特性:

資料結構 | 優點|缺點

-------- | —

陣列 | 插入快,如果知道下標,可以非常快地訪問 | 查詢慢,刪除慢,大小固定

有序陣列 | 比無序的陣列查詢快| 刪除和插入慢,大小固定

棧 | 提供後進先出的訪問方式 |訪問其他項很慢

佇列 | 提供先見先出的訪問方式 |訪問其他項很慢

鍊錶 | 插入快,刪除快 | 查詢慢

二叉樹 | 查詢、插入、刪除都快(如果數保持平衡) | 刪除演算法複雜

紅-黑樹 | 查詢、插入、刪除都快。樹總是平衡的 | 演算法複雜

2-3-4樹 | 查詢、插入、刪除都快。樹總是平衡的。類似的樹對磁碟儲存有用 | 演算法複雜

雜湊表 |如果關鍵字已知,則訪問極快。插入快 | 刪除慢,如果不知道關鍵字則訪問很慢,對儲存空間使用不充分

堆|插入、刪除快,對最大資料項的訪問很快|對其他資料項訪問慢

圖|對現實世界建模|有些演算法慢且複雜

#演算法的概述

許多將要討論到的演算法直接適用於某些特殊的資料結構。對於大多數資料結構來說,都需要知道如何

還需要知道如何迭代地訪問某一資料結構中的各資料項,以便進行顯示或其他操作。

#物件簡述

##物件

物件導向程式設計思想的關鍵性突破就是:乙個物件同時包括方法和變數。

##類類是針對乙個或多個物件的說明。

Java資料結構與演算法

1.1 概念資料結構主要是研究程式設計問題中計算機的操作物件以及它們之間的關係和操作的學科。1.2 分類儲存結構 存在於計算機世界的物理層面 邏輯結構 一種是資料結構的邏輯層面 1.3 按照資料元素分類線性 存在於計算機世界的物理層面 非線性 一種是資料結構的邏輯層面 1.4 集合結構只考慮資料元素...

JAVA資料結構與演算法(一)單鏈表

1.單鏈表 鍊錶是最基本的資料結構,其儲存的你原理圖如下圖所示 鍊錶的增加操作 鍊錶的刪除 鍊錶的插入 1 頭插法 每次把新插入的節點當著頭結點 2 尾插法 每次把新插入的節點放在尾部 3 指定位置插入法 每次在指定位置插入某個節點。鍊錶的刪除 刪除指定位置上的某個節點 鍊錶的查詢 1 根據節點位置...

Java資料結構與演算法 一 陣列

1.無序陣列 package com.fantj.datastruct.array created by fant.j.2017 12 20 18 16 public class myarray public myarray int maxsize 新增資料 public void insert l...