資料結構與演算法 基本概念筆記

2021-08-14 11:58:57 字數 705 閱讀 3524

什麼是資料結構?

解決問題方法的效率,跟***資料的組織方式***有關、跟***空間的利用效率***有關、跟***演算法的巧妙程度***有關。

什麼是演算法?

什麼是好的演算法?

求最大子列和?

給定n個整數的序列

a1​,a2

​,..

.,an

​},求函式f(i

,j)=

ma

x^j a_k

f(i,j)

=max

$的最大值。

演算法1:

int maxsubseqsum1(int a, int n)

/* j迴圈結束 */

}/* i迴圈結束 */

return maxsum;

} //t(n) = o(n^3)

演算法2:對於相同的i,不同的j,只要在j-1次迴圈的基礎上累加1項即可

//t(n) = o(n^2)
演算法3:分而治之

//t(n) = o(nlogn)
int maxsubsesum4(int  a, int n)

return maxsum;

} //t(n) = o(n)

資料結構與演算法基本概念

一 基本資料結構 基本資料結構的定義 特性 運算 演算法。基本資料結構的分類 邏輯結構 1 線性結構 線性表 棧 佇列 雙佇列 陣列 廣義表 串 2 非線性結構 樹 二叉樹 圖 網 儲存結構 1 順序儲存 向量 一維陣列 2 鏈式儲存 鍊錶 二 演算法 查詢 順序 折半 分塊 雜湊 二叉排序樹 排序...

資料結構與演算法 基本概念

課前導入 如何在書架上擺放圖書,擺放圖書有兩個相關操作。操作1 新書如何插入書架 操作2 如何找到需要的書 方法1 隨便放 一本本挨著放 操作1 直接放在最後面 操作2 一本本的找 方法2 按照書名的首字母排序 操作1 根據新書的首字母 二分查詢該插入的位置 移出空位 操作2 使用二分查詢 方法3 ...

資料結構與演算法筆記 基本概念篇

總結資料結構的基礎概念部分 將具體問題抽象建立數學模型 設計解出此數學模型的演算法 程式設計與測試調整 邏輯結構 線性結構與非線性結構 集合樹形與圖狀 物理 儲存 結構 順序儲存 鏈式儲存 索引儲存與雜湊儲存 索引對應b樹和b 樹索引,也是資料庫中索引的記憶體結構,雜湊對應雜湊表結構 資料運算 插入...