自學資料結構與演算法 緒論

2021-10-02 18:41:17 字數 1782 閱讀 1379

資料結構分為邏輯結構物理結構

邏輯結構是指資料物件中資料元素之間的相互關係,分為以下四種:

1.集合結構:集合結構中的資料元素除了同屬於乙個集合外,它們之間沒有其它關係。它類似於數學中的集合。如下圖所示。

2.線性結構:線性結構中的資料元素之間是一對一的關係。如下圖所示。

3.樹形結構:樹型結構中的資料元素之間存在一種一對多的層次關係。如下圖所示。

4.圖形結構:圖形結構的資料元素是多對多的關係。如下圖所示。

說完了邏輯結構,我們再來說一說物理結構(也叫儲存結構)。物理結構是指資料的邏輯結構在計算機中的儲存形式。它分為以下兩種結構:

1.順序儲存結構:是把資料元素存放在位址連續的儲存單元裡,其資料間的邏輯關係和物理關係是一致的。陣列就是這樣的順序儲存結構。順序儲存結構如下圖所示。

2.鏈式儲存結構:是把資料元素存放在任意的儲存單元裡,這組儲存單元可以是連續的,也可以是不連續的。資料元素的儲存關係並不能反映其邏輯關係,因此需要用乙個指標存放資料元素的位址,通過位址就可以找到相關聯資料元素的位置。鏈式儲存結構如下圖所示。

資料型別是指一組性質相同的值的集合及定義在此集合上的一些操作的總稱。資料型別按照值的不同進行劃分。在高階語言中,每個變數、常量和表示式都有各自的取值範圍。型別用來說明變數或表示式的取值範圍和所能進行的操作。

在c語言中,按照取值的不同,資料型別可以分為兩類。一類是原子型別,它是不可以再分解的基本型別,包括整型、實型、字元型等。另一類是結構型別,它由若干個型別組合而成,是可以再分解的,比如整型陣列就是由若干個整型資料組成的。

抽象資料型別(abstract data type, adt)是指乙個數學模型及定義在該模型上的一組操作。抽象資料型別的定義僅取決於它的一組邏輯特性,而與其在計算機內部如何表示和實現無關。「抽象」的意義在於資料型別的數學抽象特性。事實上,抽象資料型別體現了程式設計中問題分解、抽象和資訊隱藏的特性

下面給出了描述抽象資料型別的標準格式。

adt 抽象資料型別名

data

資料元素之間邏輯關係的定義

operation

操作1初始條件

操作結果描述

操作2……

操作n……

endadt

資料結構與演算法(緒論)

作為乙個準程式設計師,在讀本科的時候,就一直被老師不停的灌輸資料機構與演算法的重要性,但是好像我們從來就沒遇到過真正棘手的需要通過資料結構去解決的問題,可能唯一再聽到它的時候就是找工作實習的時候會被面試官提問,因此我們似乎覺得資料結構沒那麼重要,而且又因為各種程式語言,尤其是python,各種內建的...

資料結構與演算法 緒論

一般法則 法則1 for迴圈 乙個for迴圈的執行時間至多是該for迴圈內部那些語句的執行時間乘以迭代的次數。法則2 巢狀的for迴圈 從裡向外分析這些迴圈。在一組巢狀迴圈內部的一些語句總的執行時間為該語句的執行時間乘以該組所有的for迴圈的大小的乘積 例如,下列程式片斷為o n2 for i 0 ...

資料結構與演算法 緒論

重要性 使用者資訊表usersid name 001 bigsai man002 smallsai man003 菜虛鯤woman users的pojo物件 class users list和woman是資料 listlist 資料物件list listwoman 資料物件woman list.ad...