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

2022-06-19 04:33:11 字數 799 閱讀 2818

課前導入: 

如何在書架上擺放圖書, 擺放圖書有兩個相關操作。

操作1:新書如何插入書架; 操作2:如何找到需要的書  。    

方法1:隨便放(一本本挨著放)

操作1  直接放在最後面

操作2  一本本的找

方法2:按照書名的首字母排序

操作1   根據新書的首字母   二分查詢該插入的位置   移出空位

操作2   使用二分查詢

方法3:將書分類  例如 文學類 計算機類  藝術類等

每一類中的書按照書名首字母排序

操作1 分類 確定首字母 二分查詢應插入的位置   移出空位 

操作2 分類 二分查詢

具體的操作只影響相應的類,其他的類不受影響             

小問題:

1.實際中每一類書的藏書量不一樣,如何分配空間

給每一類同樣的書架 書架多了浪費空間  少了需要再新增書架

2.類別要分多細比較好

分的粗,同一類的書會很多;分的細,類別太多。

結論:解決問題方法的效率,跟資料的組織方式有關   

組織方式      隨便放    按照書名的首字母排序    將書分類, 每一類中的書按照書名首字母排序   

插入效率       高                       慢                                               慢

查詢效率       慢                       高                                               高

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

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

資料結構 演算法基本概念

1 有窮性 2 確定性 3 可行性 4 輸入 5 輸出 1 時間複雜度 它定性描述演算法的執行時間。乙個演算法花費的時間與演算法中語句的執行次數成正比例,哪個演算法中語句執行次數多,它花費時間就多。乙個演算法中的語句執行次數稱為語句頻度或時間頻度,記為t n 時間複雜度又分為 最壞時間複雜度,平均時...

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

排序 將線性表中的元素按照公升序或者降序進行有序排列的操作。排序方法的穩定性 關鍵字相同的兩個元素 記錄 排序後的順序如果和排序前的相同,則稱該排序方法是穩定的,否則則稱該排序方法是不穩定的。內排序 在排序過程中,待排序的所有元素 記錄 全部都放置在記憶體中。外排序 在待排序的元素 記錄 太多的情況...