200分,解决后还送,请大家帮我看看prim算法的问题啊,
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了200分,解决后还送,请大家帮我看看prim算法的问题啊,相关的知识,希望对你有一定的参考价值。
void Prim(float cost[MAXDOT][MAXDOT],int n)
int i,j,k,close[MAXDOT];
float lowcost[MAXDOT],min;
for (i=2;i<=n;i++)
lowcost[i]=cost[1][i];
close[i]=1;
close[1]=0;
for (i=2;i<=n;i++)
min=MAXLENGTH;
k=i;
for (j=1;j<=n;j++)
if ((lowcost[j]<min)&&(close[j]!=0))
min=lowcost[j];
k=j;
printf ("(%d,%d)",close[k],k);
close[k]=0;
for (j=2;j<=n;j++)
if (close[j]!=0 && cost[k][j]<lowcost[j])
lowcost[j]=cost[k][j];
close[j]=k;
void main()
int i,j,n=7;
float cost[MAXDOT][MAXDOT];
for(i=0;i<=n;i++)
for(j=0;j<=n;j++) cost[i][j]=MAXLENGTH;
cost[1][2]=28, cost[2][3]=16, cost[3][4]=12, cost[4][5]=22;
cost[5][6]=25, cost[5][7]=24, cost[2][7]=14, cost[4][7]=18;
cost[1][6]=10;
Prim(cost,n);
有什么好看的?直接回去看书,不是更好? 参考技术B 你可以看看一般的《数据结构》书,那上面介绍的比较详细的,比在网上看效果要好的多了 参考技术C 去看看《数据结构》或北大oj相关的那本书都有 参考技术D 可怜的我不知道,可是又想要积分,哎! 第5个回答 2008-12-19 你的算法狠perfect,只不过结果求出来的是有向图的最小支撑树,而你可能想要的是无向图的结果。改一下数据
cost[1][2]=cost[2][1]=28, cost[2][3]=cost[3][2]=16, cost[3][4]=cost[4][3]=12, cost[4][5]=cost[5][4]=22;
cost[5][6]=cost[6][5]=25, cost[5][7]=cost[7][5]=24, cost[2][7]=cost[7][2]=14, cost[4][7]=cost[7][4]=18;
cost[1][6]=cost[6][1]=10;代码就perfect了
为啥在eclipse中执行 sql server 的查询语句总是提示语法错误,请大家帮我看看。
public void actionPerformed(ActionEvent evt)
try
String namevalue=name.getText().trim();
String sexvalue=sex.getText().trim();
String agevalue=age.getText().trim();
String majorvalue=major.getText().trim();
String sname,ssex,sage,smajor;
sname="LIKE'%"+namevalue+"%'";
ssex="LIKE'"+sexvalue+"%'";
if(agevalue.equals(""))
sage="BETWEEN 15 AND 35";
else
sage="="+agevalue;
smajor="LIKE'"+majorvalue+"%'";
command="SELECT * FROM student WHERE name"+sname+"AND sex"+ssex+"AND age"+sage+"AND major"+smajor;
rs=stmt.executeQuery(command);
resultarea.setText("");
if(!rs.next())
resultarea.setText("找不到符合此条件的记录");
else
do
String rename=rs.getString("name");
String resex=rs.getString("sex");
String reage=rs.getString("age");
String remajor=rs.getString("major");
resultarea.append(rename);
resultarea.append(resex+" ");
resultarea.append(reage+" ");
resultarea.append(remajor+"\n");
while (rs.next());
catch (Exception ex)
resultarea.append(ex.getMessage()+"\n");
这是主要的查询语句,我的程序是一个学生信息查询系统,输入学生的姓名,学号等信息来在sql server中查找配对的信息,然后输出。
出现的问题截图
command="SELECT * FROM student WHERE name"+sname+"AND sex"+ssex+"AND age"+sage+"AND major"+smajor;
上面这句,在name后面紧接着就是like,没有空格。
And前面也没有空格。
SQL语句不予许这样模糊的定义,他找不到关键字。 参考技术A command="SELECT * FROM student WHERE name"+sname+"AND sex"+ssex+"AND age"+sage+"AND major"+smajor;
这里的sql明显写错了啊。。你在每个字段后面都差了个=,应该是这样,如果字段是字符串类型,还要加上单引号,总之就是要和SQLServer里面写的一样
SELECT * FROM student WHERE name="+sname+"AND sex="+ssex+"AND age="+sage+"AND major="+smajor 参考技术B 这个是改后的类
class Operate
private static int jishu1 = 0;
private static int jishu2 = 0;
private String a;
public Operate(String a)
this.a = a;
for (int i = 0; i < a.length(); i++)
if (a.charAt(i) == 'n')
jishu1++;
if (a.charAt(i) == 'o')
jishu2++;
public int getJiShu1()
return jishu1;
public int getJiShu2()
return jishu2;
你的错误在于private char b[]=a.toCharArray();这句。在数组b里面存放的知识a的地址而已。
相当于对于数组b根本还没有定义。所以报错
参考技术C 像这类问题 最好打印出最后你拼出的sql语句
放在数据库上执行 看错在哪里
以上是关于200分,解决后还送,请大家帮我看看prim算法的问题啊,的主要内容,如果未能解决你的问题,请参考以下文章
JQuery应用:实现下拉列表选择一项,然后在第二个下拉列表显示全部。谢谢了 请一定帮我做一下!200分!
200分悬赏,我家网速太慢了,电脑不算是特别旧,2M的,安了个杀毒软件,谁能帮我解决下
JAVA的包装者设计模式试题,请一定帮我做一下,实在不懂 200分!!!!
唐宇迪-机器学习/深度学习 系列课程福利大发送!不单优惠 还送机器学习必备实战书籍!