【二分查找】
针对有序数组,性能非常好。
【时间复杂度】
logn
【代码】
#include
#include
//非递归实现二分查找
int BinarySearch1(int a[], int n, int key)
{
int left, right;
int mid;
left = 0;
right = n - 1;
while(left <= right)
...
分类:
其他好文 时间:
2014-04-27 19:42:22
阅读次数:
538
1、因为每次只能走 1 步或 2 步,所以从第一级走上第二级只能上 1 步,只有一种走法。 f ( 2 ) = 1
2、从第一级走到第三级,可以从第一级上 2 步,也可以从第二级上 1 步,有两种走法。 f ( 3 ) = 2
3、所以,走上第 n 级,可以从第 n-1 级上 1 步,也可以从第 n-2 级上 2 步。 f ( n ) = f ( n-1 ) + f ( n-2 )
不难发现,这是一个“斐波那契函数”
注意:这道题用 Java 语言采取递归求解,程序会超时!...
分类:
其他好文 时间:
2014-04-27 19:38:15
阅读次数:
519
首先说说二分查找法。
二分查找法是对一组有序的数字中进行查找,传递...
分类:
其他好文 时间:
2014-04-27 18:40:01
阅读次数:
518
本次教程跟之前隔了不少时间哈,有点忘记了的建议先看看前面的熟悉下,今天我准备把这个2048给结束了,拖了这么久。按照惯例,我们已经把准备工作都做好了,今天这一部分信息量比较大,也是整个游戏的核心所在,所以我准备分功能来讲,最后大家结合源码来看就不会感觉太吃力了。1、初始化游戏 初始化的时候,我们要干嘛呢,首先要看配置,配置了几行,然后先画好面板,然后要给在面板上随机生成2个数字Item,这涉及到2...
分类:
其他好文 时间:
2014-04-27 18:16:52
阅读次数:
618
中点椭圆算法(1)先讨论椭圆弧的上部分设(Xp,Yp)已确定,则下一待选像素的中点是(Xp+1,Yp-0.5)d1=F(Xp+1,Yp-0.5)=b2(Xp+1)2+a2(Yp-0.5)2-a2b2根据d1的符号来决定下一像素是取正右方的那个,还是右上方的那个。
若d1<0,中点在椭圆内,取正右方象...
分类:
其他好文 时间:
2014-04-27 17:28:30
阅读次数:
653
1.中点画圆算法(1)P为当前点亮象素,那么,下一个点亮的象素可能是P1(Xp+1,Yp)或P2(Xp+1,Yp+1)。(2)构造函数:F(X,Y)=X2+Y2-R2;则F(X,Y)=0(X,Y)在圆上;F(X,Y)0(X,Y)在圆外。设M为P1、P2间的中点,M=(Xp+1,Yp-0.5)有如下结...
分类:
其他好文 时间:
2014-04-27 17:18:18
阅读次数:
901
一、Cohen-Sutherland剪裁算法1.基本思想对于每条线段P1P2分为三种情况处理:(1)若P1P2完全在窗口内,则显示该线段P1P2。(2)若P1P2明显在窗口外,则丢弃该线段。(3)若线段不满足(1)或(2)的条件,则在交点处把线段分为两段。其中一段完全在窗口外,可弃之。然后对另一段重...
分类:
其他好文 时间:
2014-04-27 17:00:46
阅读次数:
921