演算法與資料結構(入門版本)

2021-08-30 02:49:30 字數 1259 閱讀 1835

博主主要講解以下幾個方面的東西:

計算機內有關資料的概念。

常用的資料結構。

說到這裡不得不提一下計算機解決問題的步驟。

1,根據具體問題抽象出數學模型。(建模)

2,根據模型設計出演算法。(演算法設計)

3,根據演算法設計程式,程式設計,執行,除錯程式,直到解決問題。(程式設計,除錯,執行)

乙個著名公式:程式=演算法+資料結構。

資料表

姓名學號

性別陳小小

007男

伍大大005

女姓名,學號,性別為資料項,三者共同組成資料元素。

集合:無規律,2結點之間無鄰接關係。

線性結構:乙個節點相接乙個節點,形成乙個鏈。

樹形結構:有層次和分支結構,上層節點和多個下層節點相連線,下層節點和乙個上層節點相連線。

順序儲存方式:把所有儲存結點儲存在連續的儲存區里,用結點在儲存區的相對位置表示資料元素的關聯方式。

儲存結構的描述:

語言級:型別說明,變數說明。

演算法評價:

正確性。(能否解決具體問題)

易讀性。(是否便於理解,修改除錯執行,又稱可讀性,乙個良好的**必須是可讀性良好的)

健全性。(能否解決輸出非法資料導致的問題)

時空性(演算法的時間效能(效率)和空間效能(空間效率),時間效能包含演算法的時間計算量,空間效能包含演算法的空間儲存量)

如何計算演算法的計算量?

可以在演算法中合理選擇一種或幾種操作作為「基本操作」,對於給定輸入確定演算法共執行了多少次基本操作,將基本操作作為演算法的時間度量。o(xx)表示演算法的計算量。(漸進表示法)

注意:漸進表示法不考慮具體執行時間,只給出演算法在問題規模下的執行時間的上界。

時間複雜度的常見階數:o(1),o(log2n),o(n),o(nc),o(cn)(c為大於1的正整數),

通常認為:時間複雜度為指數階的是實際不可計算的,階數低於平方階是高效的。

時間複雜度大小:log2n空間複雜度:演算法所耗費的儲存空間。

包括以下部分:

程式**所佔的儲存空間。

輸入資料所佔的儲存空間。

輔助變數所佔的儲存空間

分析空間輔助度時一般只分析輔助變數所佔的空間。

未完待續。。。。。

資料結構與演算法入門

1.描述乙個演算法優劣用計算次數的 數量級。1m 1g 1t。與問題相關的規模用n t n n 2 n 3 2.常見的時間複雜度 用大o表示法表示 常數階 o 1 線性階 o n 平方階 o n 2 對數階 o logn nlogn階 o nlogn 立方階 o n 3 指數階 o 2 n o 1 ...

資料結構與演算法入門 資料結構型別

資料的邏輯結構 資料的邏輯結構指資料元素之間的邏輯哦關係 和實現無關 分類一 線性結構和非線性結構 線性結構 有且只有乙個開始結點和乙個終端節點,並且所有節點都最多只有乙個直接前繼和乙個直接後繼。線性表就是乙個典型的線性結構,它有四個基本特徵 1.集合中必存在唯一的乙個 第乙個元素 2.集合中必存在...

資料結構與演算法入門(1)

一 資料結構 資料之間相互存在的一種或多種特定的關係的元素的集合。邏輯結構 資料物件中資料元素之間的相互關係 1.集合結構 在資料結構中,如果不考慮資料元素之間的關係,這種結構稱為集合結構。各個元素是平等的,共同屬性是屬於同乙個集合 2.線性結構 線性結構中的資料元素之間存在乙個對應乙個的關係,除了...