其他分享
首页 > 其他分享> > 邓公总结课

邓公总结课

作者:互联网

python list

python 语法一般从list开始讲起。
list 插入、删除元素比较容易,查找比较慢。

两种对list进行翻转操作。

def reverse_1(L){
	lo,hi = 0, len(L)-1 #从首末元素开始   平行赋值
	while lo<hi #依次令对称元素
		L[lo],L[hi] = L[hi], L[lo]  #互换,然后
		lo,hi = lo+1,hi-1	#考察下一对元素
	return L
}
def reverse_1(L){
	for i in range(len(L)):
		L.insert(i, L.POP() ) 
	return L
}

实际上python的list列表底层是用向量搭建的。因此第二种种方法是n方,第一种是n

复杂度下界—如何判断

decision tree 代数判定树 最简单的是 比较判定树

一般的测度所说的是指针对worst-case
worst-case optimal 在这里插入图片描述
对于CBA 基于比较的算法 最优的复杂度 是nlogn
因为叶子节点一共有n!种,取log后,变为n的n次方(log下与n!同阶)取log

但是桶排序不是基于比较的算法,可以用优于CBA 可以达到n的复杂度

reduction 规约 lower-bound

例子排序算法可以规约于排序问题
A问题规约于B问题(与中文传统的表述方式不同)
在这里插入图片描述

元素唯一性问题(E.U.) <= 最近邻 问题 (cloest pair)。 最好超不过 nlogn
元素唯一性问题,最优算法nlogn
利用距离来算元素是否唯一。

nlogn sorting <= R.B.M. red&blue matching 而且连线不可以相交
注意R.B.M必定是存在的(可由计算几何证明)
如何对应呢?

set disjointness nlogn <= Diameter(点集中最长的两点)
set disjointness 二路归并。用nlogn 确定是否有相同的元素。相同的点会变为diameter。只要判断这个点是否重合。
在这里插入图片描述

标签:总结,log,python,复杂度,元素,list,邓公,nlogn
来源: https://blog.csdn.net/weixin_43829465/article/details/100063602