算法实验(整理)

人工智能实验代码整理 人工智能实验代码整理 文章目录人工智能实验代码整理状态空间表示——猴子摘香蕉极大极小剪枝——五子棋 状态空间表示——猴子摘香蕉 # -*- coding: utf-8 -*- # State类,记录当前状态 class State: def __init__(self, monkey=-1, box=0,banana=1, monbox=-1): self.monkey = monkey # -1:Monkey at A 0: Monkey at B 1:Monkey at 阅读详情

1.全排列

public class AllSort{   
    public static void main(String[] args) {   
        char buf[]={'a','b','c','d'};   
  
        perm(buf,0,buf.length-1);   
    }   
    public static void perm(char[] buf,int start,int end){   
        if(start==end){//当只要求对数组中一个字母进行全排列时,只要就按该数组输出即可    
            for(int i=0;i<=end;i++){   
                System.out.print(buf[i]);   
            }   
            System.out.println();      
        }   
        else{//多个字母全排列    
            for(int i=start;i<=end;i++){   
                char temp=buf[start];//交换数组第一个元素与后续的元素    
                buf[start]=buf[i];   
                buf[i]=temp;   
                   
                perm(buf,start+1,end);//后续元素递归全排列    
                   
                temp=buf[start];//将交换后的数组还原    保存每次循环堆栈信息 来还原数组原来顺序,相当于又换回来
                buf[start]=buf[i];   
                buf[i]=temp;   
            }   
        }   
    }   
}  
2.装载问题 问题描述与实验目的 有n个集装箱要装上2艘载重量分别为c1和c2的轮船,其中第i个集装箱的重量为wi,要求确定是否有一个合理的装载方案可将这个集装箱装上这2艘轮船。如果有,找出一种装载方案。 注意,在满足 的条件下才可能将这个集装箱装上这2艘轮船。

import java.util.Arrays;
public class bag2 {
 private  int num;//集装箱数
 private  int []w;//集装箱重量数组
 private  int c1;//第一艘轮船的载重量
 private  int c2;//第2艘轮船的载重量
 private  int cw;//当前载重量
 public static int bestw;//当前最优载重量
 public  int r;//剩余集装箱重量
 private  int []x;//当前解
 public  static int []bestx;//当前最优解
 public bag2(int num, int[] w, int c1, int c2,int bestw,int r,int []bestx,int []x) {
		this.num = num;
		this.w = w;
		this.c1 = c1;
		this.c2 = c2;
		this.bestw=0;
		this.r=0;
		this.bestx=bestx;
		this.x=x;
	}
 public  int maxLoading(){
   for(int i=1;i<=num;i++)
      r+=w[i];
  backtrack(1);
  return this.bestw;
 }
 public void backtrack(int i){
  if(i>num){
     if(cw>this.bestw){ 
           for(int j=1;j<=num;j++){
           bestx[j]=x[j];
           bestw=cw;
           }
   }
     return;
  }
  r-=w[i];
  if(cw+w[i]<=c1){//搜索左子树
   x[i]=1;
   cw+=w[i];
   backtrack(i+1);
   cw-=w[i];
  }
 if(cw+r>bestw){
  x[i]=0; 
  backtrack(i+1);
 }
 r+=w[i];
 
 }
 void  SolveLoading()
 {
	 int totalW = 0;
	 int i=1;
	 int c1W = 0;  /* 第一艘船总载重 */
	 for ( i = 1; i <= num ; i++ ) {
		 if (bestx[i] == 1 ) {
			 c1W += w[i];
		 } 
		 totalW += w[i];
	 }
	 if ( totalW-c1W > c2 ) {
		 System.out.println("没有合理的装载方案!");
		 return;
	 }
	 System.out.println("装载方案如下:");
	 System.out.println(" 第一艘船装 ");
	 for (i = 1; i <= num ; i++ ) {
		 if ( bestx[i] == 1 ) {
			System.out.print(i+" ");
		 } 
	 }
	 System.out.println("总载重"+c1W);
     System.out.println("第二艘船装 ");
	 for ( i = 1; i <= num ; i++ ) {
		 if (x[i]==0 ) {
			 System.out.print(i+" ");
		 } 
	 }
	 System.out.println("总载重 "+(totalW-c1W));
}

 public static void main(String[] args) {
	int []w={0,20,15,30,20};//w[0]不用
	int []bestx=new int[w.length];
	int []x=new int [w.length];
	bag2 bag= new bag2(4,w,55,35,0,0,bestx,x);
	for (int i = 1; i < x.length; i++) {
		System.out.print(w[i]+" ");
	}
    System.out.println();
    bag.maxLoading();
   // System.out.println(Arrays.toString(bestx));  
    bag.SolveLoading();
 }

}

操作系统实验六个(含实验报告和源代码)+期末知识点整理 1.实验一 先来先服务FCFS和短作业优先SJF进程调度算法 下载地址:http://download.youkuaiyun.com/download/xunciy/10237052 FCFS SJF 2.实验二 时间片轮转RR进程调度算法 下载地址:http://download.youkuaiyun.com/download/xunciy/10237055 时间片q=1 时间片q=4 阅读详情

相关推荐

《算法分析与设计》笔记整理

(1)全排列问题 问题:打印出给定的n个字符的全排列。 思想:递归,将问题转化为前缀+n-1个字符的全排列 Notations: list[]:一定顺序的n个字符字符串 k:当前前缀设置位置k号 m:字符总数量 void Perm(list[],int k,int m) { if(k ==m) { for(int i=0;i<m;i++) cout<<list[i]<<' '; cout<<endl; } for(int i=k;i<

LongXinKou的博客 1989

算法设计与分析实验---动态规划

要知道0.7可用的病人,就要找浓度比0.7小的0.6可用的病人...即找到最后一种浓度0.4能用的病人只能为1后,在向上找0.8...等所能用的病人数。其中d[i][j]表示把第i到j堆合并成一堆的最小代价,sum*[i->j]表示第i到第j堆的石子数量之和。医院里有一种药剂,其可以稀释成不同的浓度供病人使用,并且对于已知浓度的该药剂,使用时。时,有两种操作,要么删除一个串的字符,要么添加一个串的字符,都记为一次操作,堆合并成新的一堆,并将新的一堆的石子数,记为该次合并的得分。

YY不吃烤鸭的博客 3445

算法设计与分析 实验1 算法性能分析

深圳大学算法满分实验

m0_74175922的博客 2051

算法实验报告1

排序问题要求我们按照升序排列给定列表中的数据项,目前为止,已有多种排序算法提出。本实验要求掌握选择排序、冒泡排序、合并排序、快速排序、插入排序算法原理,并进行代码实现。通过对大量样本的测试结果,统计不同排序算法的时间效率与输入规模的关系,通过经验分析方法,展示不同排序算法的时间复杂度,并与理论分析的基本运算次数做比较,验证理论分析结论的正确性。

m0_51531927的博客 1663

算法实验答案

用C/C++编写的,题目是王晓东书里的

算法实验报告 勇闯十二宫

女神雅典娜的转世---沙织率领一班青铜圣斗士来到希腊圣域与教皇决战,可是不幸被黄金之箭射中,一定要在十二小时内突破十二宫并找出教皇才能救回沙织一命。于是青铜圣斗士星矢决定冒死突破十二宫。 守卫十二宫的黄金圣斗士能在强大的星矢面前坚持的时间是不同的,星矢想让所有黄金圣斗士平均等待的时间最短,请问黄金圣斗士的最短平均等待时间是多少?

算法程序设计实验报告

题目1:设A是n个非0实数构成的数组,设计一个算法重新排列数组中的数,使得负数都排在正数前面,要求用多种算法实现,并保证至少算法中有一种算法使用O(n)的时间和O(1)的空间。 题目2:给定n个不同数的数组S和正整数i,i≤n1/2,求S中最大的i个数,并且按照从大到小的次序输出。用至少3种算法来实现,并分析其时间复杂度。 题目3:求两个序列的最长公共子序列。 题目4:最大子段和问题,用至少三种方法求解,并比较它们的复杂度。

weixin_42418315的博客 2357

算法实验A实验题

算法实验A实验题

算法分析与设计——实验3:贪心算法

1、使用贪心算法解决最小生成树问题。2、使用贪心算法实现找零:当前有面值分别为2角5分,1角,5分,1分的硬币,请给出找n分钱的最佳方案(要求找出的硬币数目最少)3、使用贪心算法解决单源最短路径问题。

阮阮的阮阮的博客 2359

算法实验报告

设X[ 0 : n - 1]和Y[ 0 : n – 1 ]为两个数组,每个数组中含有n个已排好序的数利用分治策略试设计一个O (log n)时间的算法求出这2n个数的中位数。 由文件input.txt提供输入数据。文件的第1行中有1个正整数n(ny[m]) { if(count==1) return y[m]; else return mid(x,y+count-m-1,m+1); } else { if(count==1) return x[m]; else return mid(x+count-m-1,y,m+1); } 长江游艇俱乐部在长江上设置了n个游艇出租站1,2,…,n。游客可在这些游艇出租站租用游艇,并在下游的任何一个游艇出租站归还游艇。游艇出租站i到游艇出租站j之间的租金为r(i,j),1i<jn。试设计一个算法,计算出从游艇出租站1到游艇出租站n所需的最少租金。

算法实验 算法实验 算法实验

菲波那契数、输油管道问题、统计数字问题、最多约数问题

【资料整理】【OpenCV C++】基于背景分割的视频运动目标检测算法调查与实验

背景建模方法的好处是前景目标的提取效果不会受到前景物体运动速度的影响,但是对于光照变化的场景会存在误差,但是依然能够采用不同的特征和模型来处理复杂场景,是运动目标检测中的主流方法。 本文介绍了7种背景-前景分割方法,并进行实验对比分析。

穆友航的博客 521

Rockchip平台之RK3566/3568 OS02N10

文章摘要 本文主要介绍了200W摄像头传感器OS02N10在RK3566平台上的兼容与适配过程。作者基于之前的400W摄像头兼容经验,针对200W摄像头进行了类似的适配工作。文章详细阐述了RK3566芯片的特性和OS02N10传感器的技术参数,包括分辨率、接口和功耗等。适配过程分为三个关键部分:DTS设备树文件配置(定义I2C地址、电源域和GPIO控制等)、驱动文件开发(寄存器初始化和操作)以及XML和JSON配置文件调整(图像参数设置)。作者特别强调了初始化数组中空寄存器终止条件的重要性,并分享了兼容过程

different_xzh的博客 2412

Vijos数据结构基础C++实验整理(二)——排序算法

实验内容: 用任意一种排序方式给出n个整数按升序排序后的结果(名次排序、及时终止的选择排序、及时终止的冒泡排序、插入排序) 样例: 输入 5 5 3 4 2 1 输出 1 2 3 4 5 实现代码: #include<iostream> #include<iterator> using namespace std; template<class T> class Sort { public: void selectionSort(T a[], int n) {//及

SunnySantino的博客 397

芯片缺陷检测全流程:从光学成像到AI自动判别的实战路线

在半导体制造中,良率是衡量产线效率的核心指标,而缺陷检测则是守住良率的关键防线。传统人工显微镜目检已难以应对微米级乃至纳米级缺陷的挑战,工业界正加速转向机器视觉与深度学习相结合的技术方案。其核心原理在于:先通过明场、暗场或DIC等光学成像获取高对比度图像,再借助传统图像处理算法快速提取候选缺陷区域,最后利用CNN等深度学习模型对缺陷进行精准分类与判定。这一技术路线不仅大幅提升检测效率与准确性,还能有效降低漏检和误报,广泛应用于晶圆制造、封装测试等环节。本文从成像选型、算法分工、数据标注到模型部署,系统梳理了

weixin_29053577的博客 265

ROS2实战:手把手教你用walking机器人仿真实现医院多楼层自动配送(含实时地图切换)

本文详细介绍了如何利用ROS2和walking机器人仿真平台实现医院多楼层自动配送系统,重点讲解了动态地图切换技术和多楼层导航的实现方法。通过实时加载地图和优化电梯过渡策略,解决了医院复杂环境下的自主配送难题,为医疗物流自动化提供了实用解决方案。

weixin_29090917的博客 364

实验性质第一篇

纯个人纪录

shadow 479

从零构建边缘AI数据管道:K230+ESP8266的物联网实践指南

本文详细介绍了如何利用K230开发板和ESP8266模块构建高可靠性的边缘AI数据管道,特别针对智能农业监测场景。通过完整的系统架构设计、AI模型部署、低功耗通信优化和云端集成方案,为开发者提供了一套可落地的物联网实践指南,重点解决了边缘计算环境下的数据传输稳定性和能效管理问题。

j2k3l4的博客 873

目标识别算法整理

title: 算法整理 date: 2019-09-19 原本在个人博客上写了一些博文,现转移到优快云上 目标识别算法整理 一、adv_imagenet_models 算法名称:经过对抗训练的ImageNet模型 特点: 数据集:如果要运行提供的示例,还需要ImageNet数据集的副本。按照 准备 TF-Slim库中的数据集(https://github.com/tens...

myl_0808的博客 1884

Anthropic发布10款金融AI智能体模板深度解析:重构华尔街工作范式

摘要:2026年5月,Anthropic发布10款金融AI智能体模板,标志着AI从辅助工具升级为"虚拟同事"。这些智能体深度集成到Word、Excel等办公软件中,覆盖投行、商行、资管三大场景的核心工作流,预计可提升效率35-85%。技术架构基于Claude3.5Sonnet模型,具备200K上下文窗口和95%+的财务图表解析准确率,并与彭博等金融数据源直连。发布引发传统金融数据服务商股价下跌,摩根大通等机构则视其为成本优化工具。落地需分四阶段推进,关键在于数据治理和复合型人才培养。未来

yyq916的博客 635

直流无刷BLDC六步换相“电流环”、“速度环”的关系

4、在电流闭环模式下,电机的电流严格按给定电流运行,负载大小变化时,电流不变,电机速度跟随负载非正常变化,例如速度严重“超速”时,需要“限速”保护,这个任务是“速度环”的,这时“速度环”会根据设定的速度上限,控制触发器,将电机速度迅速将下来,电流降下来,在“限速”保护期间,“电流环”失去对触发器的控制作用;3、在电流闭环模式下,电机的电流严格按给定电流运行,负载大小变化时,电流不变,电机速度跟随负载正常变化,“速度环”对速度大小的控制作用是没有的;6、很多人想当然,“电流环”不工作,电机“电流”哪里来的?

u011878611的博客 5471

A. C05.L08.贪心算法入门

为了方便同学们查阅资料,程序设计兴趣小组的辅导老师打算将积攒了很多年的 n 本书放到上课教室的书架上去。教室的书架是一层一层叠起来的,每一层最多可以放 m 本书。每一层的高度由放在这层中最高的那本书决定的,如果不放书,则认为这层的高度为 0。为了使每个同学能方便地拿到想要的书,书架的总高度应尽可能低。请编程计算将这 n 本书放在书架上后书架的最小总高度,计算的过程中不考虑书的厚度与书架本身材料的厚度。共 n+1 行。第 1 行 2 个整数 n 和 m ( 1 ≤ m ≤ n ≤ 100000 )。

chzh324324的博客 2644

SAP 人力资源工资配置项3---工资项配置

工资项设置

xiouluoyang的专栏 1万+

matlab图像融合实验汇总,基于MATLAB的图像融合算法毕业设计[精选整理].doc

基于MATLAB的图像融合算法毕业设计[精选整理]基于MATLAB的图像融合算法毕业设计毕业设计基于MATLAB的图像融合算法摘要图像融合能够将不同类型传感器获取的同一对象的图像数据进行空间配准。并且采用一定的算法将各图像数据所含的信息优势或互补性有机的结合起来产生新的图像数据。这种新数据具有描述所研究对象的较优化的信息表征,同单一信息源相比,能减少或抑制对被感知对象或环境解释中可能存在的多义性、...

weixin_27021789的博客 331

R数据分析:潜在转化分析LTA的做法和解释(一)

之前给大家写了很多潜在类别分析的教程Mplus教程:如何做潜在类别分析LCAR数据分析:用R语言做潜类别分析LCAMplus数据分析:潜在类别分析(LCA)流程(详细版)R数据分析:再写潜在类别分析LCA的做法与解释,今天继续给大家拓展一步。 今天要介绍的就是潜在转换分析,这个东西就是LCA的纵向版本。是一个专门用来研究质变的统计技巧。有一句话叫做量变起质变,你怎么知道质变到底发生没有?就用潜在转换分析。 Latent transition analysis is an extension of...

Codewar的博客 7703

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

上一篇: 操作系统习题(1)
下一篇: Hibernate 4.1.1的第一个例子HelloWorld
macandroid
博客等级 码龄14年 35粉丝 28原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值