摘要: 求一个集合的幂集就是求一个集合的所有的子集,方法有穷举法,分治法,回溯等,这里使用回溯法。 回溯法是设计递归过程的一种重要的方法,它的求解过实质上是一个先序遍历一棵“状态树”的过程,只是这棵树不是遍历前预先建立的,而是隐含在遍历过程中的。 幂集中的每个元素是一个集合,它或是空集,或含集合A中一个元素,或含集合A中两个元素…… 或等于集合A。反之,从集合A 的每个元素来看,它只有两种状态:它或属... 阅读全文
posted @ 2015-05-13 23:17 胡韬 阅读(4163) 评论(0) 推荐(0) 编辑
摘要: 最优二叉树:带权路径长度最小的二叉树称为哈弗曼树,也称为最优二叉。 哈弗曼树本身有N个节点,将这N个节点,从这N个节点选取2个最小的,合并成一个新节点。这时有N-1个节点,再将这N -1个节点重复处理最终合并成一个节点。此时得到的树就是最优二叉树。 #include #include using namespace std; #define max 1000 int c... 阅读全文
posted @ 2015-05-13 08:12 胡韬 阅读(186) 评论(0) 推荐(0) 编辑
摘要: 二叉排序树(简称BST),也称为二叉查找树。二叉排序树或者为一颗空树,或者为一颗具有下列特性的飞空二叉树: 1.若左子树非空,则左子树上所有节点的关键字均小于根节点的关键字值。 2.若右子树非空,则右子树上所有节点的关键字均小于根节点的关键字值。 3.左右子树本身也是一颗二叉排序树。 /********************二叉排序树************************... 阅读全文
posted @ 2015-05-13 08:12 胡韬 阅读(136) 评论(0) 推荐(0) 编辑