交换左右子树的递归算法,

  交换左右子树的递归算法,

  1) 最小的权值的几个( 1, 2, 3, 4)

  2) 假设当前(甲,乙,丙,丁),如果我们能确定权值和刚好大过它的组合,不难找到所有组合按权值和排序

  数据结构

  需要两个结构选择和保留,选择是已经选择的子集合,遗体是要考虑的数

  他们是列表并需要排序,先开始元素放置如下

  算法

  1) 用残余中最小的元素到选择中找到刚好它能大过的元素

  2) 如果找到,交换这两个元素

  3) 如果不能找到,从残余中删除此元素,取下一个元素继续找(就是到1) )

  -能找到的情况

  选择

  包com。PNP。findnextnumber

  导入Java。util。ArrayList

  导入Java。util。收藏;

  公共类NextWeighSum

  ArrayList Integer remains=new ArrayList Integer

  数组列表整数选择=新数组列表整数

  int TOTAL _ COUNT=10

  int SELECT _ COUNT=4;

  void init() {

  for(int I=0;一.总数我)

  遗体。添加(I 1);

  收藏。分类(遗体);

  for(int I=0;我选择_计数;我)

  选择。添加(剩余部分。删除(0));

  }

  /*

  *选择给定子集,需要返回权重和刚好大于当前子集的下一个子集

  */

  布尔选择下一个(){

  while( remains.size() 0) {

  int cur=剩余。get(0);

  int pos=集合。二分搜索法(选择,当前);

  if (pos 0) //binarySearch (-(插入点)- 1)

  pos=(-pos)-1;

  否则{

  System.err.print(不允许相等元素);

  系统。退出(-1);//不允许相等的元素

  }

  如果(pos==0 ) {//这意味着当前元素小于任何在选择,我们就不需要考虑这个元素

  删除(0);

  继续;

  }

  否则{

  int insert _ pos=pos-1;

  remains.set(0,选择。get(insert _ pos));

  选择。set(insert _ pos,cur);

  系统。出去。print( an select-);

  打印(选择);

  返回真实的

  }

  }

  返回错误的

  }

  void selectAll() {

  while (selectNext())

  ;

  }

  静态空的打印(数组列表整数列表){

  int sum=0;

  for(int I=0;我列出。size();i ) {

  总和=列表。get(I);

  系统。出去。打印(列表。get(I));

  }

  系统。出去。println( sum: sum );

  }

  公共静态void main(String[] args) {

  NextWeighSum m=new NextWeighSum();

  m。init();

  m。select all();

  }

  }

  这个算法打算在货郎问题 中使用,货郎问题是选择权值和最小的边集合,试探是否其构成路径。构成则问题解决,否则试探下一个。

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

相关文章阅读

  • c语言递归法求汉诺塔,汉诺塔递归算法c++语言
  • c语言递归法求汉诺塔,汉诺塔递归算法c++语言,C语言超详细讲解递归算法汉诺塔
  • javan的阶乘的递归算法,递归算法实现阶乘
  • javan的阶乘的递归算法,递归算法实现阶乘,Java算法之递归算法计算阶乘
  • 用递归法求汉诺塔问题Python,汉诺塔递归算法编程
  • 递归算法经典实例,递归算法一般利用什么实现
  • 深度优先搜索的递归算法,设计一个程序实现深度优先搜索(使用递归算法)
  • 汉诺塔问题递归算法实现过程,使用递归方法实现汉诺塔问题的求解编程
  • Python二分查找算法,二分查找非递归算法
  • 迭代算法与递归算法,简述迭代和递归的区别
  • python递归函数例子,Python递归算法经典实例
  • 递归算法和经典递归例子,递归函数python例子
  • python中递归程序,所有递归程序都可以用非递归算法实现
  • 最简单的递归算法c语言举例,递归算法经典实例c语言
  • 递归算法复杂度分析步骤,递归算法的时间复杂度和空间复杂度
  • 留言与评论(共有 条评论)
       
    验证码: