上一页 1 ··· 89 90 91 92 93 94 95 96 97 ··· 103 下一页
摘要: 1 问题描述: 给定无向图,m种不同的颜色。使每一种着色法使G中每条边的2个顶点不同颜色,若一个图最少需要m种颜色才能使图中每条边连接的2个顶点着不同颜色,则成这个数m为该图的色数。求一个图的色数m的问题称为图的m可着色优化问题。2 算法设计 用图的邻接矩阵a表示无向图连通图G=(V,E)。 若存在相连的边,则a[i][j] = 1,否则 a[i][j]=0. 整数1,2,3.。。m用来表示为一棵高度为n+1的完全m叉树。 解空间树的第i层中每一结点都有m个儿子,每个儿子相应于x[i]的m个可能的着色之一。 第n+1层为叶子结点。在算法Backtrack, 当i>n时,算法搜索至... 阅读全文
posted @ 2012-10-25 19:53 xingoo 阅读(1532) 评论(0) 推荐(0)
摘要: 算法描述:0-1背包的回溯法,与装载问题的回溯法十分相似。在搜索解空间树时,只要其左儿子结点是一个可行结点,搜索就进入其左子树。当右子树中有可能包含最优解时才进入右子树进行搜索。否则将右子树剪去。 计算右子树上界的更好算法是: 将剩余物品依其单位重量价值排序,然后依次装入物品,直至装不下时,再装入该物品的一部分而装满背包。算法实现: 由Bound函数计算当前节点处的上界。 类Knap的数据成员记录解空间树的节点信息,以减少参数传递及递归调用所需的栈空间。 在解空间树的当前扩展结点处,仅当要进入右子树时,才计算上界bound,以判断是否可将右子树剪去。 进入左子树时不需要计算上界... 阅读全文
posted @ 2012-10-24 14:59 xingoo 阅读(1260) 评论(0) 推荐(0)
摘要: LSP本身是DLL,可以将它安装到winsock目录,以便创建套接字的应用程序不必知道此LSP的任何信息就能调用它。运行原理: 套接字创建函数会在winsock目录中寻找合适的协议 调用此协议,的提供者导出的函数 完成各种功能。编写目的: 让用户调用自定义的服务提供者,有自定义的服务提供者调用下层提供者。这样便截获所有的winsock调用了。服务提供者本身是DLL,导出一些与winsock API相对应的SPI函数。winsock库加载服务提供者时,便依靠这些函数来实现winsockAPI。LSP也是如此,它向上导出所有的SPI函数供 Ws2_32.dll调用,在内部通过调用基础提供者实... 阅读全文
posted @ 2012-10-23 21:52 xingoo 阅读(10616) 评论(0) 推荐(0)
摘要: SPI提供3种协议: 1 分层协议 在基础协议的上层,依靠底层基础协议实现更高级的通信服务。 2 基础协议 能够独立安全地,和远程断电实现数据通信的协议,相对于分层协议而言的 3 协议连 将一系列的基础协议,分层协议按特定的顺序连接在一起的链状结构。协议特性: winsock用WSAPROTOCOL_INFO结构描述特定协议的完整信息。称为一个winsock目录入口。 两个重要标识: ProviderId:服务开发商提供的全局唯一标识 dwCatalogEntryId为每个WSAPROTOCOL_INFO结构安排的唯一标识,称为目录入口ID。使用wins... 阅读全文
posted @ 2012-10-23 19:47 xingoo 阅读(6795) 评论(0) 推荐(0)
摘要: SPI:service provider interface,winsock2服务提供者接口。SPI是应用程序使用的服务,本身不是应用程序,作用是向加载这个服务的应用程序导出自己。SPI由两个部分组成:传输服务提供者transport service provider 命名空间服务提供者 name space providers1 传输服务提供者: 提供建立连接,传输数据,行使流控制,出错控制服务 两种类型: 分层的,基础的 基础服务提供者:BSP:实现传输协议真正细节,导出winsock接口,直接实现协议 分层服务提供者:LSP:截取来自应用程序的winsock API调用。实现更高... 阅读全文
posted @ 2012-10-23 19:15 xingoo 阅读(669) 评论(0) 推荐(0)
摘要: 问题描述: 在n*n的棋盘上放置彼此不受攻击的n个皇后。按国际象棋的规则,皇后可以与之处在同一行或者同一列或同一斜线上的棋子。 n后问题等价于在n*n格的棋盘上放置n皇后,任何2个皇后不放在同一行或同一列的斜线上。算法设计: |i-k|=|j-l|成立,就说明2个皇后在同一条斜线上。可以设计一个place函数,测试是否满足这个条件。 1 当i>n时,算法搜索至叶节点,得到一个新的n皇后互不攻击放置方案,当前已找到的可行方案sum加1. 2 当i<=n时,当前扩展结点Z是解空间中的内部结点。该结点有x[i]=1,2,3....n共n个儿子节点。 对当前扩展结点Z的每个儿子节点,由.. 阅读全文
posted @ 2012-10-23 18:51 xingoo 阅读(6741) 评论(0) 推荐(0)
摘要: 问题描述: 由14个“+”号和14个“-”号组成的符号三角形。 2个同号下面是“+”号,2个异号下面是“-”号。如图: + + _ + _ + + + _ _ _ _ + _ + + + _ _ + + _ _ + _ _ _ +在一般情况下,符号三角形第一行有N个符号,该问题要求对于给定n计算有多少种不同的符号三角形。使其所含的+ — 个数相同。算法设计: 1 x[i] =1 时,符号三角形的第一行的第i个符号为+ 2 x[i] =0时,表示符号三角形... 阅读全文
posted @ 2012-10-23 10:42 xingoo 阅读(12837) 评论(1) 推荐(0)
摘要: 问题描述: 给定n个作业,集合J=(J1,J2,J3)。每一个作业Ji都有两项任务分别在2台机器上完成。每个作业必须先有机器1处理,然后再由机器2处理。作业Ji需要机器j的处理时间为tji。对于一个确定的作业调度,设Fji是作业i在机器j上完成处理时间。则所有作业在机器2上完成处理时间和f=F2i,称为该作业调度的完成时间和。简单描述: 对于给定的n个作业,指定最佳作业调度方案,使其完成时间和达到最小。算法设计: 从n个作业中找出有最小完成时间和的作业调度,所以批处理作业调度问题的解空间是一棵排列树。 类Flowshop的数据成员记录解空间的结点信息,M输入作业时间,bestf记录当前... 阅读全文
posted @ 2012-10-23 10:11 xingoo 阅读(10883) 评论(1) 推荐(0)
摘要: 只需在前面的网络嗅探程序基础上,添加对搜索出的端口号进行的增加功能即可:代码如下:在DecodeIPPacket中添加:switch(::ntohs(pTCPHdr->destinationPort)) { case 21: { GetFtp((char*)pTCPHdr+sizeof(TCPHeader),pIPHdr->ipDestination); } break; case 80: ... 阅读全文
posted @ 2012-10-22 19:43 xingoo 阅读(625) 评论(0) 推荐(0)
摘要: 网络嗅探器:把网卡设置成混杂模式,并可实现对网络上传输的数据包的捕获与分析。原理: 通常的套接字程序只能响应与自己MAC地址相匹配的 或者是 广播形式发出的数据帧,对于其他形式的数据帧网络接口采取的动作是直接丢弃 为了使网卡接收所有经过他的封包,要将其设置成混杂模式,通过原始套接字来实现。设置混杂模式: 创建原始套接字, 绑定到一个明确的本地地址, 向套接字发送SIO_RCVALL控制命令, 接收所有的IP包代码实现步骤: 1 创建原始套接字 2 绑定到明确地址 3 这是SIO_RCVALL控制代码 4 进入循环,调用recv函数接收经过本地网卡的IP封包。主程序代码如下:... 阅读全文
posted @ 2012-10-22 19:04 xingoo 阅读(1982) 评论(0) 推荐(1)
上一页 1 ··· 89 90 91 92 93 94 95 96 97 ··· 103 下一页