itgle.com

考虑启发式图搜索中的评价函数f(n),其中,n为某个正在被评价的状态,那么,它现在一定是()A.已搜索得到的路径上的一个状态B.A算法Open表中的一个节点C.从初始状态到目标状态的最小代价路径上的一个节点D.从已到达节点出发可达的一个节点

题目

考虑启发式图搜索中的评价函数f(n),其中,n为某个正在被评价的状态,那么,它现在一定是()

A.已搜索得到的路径上的一个状态

B.A算法Open表中的一个节点

C.从初始状态到目标状态的最小代价路径上的一个节点

D.从已到达节点出发可达的一个节点


相似考题
更多“考虑启发式图搜索中的评价函数f(n),其中,n为某个正在被评价的状态,那么,它现在一定是()”相关问题
  • 第1题:

    请编写函数fun(),它的功能是求Fibonacci数列中小于t的最大的一个数,结果由函数返回。其中Fibonacci数列F(n)的定义为

    F(0)=0,F(1)=1

    F(n)=F(n-1)+F(n-2)

    例如:t=1000时,函数值为987。

    注意:部分源程序给出如下。

    请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。

    试题程序:

    include <conio.h>

    include <math.h>

    include <stdio.h>

    int fun(int t)

    {

    }

    main()

    {

    int n;

    clrscr();

    n=1000;

    printf("n=%d, f=%d\n",n, fun(n));

    }


    正确答案:int fun(int t) { int a=1b=1c=0i; /*a代表第n-2项b代表第n-1项c代表第n项*/ /*如果求得的数。比指定比较的数小则计算下一个Fibonacci数对ab得新置数*/ do { c=a+b; a=b; b=c; } while(ct); /*如果求得的数c比指定比较的数大时退出循环*/ c=a; /*此时数c的前一个Fibonacci数为小于指定比较的数的最大的数*/ return c; }
    int fun(int t) { int a=1,b=1,c=0,i; /*a代表第n-2项,b代表第n-1项,c代表第n项*/ /*如果求得的数。比指定比较的数小,则计算下一个Fibonacci数,对a,b得新置数*/ do { c=a+b; a=b; b=c; } while(ct); /*如果求得的数c比指定比较的数大时,退出循环*/ c=a; /*此时数c的前一个Fibonacci数为小于指定比较的数的最大的数*/ return c; } 解析:根据所给数列定义不难发现,该数列最终的结果是由两个数列之和组成,所以可以在循环内部始终把c看成是前两项之和(即第n项),而a始终代表第n-2项,b始终代表第n-1项(通过不断地重新赋值来实现)。应注意,退出循环时得到的数c是大于指定比较的数的最小的数,而它的前一个数就是小于指定比较的数的最大的数。

  • 第2题:

    已定义好函数f(n) ,其中n为形参。若以实参为m调用该函数并将返回的函数值赋给变量x,下列写法正确的是( )。

    A.x=f(n)

    B.x=Callf(n)

    C.x=f(m)

    D.x=Call f(m)


    正确答案:C
    解析: 本题考查过程调用的知识。调用引起过程的执行。也就是说,要执行一个过程,必须调用该过程。函数过程的调用只有一种方式:<过程名>(<实际参数>)

  • 第3题:

    若有以下程序includevoidf(intn);main() (voidf(intn); f(5); }void f(intn) {printf(

    若有以下程序 #include <stdio.h> void f(int n); main() ( void f(int n); f(5); } void f(int n) { printf("%d\n",n); } 则以下叙述中不正确的是

    A.若只在主函数中对函数f进行说明,则只能在土函数中正确调用函数f

    B.若在主函数前对函数f进行说明,则在主函数和其后的其他函数中都可以正碗调用函数f

    C.对于以上程序,编译时系统会提示出错信息:提示对f函数重复况明

    D.函数f无返回值,所以可用void将其类型定义为无值型


    正确答案:C
    解析:本题考核的知识点是函数说明的方法。若一个函数定义在主调函数之后,其返回值不是int或char型,则必须对之进行函数说明。可在函数外说明也可以在函数内说明,在函数外说明,在其后的所有函数均可调用该函数,若在函数内说明,则只能在本函数内调用该函数。函数只能定义一次,但函数说明可以出现多次,因此选项C是错误的。所以,4个选项中C为所选。

  • 第4题:

    已定义好函数f(n),其中n为形参。若以实参m调用该函数并将返回的函数值赋给变量x,则以下写法中正确的是( )。

    A.x=f(n)

    B.x=Call f(n)

    C.x=f(m)

    D.x=Call f(m)


    正确答案:C
    暂无解析,请参考用户分享笔记

  • 第5题:

    编写函数jsValue(int t),它的功能是:求Fibonacci数列中大于t的最小的一个数,结果由函数返回。其中Fibonacci数列F(n)的定义为: F(0)=0,F(1)=1 F(n)=F(n-1)+F(n-2) (n≥2) 最后调用函数writeDat读取l0个数据t,分别得出结果且把结果输出到文件out.dat中。 例如:当t=1000时,函数值为:1597。 注意:部分源程序存在test.c文件中。 请勿改动数据文件in.dat中的任何数据、主函数main和写函数writeDat的内容。


    正确答案:
    【审题关键句】F(0)=0,F(1)=1,F(n)=F(n-1)+F(n-2)(n2)。
    【解题思路】
    ①定义表示Fibonacci数列中第F(n-2)项的变量f0,第F(n-1)项的变量n,第F(n)项的变量f2。
    ②当Fibonacci数列中第F(n)项的值f2小于t时,把数列当前第F(n-1)项的值n赋给f0,把数列当前第F(n)项的值f2赋给n,根据Fibonacci数列的递推关系,第n项的值等于第n-1项的值与第n-2项值的和,计算数列当前第n+1项的值f2= f0+n。依次循环,当f2的值大于t时,退出while循环,把f2的值返回。
    【参考答案】

  • 第6题:

    已定义好函数f(n),其中n为形参。若以实参为m调用该函数并将返回的函数值赋给变量X,以下写法正确的是( )。

    A)x=f(n)

    B)x=Call f(n)

    C)x=f(m)

    D)x=Call f(m)


    正确答案:C
    本题考查过程调用的知识。调用引起过程的执行。也就是说,要执行一个过程,必须调用该过程。函数过程的调用只有一种方式:<过程名>(<实际参数>1

  • 第7题:

    若树T有n个顶点,那么它的边数一定是( )

    A.n2
    B.n
    C.n+1
    D.n-1

    答案:D
    解析:

  • 第8题:

    如果某个变压器为升压变压器,那么它存在()关系。

    • A、n>1
    • B、n<1
    • C、N1<N2
    • D、U1<U2

    正确答案:B,C,D

  • 第9题:

    时间复杂度记为:T(n)=O(f(n));其中n是()。

    • A、函数
    • B、问题的规模
    • C、渐近符号
    • D、规模的函数

    正确答案:B

  • 第10题:

    如果某个变压器为降压变压器,那么它存在()的关系。

    • A、n>1
    • B、n<1
    • C、U1>U2
    • D、N1>N2

    正确答案:A,C,D

  • 第11题:

    单选题
    对于工作评价方法中的配对比较法来说,如果用N表示待评工作总数,那么所需要的评价次数为()
    A

    评价次数=N(N+l)/2

    B

    评价次数=N(N-l)/2

    C

    评价次数=(N+l)/2

    D

    评价次数=N/2


    正确答案: B
    解析: 暂无解析

  • 第12题:

    单选题
    设f(N),g(N)是定义在正数集上的正函数,如果存在正的常数C和自然数N0,使得当N≥N0时有f(N)≤Cg(N),则称函数f(N)当N充分大时有下界g(N),记作f(N)∈○(g(N)),即f(N)的阶()g(N)的阶。
    A

    不高于

    B

    不低于

    C

    等价于

    D

    逼近


    正确答案: C
    解析: 暂无解析

  • 第13题:

    编写函数jsValue(),它的功能是求Pibonacci数列中大于t的最小的一个数,结果由函数返回,其小 Fibonacci数列F(n)的定义为:

    F(0)=0, F(1)=1 ’

    F(n)=F(n-1)+F(n-2)

    最后调用函数writeDat(),把结果输出到文件OUT10.DAT中。

    例如:当t=1000时,函数值为1597。

    注意:部分源程序已给出。

    请勿改动主函数main()和写函数WriteDat()的内容。

    试题程序:

    include

    int jsValue(int t)

    {

    }

    main ( )

    {

    int n;

    n=1000;

    printf("n=%d, f=%d\n", n, jsValue(n));

    writeDat();

    }

    writeDat()

    {

    FILE *in, *out;

    int n,s;

    out = fopen("OUT10.DAT", "w");

    s = jsValue(1000); printf("%d",s);

    fprintf(out, "%d\n", s);

    fclose(out);

    }


    正确答案:int jsValue(int t) { int f1=0f2=1fn; fn=f1+f2; while(fn=t){f1=f2;f2=fn;fn=f1+f2;} /*如果当前的Fibonacci数不大于t则计算下一个Fibonacci数*/ return fn; /*返回Fibonacci数列中大于亡的最小的一个数*/
    int jsValue(int t) { int f1=0,f2=1,fn; fn=f1+f2; while(fn=t){f1=f2;f2=fn;fn=f1+f2;} /*如果当前的Fibonacci数不大于t,则计算下一个Fibonacci数*/ return fn; /*返回Fibonacci数列中大于亡的最小的一个数*/ 解析:解答本题的关键是要充分理解题意,只有理解了题意本身的数学过程,才能把数学过程转化为程序逻辑。根据已知数列,我们不难发现:Fibonacci数列中,从第三项开始,每一项都可以拆分为前两项之和。本题要求找到该数列中“大于t的最小的一个数”。这里可以借助一个while循环来依次取数列中的数,直到出现某一项的值大于t,那么这一项就是“大于t的最小的一个数”。注意:在循环体内部,我们用变量f1始终来表示第n项的前面第二项,用变量f2来始终表示第n项的前面第一项。这就实现了变量的活用与巧用。

  • 第14题:

    编写函数jsvalue(),其功能是:求Fibonacci数列中大于t的最小的一个数,结果由该函数返回。其中,Fibonacci数列F(n)的定义如下。F(0)=0, F(1)=1F(n)=F(n-1)+F(n-2)最后,调用函数writeDat()读取10个数据t,分别得出结果,并把结果输出到文件out.dat中。例如:当t=1000时,函数值为1597。部分源程序已给出。请勿改动主函数main()和写函数writeDat()的内容。#include <stdio.h>int jsValue(int t){ }void writeDat(){ FILE *in, *out; int i, n, s; in = fopen("in.dat", "r"); out = fopen("out.dat", "w"); for (i=0; i<50; i++) { fscanf(in, "%d,", &n); s = jsValue(n); fprintf(out, "%d\n", s); } fclose(in); fclose(out);}main(){ int n; n = 1000; printf("t=%d,f=%d\n", n, jsValue(n)); writeDat();}


    正确答案:参考试题解析
    【解析及答案】
    本题属于按条件查找类型的题目,考核的知识点为:求解Fibonacci数列的第n项的值;查找满足条件的Fibonacci数列的第n项的值。
    本题的解题思路为:从第1项开始逐个求出Fibonacci数列的每一项的值,并且将其与给定的数据相比较,若找到第1个大于给定数据的值则将其返回。程序的流程为:调用jsvalue(n)函数处理数据,由writeDat()函数将数据写回到文件out.dat中。在jsvalue()函数中,根据题目给出的条件,Fibonacci数列中的每一项的值均为前两项之和。将Fibonacci数列的每一项的都初始化,然后通过while循环的条件进行判断:当Fnt,即第n项的值小于1000时,进入while循环体,计算Fn的值,每计算一个Fn的值就与t比较一次,直到fn>t,即找到大于t的最小的一个数时,循环结束。该while循环的功能就是查找比t大的Fn的值。while循环结束后,利用return语句返回Fn的值,函数结束。
    int jsvalue(int t)
    { int f1=0,f2=1,fn;
    fn=f1+f2;
    while(fn<=t)
    {f1=f2;
    f2=fn;
    fn=f1+f2;}
    return fn;
    }

  • 第15题:

    若有以下程序includevoid f(int n);main(){ void f(int n);f(5);}void f(int n){print

    若有以下程序 #include<stdio.h> void f(int n); main() { void f(int n); f(5); } void f(int n) {printf(“%d\n”,n);} 则以下叙述中不正确的是

    A.若只在主函数中对函数f进行说明,则只能在主函数中正确调用函数f

    B.若在主函数前对函数f进行说明,则在主函数和其后的其他的其他函数中都可以正确调用函数f

    C.对于以上程序,编译时系统会提示出错信息;提示对f函数重复说明

    D.函数f无返回值,所以可用void将其类型定义为无值型


    正确答案:C
    解析:若一个函数定义在主调函数之后,其返回值不是int或char型,则必须对之进行函数说明。可在函数外说明也可以在函数内说明,在函数外说明,在其后的所有函数均可调用该函数,若在函数内说明,则只能在本函数内调用该函数。函数只能定义一次,但函数说明可以出现多次。

  • 第16题:

    已定义好函数f(n),其中n为形参。若以实参m调用该函数并将返回的函数值赋给变量x,下列写法中正确的是( )。

    A.x=f(n)

    B.x=Call f(n)

    C.x=f(m)

    D.x=Call f(m)


    正确答案:C
    解析:本题考查过程调用的知识。调用引起过程的执行。也就是说,要执行一个过程,必须调用该过程。函数过程的调用只有一种方式:过程名>(实际参数>)

  • 第17题:

    请编写函数proc(),它的功能是求Fibonacci数列中小于n的最大的一个数,结果由函数返回。

    Fibonacci数列F(n)的定义为

    F(0)=O,F(1)=1

    F(n)=F(n-1)+F(n-2)

    例如,n=500时,函数值为377。

    注意:部分源程序给出如下。

    请勿改动main()函数和其他函数中的任何内容,仅在函数proc()的花括号中填写所编写的若干语句。

    试题程序:


    正确答案:


    【解析】由题目中所给的公式可知,Fibonacci数列的第n项为第n-1项和第n-2项的和。要求Fibonacci数列中小于n的最大的一个数。首先根据公式求出Fibonacci数列的第n项的值,当第i项大于n,则返回第i-1项的值。

  • 第18题:

    设函数f(χ)=(eχ-1)(e2χ-2)…(enχ-n),其中n为正整数,则f’(O)=( )。

    A、(-1)n-1(n-1)!
    B、(-1)n(n-1)!
    C、(-1)n-1n!
    D、(-1)nn!

    答案:A
    解析:

  • 第19题:

    利用评价函数f(n)=g(n)+h(n)来排列OPEN表节点顺序的图搜索算法称为()

    • A、深度优先算法
    • B、宽度优先算法
    • C、盲搜索算法
    • D、A算法

    正确答案:D

  • 第20题:

    在搜索解图的过程中,若解图的耗散值记为k(n,N),则若n是N的一个元素,则k(n,N)=()

    • A、n
    • B、N
    • C、N-n
    • D、0

    正确答案:D

  • 第21题:

    设f(N),g(N)是定义在正数集上的正函数,如果存在正的常数C和自然数N0,使得当N≥N0时有f(N)≤Cg(N),则称函数f(N)当N充分大时有下界g(N),记作f(N)∈○(g(N)),即f(N)的阶()g(N)的阶。

    • A、不高于
    • B、不低于
    • C、等价于
    • D、逼近

    正确答案:A

  • 第22题:

    单个集中药包的药量可按公式计算,其中f(n)为爆破作用指数函数。某次爆破n值为1.2,则f(n)为()。

    • A、0.931
    • B、1.2
    • C、1.437
    • D、1.44

    正确答案:C

  • 第23题:

    单选题
    利用评价函数f(n)=g(n)+h(n)来排列OPEN表节点顺序的图搜索算法称为()
    A

    深度优先算法

    B

    宽度优先算法

    C

    盲搜索算法

    D

    A算法


    正确答案: A
    解析: 暂无解析

  • 第24题:

    单选题
    时间复杂度记为:T(n)=O(f(n));其中n是()。
    A

    函数

    B

    问题的规模

    C

    渐近符号

    D

    规模的函数


    正确答案: C
    解析: 暂无解析