資料結構啊 基礎知識

2021-07-15 20:01:09 字數 2548 閱讀 9582

基本概念和術語

1)資料:是對客觀事物的符號表示。在電腦科學中其含義是指所有能夠輸入到計算機中並被電腦程式處理的符號集合。

2)資料元素:是資料集合中的乙個實體,是電腦程式中加工處理的基本單位。

資料元素按其組成可分為簡單型資料元素和複雜型資料元素。簡單型資料元素由乙個資料項組成,所謂資料項就是資料中不可再分割的最小單位;複雜型資料元素由多個資料項組成,它通常攜帶著乙個概念的多方面資訊。

3)資料物件:是性質相同的資料元素的集合,是資料的乙個子集。

4)資料結構:是一門研究非數值計算的程式設計問題中計算機的操作物件以及它們之間關係和操作等的學科。或者說,資料結構是相互之間存在一種或多種特定邏輯關係的資料元素的集合。資料元素之間的相互關係稱為結構(structure

)。以下為重點掌握內容:

根據資料元素之間的關係,有四類基本的結構:

集合(元素之間無密切關係);

線性結構(元素之間有乙個對乙個的關係(1:1));

樹形結構(元素之間有乙個對多個(1:n

)的關係;

圖狀結構或網狀結構(元素之間有多個對多個(n:m

)的關係)

線性表、堆疊、佇列都可認為是線性結構,樹和二叉樹都是樹形結構,而圖則屬於圖狀結構。

注意:廣義表是線性表的推廣,其資料元素可以具有不同的結構,不是線性結構;二叉樹屬於樹形結構;稀疏矩陣是指那些非零元素較少且分布沒有規律的矩陣,往往用三元組順序表法、行邏輯連線的順序表法,以及十字鍊錶法來儲存,也不是線性結構;而串是一種線性結構。同線性表不同,串的資料物件約束為字符集,且在串的基本操作中,通常以「串的整體」作為操作物件。

這個必須知道:資料項是資料的最小單位。

邏輯結構和儲存結構:

邏輯結構主要用於描述資料元素之間的邏輯關係

而儲存結構是指資料結構在計算機中的表示,又稱為物理結構。

常用資料結構的邏輯結構和儲存結構

--線性結構:可以有順序、鏈式、索引和雜湊四種儲存方式。

--樹形結構:一般採用鏈式儲存方式;在特定的情況下,也可以採用順序結構(如一維陣列)來儲存樹形結構。

--圖狀結構:一般只能採取鏈式儲存方式;有時可以採用矩陣儲存(鄰接矩陣法)。

從邏輯上可以把資料結構分為

線性結構、非線性結構

兩大類。

從儲存上可以分為順序結構和鏈式結構

棧是線性表的一種特殊型別,具有「後進先出」的特性,同儲存結構沒有關係。

資料的邏輯結構是指資料的各資料元素之間的邏輯關係。

演算法定義及其特徵

1)演算法的定義:演算法是解決某個特定問題的一種方法或乙個過程。

計算機對資料的操作可以分為數值性和非數值性兩種型別。在數值性操作中主要進行的是算術運算;而在非數值性操作中主要進行的是檢索、排序、插入、刪除等等。

2)設計演算法的基本過程

① 通過對問題進行詳細地分析,抽象出相應的數學模型;

② 確定使用的資料結構,並在此基礎上設計對此資料結構實施各種操作的演算法;

③ 選用某種語言將演算法轉換成程式;

④ 除錯並執行這些程式。

3)演算法的五大特徵

①有窮性;②確定性;③可行性;④輸入;⑤輸出

4)演算法效率的度量——時間複雜度

演算法執行時間需要該演算法所對應的程式在計算機上執行時所消耗的時間來衡量。計算消耗時間可以採用事後統計的方法,也可採用事前分析估計的方法。但問題在於,同乙個演算法用不同的語言來實現,在不同的計算機上執行,效率均不相同。這說明,使用絕對的時間的概念來衡量演算法的效率是不全面的。

基礎要打牢,等會做會題目鞏固一下。

資料結構相比c語言來說,我覺得更有意思。偏偏,資料結構又難學。所以,我喜歡虐一點兒。哈哈哈。

學好資料結構很重要啊,那麼重要。

記不清這是第幾次從頭來學資料結構了。總是學過一遍覺得明白了,然後做題也會做。到了過幾天,又清零了。還有,後面的排序和查詢學的很差。得好好學學。不管怎麼說,這也算開頭了。一天一到兩篇部落格還是可以的我覺得。

資料結構基礎知識

時間複雜度和空間複雜度 同一問題可用不同演算法解決,而乙個演算法的質量優劣將影響到演算法乃至程式的效率。演算法分析的目的在於選擇合適演算法和改進演算法。乙個演算法的評價主要從時間複雜度和空間複雜度來考慮。1 時間複雜度 1 時間頻度 乙個演算法執行所耗費的時間,從理論上是不能算出來的,必須上機執行測...

資料結構基礎知識

一種資料的邏輯結根據需要可以表示成多種儲存結構,常用的儲存結構有順序儲存 鏈結儲存 索引儲存等,採用不同的資料結構,其資料處理的效率是不同的。線性表是一種常用的資料結構。在實際應用中,線性表都是以棧 佇列 字串 陣列等特殊線性表的形式來使用的。線性表是一種線性結構。線性表有順序儲存結構和鏈式儲存結構...

資料結構基礎知識

簡單的說,資料結構是一門研究非數值計算的程式設計問題中計算機的操作物件以及它們之間的關係和操作等的學科。描述一類非數值計算問題的數學模型不再是數學方程,而是諸如表 樹和圖之類的資料結構。資料結構 的研究不僅涉及到計算機硬體 特別是編碼理論 儲存裝置和訪問方法等 的研究範圍,而且和計算機軟體的研究有著...