算法
10 999999 50 999999 999999 999999 50 999999 20 10 30 999999 20 999999 60 8 100 999999 10 60 999999 A* 算法 算法介绍及适用条件和范围 A*( AStar)算法是一种静态路网中求解最短路径最有效的方法; 公式表示为 : f(n)=g(n)+h(n), 其中 f(n) 是从初始点经由节点 n
ocateVex(G,v1)。 j=LocateVex(G,v2)。 if(i0||j0) return ERROR。 G. arcs[i][j].adj=weight。 [j][i].adj=[i][j].adj。 } return OK。 } 3. 最小生成树建立主程序,采用借助辅助数组的方式,对于辅助的数组,以邻接表的选择点加入该数组,然后查找数组中权值最小,且未被选中的顶点,然后返回该边
4)如何定制 knoppix 的启动模式。 答: 运行 saveconfig,会产生一个 和 ,并保存到某个分区;启动时添加 myconfig=/dev/partition 即可读出,也可以用myconfig=scan 让 Knoppix自己去寻找这两个文件。 用户数据 (/home/knoppix)也可被保留到软盘或者 USB 盘上,启动时添加home=/dev/sda1 (不能是 DOS
(fscanf(fp,%s %s %s %s %s %s %d %d%*[^\n],amp。 books[0].ID,amp。 books[0].name,amp。 books[0].author,amp。 books[0].date,amp。 books[0].publish,amp。 books[0].sort,amp。 books[0].price,amp。 books[0]
q=qnextproduct) { if(!(qnextproduct)) break。 } printf(需添加产品的名称、总量、进货日期、销出数量、销售时间 :\n)。 for(j=0。 jn。 j++) { p=(plinklist)malloc(sizeof(productlnode))。 scanf(%s %d %d,%d,%d %d %d,%d,%d,amp。 (ppname)
的三角形 输入 系数 a,b,c 输出 X X2 计算 计算 例 ,求一元二次方程 ax2+bx+c=0( a≠0 )的根 ,画出相应的流程图 b24ac0 开始 结束 设计算法 ,求一元二次方程 ax2+bx+c=0( )的根 ,画出相应的流程图 a≠0 输出 x1,x2 输入 系数 a,b,c △ 0? 否 是 输出无实数解 计算 开始 结束 ③ 循环结构 成立 A P 不成立 A P 成立
关系; ③ 由代数式写成算术表达式时应注意保持运算顺序不变,必要时添加括号,如A + BA - B可写为 ( A + B ) /( A - B ) ,43π R3可写为 4] • (三 )算法案例 • 1. 辗转相除法:用两个正整数中较大的数除以较小的数所得余数与较小的数组成一对新数 , 重复上面的除法 , 直到余数为0时 , 较小数为原来两数的最大公约数 . • 2. 更相减损术
:算法如下: S1 先假定序列中的第一个整数为 “ 最大值 ”。 S2 将序列中的下一个整数值与 “ 最大值 ”比较,如果它大于此 “ 最大值 ” ,这时你就假定 “ 最大值 ” 是这个整数。 S3 如果序列中还有其他整数,重复 S2。 S4 在序列中一直到没有可比的数为止,这时假定的 “ 最大值 ” 就是这个序列中的最大值。 例 3: 写出求 的值的算法。 解法 1:算法如下: S1 先求
i= 15; • S= 2350不成立 → S= 544, i= 31. • S= 54450, 输出 i= 31, 故选 B. • [点评 ] 注意语句细节的变化,若其它不变,只把 S= S2+ i改为 S= S2+ 1,则输出 i值应为63,自己再想一下,其它语句不变,将 i=2i+ 1改为 i= i+ 1或 i= i+ 2,输出结果应为多少。 • [例 3] 已知函数 f(x)满足
例 2 把 89化为二进制数 解: 根据“逢二进一”的原则,有 89= 2 44+ 1 = 2 (2 22+ 0)+1 = 2 ( 2 ( 2 11+ 0)+0)+1 = 2 (2 (2 (2 5+ 1)+0)+0)+1 5= 2 2+ 1 = 2 ( 2 ( 2 ( 2 ( 22+ 1) + 1)+ 0)+ 0)+ 1 89= 1 26+ 0 25+ 1 24+ 1 23+ 0 22+ 0