求解二元函数的最大值-遗传算法
摘要:为了更好的理解遗传算法的运算过程,下面用手工的计算间的模拟遗传算法的各个主要的执行步骤: 例、求下述二元函数的最大值: max f(x1,x2) = x1^2+x2^2; (1)个体编码:遗传算法的运算对象是表示个体的符号串,所以必须把变量x1,x2编码位一种符号串。本题中,用无符号二进制整数来表示
阅读全文
遗传算法
摘要:遗传算法:是一个群体优化算法,也就是从多个初始解开始进行优化,每个解成为一个染色体,个染色体之间通过竞争,合作,单独变异,不断进化。 优化时候先要见时机问题转换到遗传空间,就是把实际问题的解用染色体表示,称为编码,反过程为解码,因为优化后要进行评价,所以要返回问题空间,故要进行解码。SGA采用二进制
阅读全文
查找
摘要:一、基于线性表的查找 1、顺序查找:对关键字没有排序的线性表来说,用所给的关键字与线性表中的所有记录逐个进行比较,直到成功或是失败。 显然上述算法的时间消耗主要是while,if判断处。有实验表明,当查询记录超过1000条的时候,i>0这条语句的消费时间是整个算法的60%,所以我们将之改进。 这样以
阅读全文
C++实现二叉排序树
摘要:1 #ifndef _TREENODE_H_ 2 #define _TREENODE_H_ 3 #define datatype int 4 #include <iostream> 5 using namespace std; 6 class BSTNODE 7 { 8 public: 9 data
阅读全文
C++ 实现二叉树的构造,插入,删除,遍历
摘要:1 #ifndef _TOU_H_ 2 #define _TOU_H_ 3 #include <iostream> 4 #include <cstdlib> 5 using namespace std; 6 #define datatype char 7 void visit(datatype it
阅读全文
树和二叉树
摘要:树和二叉树的一些基本术语: 【树的定义】 树(Tree):n(n≥0)个结点构成的有限集合。当n=0时,称为“空树”;对于任一棵“非空树”(n>0),它具备以下性质: 树中有一个称为“根(Root)”的特殊结点,用r表示; 其余结点可分为m(m≥0)个“互不相交”的有限集T1,T2,...,Tm,其
阅读全文
图
摘要:一、图。 1、图的基本概念:图是由节点集合及节点间关系集合组成的一种数据结构。G = (V,E),其中,V = { x|x(某个数据元素的集合} E = {(x,y)|x,y( V}或者E ={<x,y>|x,y( V并且path(x,y) } 其中,(x,y)表示从x到y的一条双向通路,就是(x,
阅读全文
动态查找表
摘要:一、二叉排序树: 1、基本概念:(1)若左子树不空,则左子树上的所有节点的关键字值均小于根节点的关键字值;(2)若若右子树不空,则右子树上的所有节点的关键字值均大于等于根节点上的关键字值(3)左右字数也均为二叉排序树。 二叉排序树通常采用二叉链表存储结构。二叉排序树中的节点的结构体定义如下: 二叉排
阅读全文
C++简单实现二叉排序树
摘要:1 #ifndef _TOU_H_ 2 #define _TOU_H_ 3 #include <iostream> 4 using namespace std; 5 #include <cstdlib> 6 7 typedef 8 struct{ 9 int key; 10 }DataType; 1
阅读全文
C/C++一个简单的哈希表实现
摘要:1 #ifndef _HASHTABLE_H_ 2 #define _HASHTABLE_H_ 3 #include <iostream> 4 #include <cstdlib> 5 using namespace std; 6 7 typedef 8 enum { 9 Empty, Active
阅读全文
哈希表
摘要:静态查找表和动态查找表中,数据元素的存放位置和数据元素的关键字之间没有任何关系,因此他们的查找是一系列的比较过程。 如果我们自己构造一个查找表,使得数据元素的存放位置和数据元素之间存在某种关系,则我们就可以直接通过数据元素的关键字得到该数据元素的存放位置。(这种查找表就是哈希查找表)我们把数据元素的
阅读全文
哈希冲突解决方法
摘要:1、开放定址法:已发生哈希冲突的哈希地址为自变量,通过某种哈希函数得到一个新的空闲的内存单元的方法。 (1)线性探查法:是指从发生哈希冲突的地址开始,依次探查下一个地址(当地址为m-1的哈希表表尾时候,下一个探查地址是表首地址0,),直到找到一个空闲单元为止(当m>n时候一定能找到一个空闲单元) 他
阅读全文