Part7. 数据结构与算法

  • 一.线性结构
  • 1.线性表
  • 2.栈和队列
  • 二.数组、矩阵、广义表
  • 1.数组
  • 2.矩阵
  • 3.广义表
  • 三.树
  • 四.图
  • 五.查找算法
  • 1.顺序查找
  • 2.二分查找
  • 3.散列表
  • 六.排序算法
  • 1.插入类排序
  • (1)直接插入排序
  • (2)希尔排序
  • 2.交换类排序
  • (1)冒泡排序
  • (2)快速排序
  • 3.选择类排序
  • (1)简单选择排序
  • (2)堆排序
  • 3.并归排序
  • 3.基数排序
  • 4.排序算法总结
  • 七.算法应用
  • 1.分治法
  • 2.回溯法
  • 3.贪心法
  • 4.动态规划法
  • 5.综合运用


一.线性结构

1.线性表

熊岳山数据结构与算法pdf 数据结构与算法 熊岳山_数组


熊岳山数据结构与算法pdf 数据结构与算法 熊岳山_数据结构_02


熊岳山数据结构与算法pdf 数据结构与算法 熊岳山_熊岳山数据结构与算法pdf_03

2.栈和队列

熊岳山数据结构与算法pdf 数据结构与算法 熊岳山_数组_04


熊岳山数据结构与算法pdf 数据结构与算法 熊岳山_数组_05

选D


二.数组、矩阵、广义表

1.数组

熊岳山数据结构与算法pdf 数据结构与算法 熊岳山_熊岳山数据结构与算法pdf_06


答案:a+13x2

2.矩阵

熊岳山数据结构与算法pdf 数据结构与算法 熊岳山_算法_07


熊岳山数据结构与算法pdf 数据结构与算法 熊岳山_数据结构_08


解:带入法,M[1]为A0.0,M[2]为A1.0,M[3]为A1.1以此类推带入排除,最终选A

3.广义表

熊岳山数据结构与算法pdf 数据结构与算法 熊岳山_算法_09


答:例1:长度为3,深度为2

例2:head(head(tail(LS1)))



三.树

熊岳山数据结构与算法pdf 数据结构与算法 熊岳山_算法_10


熊岳山数据结构与算法pdf 数据结构与算法 熊岳山_算法_11


熊岳山数据结构与算法pdf 数据结构与算法 熊岳山_算法_12


熊岳山数据结构与算法pdf 数据结构与算法 熊岳山_算法_13


熊岳山数据结构与算法pdf 数据结构与算法 熊岳山_数组_14

熊岳山数据结构与算法pdf 数据结构与算法 熊岳山_广义表_15


熊岳山数据结构与算法pdf 数据结构与算法 熊岳山_数组_16


熊岳山数据结构与算法pdf 数据结构与算法 熊岳山_广义表_17

熊岳山数据结构与算法pdf 数据结构与算法 熊岳山_广义表_18


熊岳山数据结构与算法pdf 数据结构与算法 熊岳山_数据结构_19


四.图

熊岳山数据结构与算法pdf 数据结构与算法 熊岳山_数据结构_20

熊岳山数据结构与算法pdf 数据结构与算法 熊岳山_广义表_21

熊岳山数据结构与算法pdf 数据结构与算法 熊岳山_算法_22


熊岳山数据结构与算法pdf 数据结构与算法 熊岳山_算法_23

熊岳山数据结构与算法pdf 数据结构与算法 熊岳山_熊岳山数据结构与算法pdf_24


熊岳山数据结构与算法pdf 数据结构与算法 熊岳山_数据结构_25


熊岳山数据结构与算法pdf 数据结构与算法 熊岳山_广义表_26




五.查找算法

熊岳山数据结构与算法pdf 数据结构与算法 熊岳山_数组_27


熊岳山数据结构与算法pdf 数据结构与算法 熊岳山_数组_28




1.顺序查找

熊岳山数据结构与算法pdf 数据结构与算法 熊岳山_数据结构_29




2.二分查找

熊岳山数据结构与算法pdf 数据结构与算法 熊岳山_熊岳山数据结构与算法pdf_30

熊岳山数据结构与算法pdf 数据结构与算法 熊岳山_数组_31


熊岳山数据结构与算法pdf 数据结构与算法 熊岳山_数据结构_32




3.散列表

熊岳山数据结构与算法pdf 数据结构与算法 熊岳山_数据结构_33


熊岳山数据结构与算法pdf 数据结构与算法 熊岳山_熊岳山数据结构与算法pdf_34




六.排序算法

熊岳山数据结构与算法pdf 数据结构与算法 熊岳山_算法_35




1.插入类排序

(1)直接插入排序

熊岳山数据结构与算法pdf 数据结构与算法 熊岳山_广义表_36

(2)希尔排序

熊岳山数据结构与算法pdf 数据结构与算法 熊岳山_数据结构_37




2.交换类排序

(1)冒泡排序

熊岳山数据结构与算法pdf 数据结构与算法 熊岳山_算法_38

(2)快速排序

熊岳山数据结构与算法pdf 数据结构与算法 熊岳山_算法_39




3.选择类排序

(1)简单选择排序

熊岳山数据结构与算法pdf 数据结构与算法 熊岳山_广义表_40

(2)堆排序

熊岳山数据结构与算法pdf 数据结构与算法 熊岳山_数组_41


熊岳山数据结构与算法pdf 数据结构与算法 熊岳山_数据结构_42


熊岳山数据结构与算法pdf 数据结构与算法 熊岳山_算法_43

3.并归排序

熊岳山数据结构与算法pdf 数据结构与算法 熊岳山_算法_44

3.基数排序

熊岳山数据结构与算法pdf 数据结构与算法 熊岳山_广义表_45

4.排序算法总结

熊岳山数据结构与算法pdf 数据结构与算法 熊岳山_数组_46




七.算法应用

1.分治法

熊岳山数据结构与算法pdf 数据结构与算法 熊岳山_广义表_47


熊岳山数据结构与算法pdf 数据结构与算法 熊岳山_熊岳山数据结构与算法pdf_48


熊岳山数据结构与算法pdf 数据结构与算法 熊岳山_数据结构_49

2.回溯法

熊岳山数据结构与算法pdf 数据结构与算法 熊岳山_熊岳山数据结构与算法pdf_50

3.贪心法

熊岳山数据结构与算法pdf 数据结构与算法 熊岳山_数组_51

4.动态规划法

熊岳山数据结构与算法pdf 数据结构与算法 熊岳山_熊岳山数据结构与算法pdf_52

5.综合运用

例1

熊岳山数据结构与算法pdf 数据结构与算法 熊岳山_数组_53


熊岳山数据结构与算法pdf 数据结构与算法 熊岳山_数组_54


熊岳山数据结构与算法pdf 数据结构与算法 熊岳山_广义表_55


熊岳山数据结构与算法pdf 数据结构与算法 熊岳山_数组_56


熊岳山数据结构与算法pdf 数据结构与算法 熊岳山_熊岳山数据结构与算法pdf_57

解:首先先做【问题3】5;4;否
然后开始做【问题2】贪心;贪心;O(n^2) ;O(n^2)
最后再做【问题1】j=0;b[j]=b[j]+s[j] ; min=temp; b[m]=b[m]+s[i]



例2

熊岳山数据结构与算法pdf 数据结构与算法 熊岳山_熊岳山数据结构与算法pdf_58


熊岳山数据结构与算法pdf 数据结构与算法 熊岳山_熊岳山数据结构与算法pdf_59


熊岳山数据结构与算法pdf 数据结构与算法 熊岳山_广义表_60


熊岳山数据结构与算法pdf 数据结构与算法 熊岳山_熊岳山数据结构与算法pdf_61


解:首先先做【问题2】分治;T(n)=2T(n/2)+O(n); O(nlog2n);O(n)

再做【问题3】n1+n2

最后做【问题1】k<=r;arr[k]=right[j];begin<end;mergeSort(arr,mid+1,end);