So it's certainly at least linear in the length of the list. For each starting point, what do I do?
它至少是线性的计算列表的长度,每次到了循环开始的点?
I'm gonna use my left finger and my right finger and each of which is gonna point at the start of each of this list.
用我的左手手指和右手手指,每个手指指向每个列表的开始处。
The last thing I want to point out to you is, I started out with this list. I haven't added anything to the list, right? I mean I've got a different kind of looping mechanism.
我们从这个列表开始,我没往这个列表上加任何东西对不对?,我的意思是我学会了一种不同种类的,循环机制,我想我得说。
But if, at any point, I get to a place in the list where the thing I'm looking for is smaller than the element in the list, I know everything else in the rest of the list has to be bigger than that, I don't have to bother looking anymore.
比当前位置数组的元素要小,我也就知道后面的数肯定,也都比我的目标数要大了,我就不用再继续进行下去了,这意味着目标数不在这个数组中,我就可以退出了。
Just point at the start of this list, and this one so which number comes first?
指向列表的开始处,对于它来说,哪个数字在前面?
In binary search-- ah, there's that wonderful phrase, this is called a version of binary search just like you saw bin-- or bi-section methods, - when we were doing numerical things- in binary search, I need to keep track of the starting point and the ending point of the list I'm looking at.
就是当我们处理数字的时候,所称的二分检索,在二分法搜索中,我需要记录区间的开始点和尾点,初始化的时候就是-,问题输入的开始点和尾点,当我开始做测试的时候,我想要做的就是去取中值点。
We don't seem to be doing that just yet, certainly not as badly, alright, so at this point in the story I have a sorted list of size 4.
当然现在我们不需要那样做,此时此刻,我已对整个问题中大小为4的列表排好序了。
Start again, we'll point to the beginning of the list.
但是现在。
OK, for example, I might say point p1 is that list, x is 1, y is 2.
和y坐标的数组是很简单的1,那么,例如,我可能会说点。
It's easy to think of a point as just a list of an x- and a y- coordinate.
或者说有两个元素的数组,把一个点认为是含有x坐标。
It's going to let j run over the length of the list all right, so it's going to start at some point to move down, and then it's going to let i run over range, that's just one smaller, and what's it doing there?
就在这里,会做什么呢?,我们让j遍历这个列表,好的,它要从某一定开始移动,然后让i也跑遍整个范围,就是比之要小一,会发生什么?
应用推荐