初學資料結構與演算法

2021-09-19 05:03:45 字數 1392 閱讀 1481

程式設計 = 資料結構 + 演算法

1、資料結構基礎知識

資料:是描述客觀事物的符號,是計算機中可以操作的物件,是能被計算機識別,並輸入給計算機處理的符號集合

資料元素:是組成資料的、有一定意義的基本單位,在計算機中通常作為整體處理。也被稱為記錄

資料項:乙個資料元素可以有若干個資料項組成(資料項是資料不可分割的最小單位)

資料物件:是性質相同的資料元素的集合,是資料的子集

什麼叫性質相同呢,是指資料元素具有相同數m和型別的資料項,比如,還是剛 才的例子,人都有姓名、生日、性別等相同的資料項

既然資料物件是資料的子集,在實際應用中,處理的資料元素通常具有相同性 質,在不產生混淆的情況下,我們都將資料物件簡稱為資料

資料結構:是相互之間存在一種或多種特定關係的資料元素的集合。

按照視點的不同,我們可以把資料機構分為 邏輯結構 和 物理結構

邏輯結構:

邏輯結構:是指資料物件中資料元素之間的相互關係

邏輯結構分為以下四種:

①集合結構:集合結構中的資料元素除了同屬於乙個集合外,它們之間沒有其他關 系。各個資料元素是「平等」的

②線性結構:線性結構中的資料元素之間是一對一的關係

③樹形結構:樹形結構中的資料元素之間存在一種一對多的層次關係

④圖形結構:圖形結構的資料元素是多對多的關係

物理結構:

物理結構:是指資料的邏輯結構在計算機中的儲存形式

資料是資料元素的集合,那麼根據物理結構的定義,實際上就是如何把資料元素 儲存到計算機的儲存器中。儲存器主要是針對記憶體而言的,像硬碟、軟盤、光碟等外 部儲存器的資料組織通常用檔案結構來描述

鏈式儲存結構:是把資料元素存放在任意的儲存單元裡,這組儲存單元可以是連續的,也可以是不連續的

資料元素的儲存關係並不能反映其邏輯關係,因此需要用 乙個指標存放資料元素的位址,這樣通過位址就可以找到相關聯資料元素的位置

順序儲存結構中資料元素的儲存關係能反映其邏輯關係

鏈式儲存結構中資料元素的儲存關係並不能反映其邏輯關係

邏輯結構是面向問題的,而物理結構就是面向計算機的,其基本的目標就是將數 據及其邏輯關係儲存到計算機的記憶體中。

演算法具有五個基本特性:輸入、輸出、有窮性、確定性(沒有二義性)、可行性

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

推導大o階方法:

常用的時間複雜度:

由執行次數函式推導 大o階

初學資料結構與演算法 稀疏陣列

如下 示例 public static void main string args system.out.println 呼叫tosparsearr方法,把二維陣列轉化為稀疏陣列 int sparsearr tosparsearr chessarr1 呼叫writermapdate方法,把稀疏陣列儲...

初學資料結構和演算法

1什麼是資料結構?什麼是演算法?從廣義上講,資料結構就是指一組資料的儲存結構。演算法就是運算元 資料結構指的是 一組資料的儲存結構 演算法指的是 運算元據的一組方法 從狹義上講,是指某些著名的資料結構和演算法,比如佇列 棧 堆 二分查詢 動態規劃等 資料結構 陣列 鍊錶 棧 佇列 雜湊表 二叉樹 堆...

初學資料結構

一 資料結構之所以存在 資料結構是由不同資料型別的資料組成的集合體,各個成員可以是不同的資料型別。也就是說,如果要定義乙個包含各種資料型別的物件時,用資料結構會更方便。二 定義資料結構 1.結構型別定義 形式 struct 識別符號 例如,定義乙個學生型別 struct student 2.定義結構...