游戏中的算法

本文介绍了分治算法在游戏编程中的应用,包括算法定义、解题步骤和适用场景。通过实例说明如何使用分治解决找伪币问题,并列举了如二分搜索、快速排序等分治算法在游戏开发中的实际应用。
摘要由CSDN通过智能技术生成

分治算法

 

1、分治算法的定义

    分治算法是游戏中比较常用的一种算法“分治”二字顾名思义,就是“分而治之”的意思,说的通俗一点就是步步为营,各个击破,再来解释分而治之的意思,其实也就是把一个问题(一般来说这个问题都是比较复杂的)分成两个相同或者相似的子问题,再把子问题分成更小的问题,一直这样下去.......直到最后,子问题可以简单地求解,还有一点就是把所有求得的子问题合并就是原问题的解。其实在很多场合下都会使用到分治算法,比如说我们常用的归并排序、快速排序都是很常见的分治思想的体现。

 

2、分治法的解题步骤一般可以分为三步:

1、分解问题:将要解决的问题分开成若干个规模较小且又容易解决的与原问题同类的相互独立子问题。

2、解决问题:将子问题求解。

3、合并:按照原问题的要求,将解决了的子问题合并构成原问题的解。

例如:

最值得求取:

在n个元素中找出最大元素和最小元素。我们可以把这n个元素放在一个数组中,用直接比较法求出。算法如下:

void maxmin1(int A[],int n,int *max,int *min)

{

int i;

*min=*max=A[0];

for(i=0;i <= n;i++)

{

if(A[i]> *max) *max= A[i];
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值