0-1、《數據結構與算法-python》第一章

前幾章非算法部分,僅摘錄重點內容。

1、算法的基本概念

在這裏插入圖片描述
在這裏插入圖片描述

2、算法的基本設計模式

在這裏插入圖片描述

3、大O記法

在這裏插入圖片描述
常用的漸進複雜度:
O(1),O(logn),O(n),O(nlongn),O(n2),O(n3),O(2n)O(1),O(log n),O(n),O(n long n),O(n^2),O(n^3),O(2^n)
在這裏插入圖片描述

4、複雜度分析

4.1、基本循環

最基本的循環程序:順序組合、條件分支、循環結構
0 基本操作,O(1)O(1)
1 加法規則(順序複合): 多部分複合,則複雜度爲每部分之和,由於忽略常量,則是各部分的最大值
2 乘法規則(循環結構):循環體相乘
3 取最大規則(分支結構):取最大的分支

4.2、遞歸的複雜度

def recur(n):
	if n == 0:
		return g(...)
	somework
	for i in range(n):
		x = recur(n/b)
		somework
	somework

複雜度公式:
T(n)=O(n2)+aT(n/b)T(n)=O(n^2)+a T(n/b)
0 a>bka>b^k,T(n)=O(nlogba)T(n)=O(n^{log_b^a})
1 a=bka=b^k,T(n)=O(nklogn)T(n)=O(n^klog n)
2 a<bka<b^k,T(n)=O(nk)T(n)=O(n^k)

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章