資料結構與演算法 概念

2022-07-26 16:33:11 字數 1675 閱讀 3647

計算機從解決數值計算問題到解決生活中的問題

現實生活中的問題涉及不同個體間的複雜聯絡

需要在電腦程式中描述生活中個體間的聯絡

資料結構主要研究非數值計算程式問題中的操作物件以及它們之間的關係而不是研究複雜的演算法

基本概念

資料:程式的操作物件,用於描述客觀事物

資料的特點:

-可以輸入到計算機

-可以被電腦程式處理

資料是乙個抽象的概念,將其進行分類後得到程式語言中的型別。如:int,float,char等等

資料元素:組成資料的基本單位

資料項:乙個資料元素由若干資料項組成

資料物件 – 性質相同的資料元素的集合

e.g.

struct _myteacher   //一種資料型別

;int

main21()

資料元素之間不是獨立的,存在特定的關係,這些關係即結構

資料結構指資料物件中資料元素之間的關係

資料的邏輯結構

指資料元素之間的邏輯關係。即從邏輯關係上描述資料,它與資料的儲存無關,是獨立於計算機的。邏輯結構可細分為4類

資料的物理結構

資料的運算

基本概念

演算法是特定問題求解步驟的描述

在計算機中表現為指令的有限序列

演算法是獨立存在的一種解決問題的方法和思想

對於演算法而言,語言並不重要,重要的是思想

演算法和資料結構區別

資料結構只是靜態的描述了資料元素之間的關係

高效的程式需要在資料結構的基礎上設計和選擇演算法

程式=資料結構+演算法

總結:演算法是為了解決實際問題而設計的

資料結構是演算法需要處理的問題載體

資料結構與演算法相輔相成

演算法特性

演算法效率的度量

事前分析估算

依據統計的方法對演算法效率進行估算

影響演算法效率的主要因素

大o表示法

演算法效率嚴重依賴於操作(operation)數量

在判斷時首先關注運算元量的最高次項

運算元量的估算可以作為時間複雜度的估算

常見時間複雜度:

關係演算法的空間複雜度

演算法的空間複雜度通過計算演算法的儲存空間實現

s(n) = o(f(n))

其中,n為問題規模,f(n))為在問題規模為nn時所占用儲存空間的函式

大o表示法同樣適用於演算法的空間複雜度

當演算法執行時所需要的空間是常數時,空間複雜度為o(1)

空間與時間的策略

資料結構與演算法概念

資料結構是個抽象的概念,所以並沒有官方的定義,資料結構 演算法於應用 中是這樣來定義的 資料結構是資料物件,以及存在於該對像的例項以及組成例項的資料元素間的各種聯絡,這種聯絡可以通過定義相關函式來給出。我所理解的資料結構是資料元素之間的關係所構成的某種集合。樹和圖,就是很好的例子,他們是根據資料元素...

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

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

資料結構與演算法概念解析

資料之間的相互關係稱為邏輯結構。通常分為四類基本結構 集合結構中的資料元素除了同屬於一種型別外。別無其他關係。線性結構結構中的資料元素之間存在一對一的關係。樹型結構結構中的資料元素之間存在一對多的關係。圖狀結構或網狀結構結構中的資料元素之間存在多對多的關係。資料結構在計算機中有兩種不同的儲存方法 順...