二分的思想的挺简单的,一开始觉得要考虑很多边界情况。但其实不然,考虑这些边界情况并不会改善算法的时间复杂度。
深刻体会,对于计算机来说,少计算一次两次有什么区别呢。真正影响到执行时间的是内部if,else语句的出口。以及时间复杂度,是一种数量级的增长,而不是一次两次。
如果一定要用if else,那么看是否能用?:表达式代替。
首先二分法的思想
它是一种分治的思想。适用于相对有序的数组。初始化指针在数组的开头和结尾,然后得到中间数,进行比较,移动头尾指针,进行一半的取舍。
普通版的二分查找
给出 arr=[1,2,3,4,5,7,9,11,34,35,44] ,找到数组中是否存在7,找到则并返回下标,找不到则返回-1
进阶版二分查找
例题:给出非递减排序数组的部分翻转数组,找出其最小元素
为什么使用二分
给出的条件是一个相对有序的数组并且因为当数据量大的时候,遍历整个数组,极不友好。也不够高级。
当找到的midleft,则最小数一定在mid的右侧,当midleft,最小数一定在mid的左侧(或者是mid)。最后我们会遍历到一个单调增的区域,这个时候直接拿left的值即可,不需要在进行二分了。
事件复杂度:O(lgn)
空间复杂度:O(1)
这个算法很巧妙的避开了[1,1,0,1,1,1]类似这种找到mid(1)和left(1)相同的局面。算法中直接left++,再进行一次计算。
算法好难啊啊
继续加油吧!
含义:
1.两分法就是用一分为二的观点看问题.
2.两点论就是在认识复杂事物的发展过程时,既要看到主要矛盾,又要看到次要矛盾;在认识某一矛盾时,既要看到矛盾的主要方面,又要看到矛盾的次要方面
(也就是全面看问题啦)
虽然两分法和两点论看似没有什么区别,这也是马克思主义具有相通的地方
但是我们可以发现这两种都是哲学上所说的方法论,而它的世界观是不一样的,世界观是决定方法论的.
1.两分法的世界观是矛盾是对立统一的;
两点论的世界观是主次矛盾和矛盾主次方面的辩证关系,建议楼主将两点论和重点论和在一起记忆,因为回答问答题时,这两个一般都是连在一起的.
2.第二个区别是两分法是要求看到事物的两面,既不利一面和有利一面
而两点论是既要看到事物中最重要,可以决定一切的一面,也要看到不是很重要的一面
举个例子:比如说我们看待网络发展的问题,如果用两分法来看,就要看到它对于社会发展的进步方面,也要看到它阻碍社会发展的方面,就像是网瘾啊,浏览不健康网站啊.
那如果我们用两点论来看待一件历史事件产生的原因,可以从经济,政治和文化角度来回答,但是起根本作用的就是经济(所以经济是矛盾的主要方面),
但是我们全面看待了这一历史事件,所以说我们坚持了用两点论的观点来看待
明白了吗?
二分法
二分法是我国最早的分类法,也是“文学”与“文章”尚未分家时的一种粗略的分类方法。它是根据作品的语言是否押韵而把所有的文章分为韵文和散文两个大类。韵文指有一定节奏和韵律的作品,如诗、词、歌、赋、铭、诔等;散文是指没有固定节奏和韵律的作品,如神话、寓言、游记、小品、小说、论、表、奏、檄,以及历史、哲学、各种社会和人文科学的文章等。二分法也叫“文笔”之分。在魏晋以前,有韵的韵文作品叫“文”,无韵的散文作品叫“笔”。如刘勰说:“今之常言,有文有笔,以为无韵者笔也,有韵者文也。” [1] 那时的“文笔之辨”,也就是韵文与散文的区别。后来文学样式增多,“二分法”显得过于笼统,局限性较大,不能适应文学体裁发展的需要,人们不再使用这种分类方式。
一、二分法的优点:
1、计算简单,方法可靠;
2、对f (x) 要求不高(只要连续即可) ;
3、收敛性总能得到保证;
4、二分法计算过程简单, 对)(xf要求不高(只要连续即可),程序容易实现。
二、二分法的缺点:可在大范围内求根,该方法收敛较慢,且不能求重根和复根, 其收敛速度仅与一个以 1/2为比值的等比级数相同,通常用于求根的初始近似值,而后在使用其它的求根方法。
扩展资料:
二分法的求法:
1、确定区间[a,b],验证f(a)·f(b)0,给定精确度ξ。
2、求区间(a,b)的中点c。
3、计算f(c):
(1)若f(c)=0,则c就是函数的零点;
(2)若f(a)·f(c)0,则令b=c;
(3)若f(c)·f(b)0,则令a=c;
(4)判断是否达到精确度ξ:即若|a-b|ξ,则得到零点近似值a(或b),否则重复2-4。
参考资料来源:
百度百科-二分法
与“两点论”同义。是毛泽东对唯物辩证法及其对立统一规律的简明、通俗的说法。他在1963年说:“一个共产党人必须具备有对于成绩与缺点、真理与错误这个两分法的马克思主义辩证思想。”任何事物都是矛盾的统一体。矛盾总是由既对立又统一的两个矛盾着的方面构成的。因此,思维中的两分法、两点论,必须以客观事物矛盾的实际情况为依据,而不是主观随意的。坚持两分法和两点论,是克服形而上学片面性,正确认识和解决问题的重要思维方法和工作方法。
一种认识事物的辩证方法,即把统一物分为两个部分以及对它的矛盾着的部分的认识,是在“一分为二”观点指导下认识事物的方法,是毛泽东同志对对立统一辩证思想方法的简明通俗的表述。1963年在《加强相互学习,克服固步自封、骄傲自满》一文中指出:“共产党员必须具备对于成绩与缺点、真理与错误这个两分法的马克思主义的辩证思想。”两分法要求对一切事物都采取矛盾分析的态度,分析出事物的内部矛盾,要求同时把握矛盾的两个方面以及双方之间既对立又统一的关系。反对只看到矛盾的一个方面而忽视另一个方面,只看到斗争而忽略统一,攻其一点不及其余等形而上学的方法。但是运用两分法,并不等于把一切事物都机械地划分为两个方面,而是要坚持分析矛盾的立场态度。