資料結構 第一天 緒論與演算法

2021-09-11 17:29:20 字數 1188 閱讀 9433

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

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

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

物理結構:順序儲存結構、鏈式儲存結構

資料型別:指一組性質相同的值的集合及定義在此集合上的一些操作的總稱。

在c語言中資料型別可分為:

原子型別:不可再分基本型別,包括整型等;

結構型別:若干個型別組合而成,可在分,如整形陣列;

抽象資料型別(dat):指乙個數學模型及定義在該模型上的一組操作

adt 抽象資料型別名

data

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

operation

操作1初始條件

操作結果描述

操作2endadt 

演算法:解決特定問題求解步驟的描述,在計算機中表現為指令的有限序列,並且在每條指令表示乙個或多個操作

特性:有窮性、確定性、可行性、輸入、輸出

設計要求:正確性、可讀性、健壯性、高效率、低儲存

度量方法:事後統計(不科學)、事前分析

複雜度:在進行演算法分析時,語句總的執行次數t(n)是關於問題規模n的函式,進而分析t(n)隨n的變化情況並確定t(n)的數量級。其演算法的時間複雜度記作:t(n) = o(f(n)),表示歲問題規模n的增大,演算法執行時間的增長率和f(n)是相同的。f(n)是問題規模n的某個函式。

推導大o階方法:

1.常數1取代所有加法常數

2.只保留最高項

3.最高項存在且不是1,則去除與該項相乘的常數,得到的結果就是大o階

常見時間複雜度(由小到大)

o(1)

常數階o(logn)

對數階o(n)

線性階o(n*logn)

nlogn階

o(n^2)

平方階o(n^3)

立方階o(2^n)

指數階o(n!)

級數階o(n^n)

1 資料結構第一天

1 2分法 不多介紹 2 有優先順序的運算 用left right sign這三個變數即可,加減算left,乘除算right。3 順腿法 逆推法 4 遞迴法 不建議採用,執行效率低。使用時應有遞迴出口 中止遞迴的判斷條件 5 分治演算法 問題分為若干小規模同類問題,當小問題足夠小,可以求解後。再按照...

資料結構與演算法學習之第一天

本文內容較為簡潔,適合學過的同學進行回顧。資料結構 就是關係,資料之間關係的集合。分為 邏輯結構和物理結構 邏輯結構 資料元素的相互關係。1.集合結構 集合中資料無相互關係 2.線性結構 一對一關係 3.樹形關係 一對多關係 4.圖形結構 多對多關係 物理結構 邏輯結構在計算機中的儲存形式 即資料元...

redis 資料結構 String 第一天

10.1 string 10.1.1 設定單個key的值 命令 set key value ex seconds px milliseconds nx xx 例如 給 vv 設定值為 vv1 且生命週期為永久 set vv vv1 給 vv 設定值為 vv1 且生命週期為20秒 第一種方式 set ...