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

2021-08-14 14:14:09 字數 898 閱讀 2753

一、基本資料結構:

基本資料結構的定義、特性、運算、演算法。

基本資料結構的分類(邏輯結構):

(1)線性結構:線性表、棧、佇列、雙佇列、陣列、廣義表、串

(2)非線性結構:樹、二叉樹、圖、網

儲存結構:

(1)順序儲存:向量、一維陣列

(2)鏈式儲存:鍊錶

二、演算法:

查詢:順序、折半、分塊、雜湊、二叉排序樹

排序:直接插入、冒泡、選擇、希爾、快速排序、堆排序、2-路歸併、基數排序

演算法分析:

時間複雜度:演算法的時間開銷相對於問題規模的變化趨勢

t(n)=o(f(n))  

n:問題的規模   f(n):基本操作執行次數總和  。 常見的時間複雜度型別:常量階、線性階、平方階、對數階、指數階

o(1)、o(n)、o(n的平方)、o(log

2n)、o(nlog

2n)、o(2的n次方)

氣泡排序最好、最壞時間複雜度:

void bubble(int a,int n)

for(i=0;i1.2.3.4.5    5.4.3.2.1

最好情況:f(n)=n*n+2n-1  o(n*n)     最壞情況:f(n)=5n*n/2+n/2-1   o(n*n)

空間複雜度:

三、資料結構:

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

data_structure=(d,s)   d:資料元素的集合   s:關係的集合

4種基本結構:集合、線性結構、樹、圖狀結構

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

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

資料結構 演算法基本概念

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

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

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