資料結構與演算法(一)

2021-09-25 09:50:04 字數 1291 閱讀 5677

一、資料結構是一門研究非數值計算的程式設計問題中的操作物件,以及它們之間的關係和操作等相關問題的學科。

資料結構分為邏輯結構和物理結構。重點學習邏輯結構

邏輯結構是指資料物件中資料元素之間的相互關係。 物理結構是指資料的邏輯結構在計算機中的儲存形式(也稱儲存結構)。

邏輯結構分為:集合結構、線性結構、樹形結構、圖形結構

集合結構:其中的資料元素沒有任何關係,但他們同屬於乙個集合

線性結構:其中的元素之間是一一對應的關係,並且是一種先後的次序,就像a-b-c-d-e-f-g·····被一根線穿連起來。

樹形結構:其中的元素存在一種一對多的層次關係,就像公司的部門級別,董事長-ceo\cto-技術部\人事部\市場部.....。

圖形結構:其中的元素是多對多的關係。如圖

物理結構分為:順序儲存結構、

鏈式儲存結果:鏈式儲存結果:是把資料元素存放在任意的儲存單元裡,這組儲存單元可以是連續的,也可以是不連續的,資料元素的儲存關係並不能反映其邏輯關係,因此需要借助指標來表示資料元素之間的邏輯關係。(如鍊表)

二、演算法(algorithm)是解決特定問題求解步驟的描述,在計算機中表現為有限的操作序列。在資料型別建立起來之後,就要對這些資料型別進行操作,建立起運算的集合即程式。運算的建立、方法好壞直接決定著電腦程式原型效率的高低。

演算法的五個特徵:輸入、輸出、有窮性、確定性、可行性。

輸入:演算法具有零個或多個輸入。

輸出:演算法至少有乙個輸出或多個輸出。

有窮性:之演算法在執行有限的步驟之後,自動結束而不會出現無限迴圈,並且每乙個步驟在可接受的時間內完成。

確定性:演算法的每乙個步驟都具有確定的含義,且一定條件下只有一條執行路徑,而相同的輸入只有唯一輸出結果。

可行性:演算法的每一部分都必須可行的,能夠通過有限的執行次數完成。

演算法並不是唯一的。

演算法設計的要求:正確性、可讀性、健壯性、時間效率高和儲存量低

正確性;指演算法應該具有輸入、輸出和加工處理無歧義性、能正確反應問題的需求,能夠得到問題的正確答案。

(1)演算法沒有語法錯誤

(2)演算法程式對於合法輸入能夠產生滿足要求的輸入

(3)演算法程式對於非法輸入能夠產生滿足規格的說明(如提示使用者輸入正確格式)

(4)演算法程式對於故意刁難的測試輸入都有滿足要求的輸出結果

數間效率高和儲存量低

資料結構與演算法(一) 資料結構與演算法概念

資料結構是計算機儲存 組織資料的方式。資料結構是指資料與資料之間的關係。資料結構是指相互之間存在一種或多種特定關係的資料元素的集合。通常情況下,精心選擇的資料結構可以帶來更高的執行或者儲存效率。資料結構往往同高效的檢索演算法和索引技術有關。邏輯結構 示意圖1 集合結構 2 線性結構 3 樹形結構 4...

資料結構與演算法(一)

物件導向程式設計方式 1.使用自定義類封裝陣列 2.新增類方法來實現資料操作。無序陣列 增 刪 改 查 更 顯 public class myarray public myarray int maxsize 新增資料 public void insert long value 顯示資料 public...

資料結構與演算法一

遞迴 無限呼叫自身這個函式,每次呼叫總會改動乙個關鍵變數,直到這個關鍵變數達到邊界的時候,不再呼叫。遞迴與迴圈的區別?相同點 1 都是通過控制乙個變數的邊界 或者多個 來改變多個變數為了得到所需要的值,而反覆而執行的 2 都是按照預先設計好的推斷實現某乙個值求取 請注意,在這裡迴圈要更注重過程,而遞...