摘要:effective c#: 2.以嵌套数组取代 多维数组
陈铭 microsoft c#/.net asia mvp
难度:8/10 条款1
有些算法需要用到比一维数组更为复杂的数组结构,在c#中实现这样的算法有两种不同的选择:嵌套数组(array of array)或者多维数组(multi-dimensional array)。顾名思义,嵌套数组是指那些以数组作为单个数据成员的数组。......
摘要://notepad.cs
//==========================
using system;using system.drawing;using system.collections;using system.componentmodel;using system.windows.forms;using system.data;using system.io;
namesp......
旅行销售员问题的遗传算法实现旅行销售员问题的遗传算法实现
1. 旅行销售员问题的描述与相关定理 【程序编程相关:
Beginnerwithc#2】
摘要:本文借助于遗传算法给出了旅行销售员问题较优解的求解方法,并用c#语言实现. 【推荐阅读:
Beginnerwithc#4】
定义1 经过图g的每个顶点正好一次的圈,称为g的哈密尔顿圈,简称h圈. 【扩展信息:
BeginnerwithC#】
为了方便讨论旅行销售员问题(traveling saleman problem,简称tsp),先给出图论中相关的一些定义:
定义2 在加权图g=(v,e)中
(1)最小的h圈称为最佳h圈;
(2)经过每个顶点至少一次且权最小的闭通路称为最佳销售员回路.
本文要解决的问题就是求加权图的最佳销售员回路.而最佳销售员回路的问题可以转化为最佳h圈问题.
设给定加权图g=(v,e),用它构造以v为顶点集的完全图g′=(v,e′),其中e′中每条边(x,y)的权等于图g中顶点x到顶点y的最短路径的长度,即
对任意∈e′,权
图论中相关定理如下:
定理1 加权图g的最佳销售员回路的长度与g′的最佳h圈的长度相同.
定理2 在加权完全图中最佳h圈问题是npc问题.
根据定理1我们可以把任意加权图的旅行销售员问题转化为其加权完全图上的最佳h圈问题.根据定理2我们知道对该问题寻找多项式时间算法是不现实的,我们只能构造一些启发式近似算法来求得问题的较优解.
2. 旅行销售员问题的遗传算法实现
2.1 用floyd-warshall算法求图中任意两顶点的最短路径
floyd-warshall算法步骤:
step0 k=0;对于所有节点i与j,令 (可以认为 ), ;
step1 k=k+1;对于所有顶点i与j,若 ,则令 ;否则令 ;
step2 如果k==n,结束;否则转step1.
其中代号意义如下:...
下一页 摘要:继承中的virtual,override,new,abstract
写这个,只是想作个总结,刚刚看完继承章节中的这部分,乱乱的,理一下思路.一般的继承就不再说了,现在主要说一下virtual,override,new,abstract的区别和作用等. 先说new.平时我们都是用他来声明一个对象,当然在struct和enum中也可以使用他,我试过,虽然不是类,也不像对象,但是可以这样使用.这里的......