算法第1次实验作业

public class Queen {
	// 同栏是否有皇后,1表示有
	private int[] column;
	// 右上至左下是否有皇后
	private int[] rup;
	// 左上至右下是否有皇后
	private int[] lup;
	// 解答 private
	int[] queen;
	// 解答编号
	private int num;

	public Queen() {
		column = new int[8 + 1];
		rup = new int[2 * 8 + 1];
		lup = new int[2 * 8 + 1];
		for (int i = 1; i <= 8; i++)
			column[i] = 1;
		for (int i = 1; i <= 2 * 8; i++)
			rup[i] = lup[i] = 1;
		queen = new int[8 + 1];
	}

	public void backtrack(int i) {
		if (i > 8) {
			showAnswer();
		} else {
			for (int j = 1; j <= 8; j++) {
				if (column[j] == 1 && rup[i + j] == 1 && lup[i - j + 8] == 1) {
					queen[i] = j;
					// 设定为占用
					column[j] = rup[i + j] = lup[i - j + 8] = 0;
					backtrack(i + 1);
					column[j] = rup[i + j] = lup[i - j + 8] = 1;
				}
			}
		}
	}

	protected void showAnswer() {
		num++;
		System.out.println("\n解答 " + num);
		for (int y = 1; y <= 8; y++) {
			for (int x = 1; x <= 8; x++) {
				if (queen[y] == x) {
					System.out.print(" Q");
				} else {
					System.out.print(" x");
				}
			}
			System.out.println();
		}
	}

	public static void main(String[] args) {
		Queen queen = new Queen();
		queen.backtrack(1);
	}
}


 


解答 1
 Q x x x x x x x
 x x x x Q x x x
 x x x x x x x Q
 x x x x x Q x x
 x x Q x x x x x
 x x x x x x Q x
 x Q x x x x x x
 x x x Q x x x x

解答 2
 Q x x x x x x x
 x x x x x Q x x
 x x x x x x x Q
 x x Q x x x x x
 x x x x x x Q x
 x x x Q x x x x
 x Q x x x x x x
 x x x x Q x x x

解答 3
 Q x x x x x x x
 x x x x x x Q x
 x x x Q x x x x
 x x x x x Q x x
 x x x x x x x Q
 x Q x x x x x x
 x x x x Q x x x
 x x Q x x x x x


为了实现因材施教的目标,现教务处计划对学生进行摸底并分类,假如使用K均值聚类算法,并且认为学生大概可以分为四类,分别为“积极主动型”、“学霸型”、“游戏人生型”、“迷茫无目标型”。现在你是该项目的负责人,(1)请设计一个较为完整的项目实施方案;(2)你是否认可对学生进行分类?(3)按照你给定的实施方案与需要测量的要素(如天学习时间),请尝试按照自身情况对其进行回答,以及对自身的评价与定位和努力目标。

分析思路:因为我们是采用k均值聚类算法,下面就是该算法的步骤,那么我们就应该根据步骤来开展和实施。

K-means聚类算法的一般步骤:

  1. 初始化。输入基因表达矩阵作为对象集X,输入指定聚类类数N,并在X中随机选取N个对象作为初始聚类中心。设定迭代中止条件,比如最大循环次数或者聚类中心收敛误差容限。
  2. 进行迭代。根据相似度准则将数据对象分配到最接近的聚类中心,从而形成一类。初始化隶属度矩阵。
  3. 更新聚类中心。然后以每一类的平均向量作为新的聚类中心,重新分配数据对象。
  4. 反复执行第二步和第三步直至满足中止条件。

 

 (1)具体的实施方案:1、准备工作:在我们确定开展这项活动后,首先我们要进行对象的选取形成对象集X,这里我们的对象就是学校的学生,然后我们要进行指定聚类类数N,这个就是我们将学生分成哪几种类型,以及类型的总数。之后,我们就可以从x随机抽取N个对象(学生)作为聚类的中心,设定相应的迭代中止条件。

2、进行迭代,我们开始对我们的对象进行大量的实际调查,得到相应的数据,然后根据相似度准则将数据对象分配到最接近聚类中心,从而形成一类,初始化隶属度矩阵。实际上这个做的就是将收集后的数据通过迭代的方式进行分类,达到我们对几种不同学生数据的分类。

3、更新聚类中心,然后以每一类的平均量作为新的聚类中心,重新分配数据对象。这个的好处就是通过调查统计过程中的实时数据来不断的更新我们的实施方案,可以减少统计的出错率。

4、反复进行第二第三步,达到中止条件为止。也就是我们在开展调查时,数量达到一定量(预估足够完成我们的统计工作,事先设立的,我们就可以停止调查工作。)

具体的实施过程中,我们可以调查同学的“天学习时间、天游戏时间、上课时间、去图书馆时间、参加社团活动时间、看课外书时间…………

有了上面的这种思路,我们开展这个调查的方式可以通过的方式有:网上问卷调查,实地跟踪问卷调查。为了达到每个人参与的效果我们可以把这个加到教务系统的教学评估模块,对大家进行评判。为了能够正确的理解和正确的态度来完成这个调查,前期一定要做好相关的宣传工作,否则收取不到可靠的数据资料,我们的调查将会大打折扣。

(2)如果这个分类只是作为一个调查,然后根据调查来开展教学活动的话是可以的,这对学生进行分类,并不是对学生进行369等的来进行分类和对待。但是我们也应该要有较多的注意事项,比如匿名工作,保护学生的隐私。如果将来开展活动,老师等人要抱着一种同等对待学生的眼光。因此,我们不能大肆的贴上学生类型到个人标签上,这样不利学生的发展。

(3)自身的评价:

天学习时间

1、上课时间:3小时

2、课外完成作业时间:1小时

3、去图书馆看书:2小时



娱乐时间

1、体育运动:1小时

2、看新闻、电视剧、电影:1小时

3、 玩电脑:1小时

学生工作时间

1、班级、社团学生会:1小时


生活起居时间

1、起床:0.5小时

2、吃饭:1小时

……

 自我评价:总的来说,我是一个较为乐观的人,爱学习也爱娱乐,大一的时候比较有积极性,参加各种社团还有部门,在体育部也不长不短做了三年,当了一个副部长,也在班级担任过文体委员。感觉大学给我的感觉是锻炼各项能力,我觉得专业知识和书本知识固然重要,但是也要注重其他方面能力的提高,德育体美劳健全才是真正的人才,所以我也主张劳逸结合,多看书也多去外面活动活动,锻炼自己的社交能力,时间方面自己弄一个计划表便能有效提高自己的效率,可以节省时间。虽然这个做起来很难,但是我相信慢慢去尝试总是能行的。我觉得我是介乎积极主动型和游戏人生型的,我做事蛮主动,喜欢捉住机会表现自己,也爱玩。觉得玩可以让自己愉快起来,做什么事情都会有动力有激情,但是也要平衡那个度,希望以后能学习到更多方面的东西,提高自己。

 




  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
4S店客户管理小程序-毕业设计,基于微信小程序+SSM+MySql开发,源码+数据库+论文答辩+毕业论文+视频演示 社会的发展和科学技术的进步,互联网技术越来越受欢迎。手机也逐渐受到广大人民群众的喜爱,也逐渐进入了每个用户的使用。手机具有便利性,速度快,效率高,成本低等优点。 因此,构建符合自己要求的操作系统是非常有意义的。 本文从管理员、用户的功能要求出发,4S店客户管理系统中的功能模块主要是实现管理员服务端;首页、个人中心、用户管理、门店管理、车展管理、汽车品牌管理、新闻头条管理、预约试驾管理、我的收藏管理、系统管理,用户客户端:首页、车展、新闻头条、我的。门店客户端:首页、车展、新闻头条、我的经过认真细致的研究,精心准备和规划,最后测试成功,系统可以正常使用。分析功能调整与4S店客户管理系统实现的实际需求相结合,讨论了微信开发者技术与后台结合java语言和MySQL数据库开发4S店客户管理系统的使用。 关键字:4S店客户管理系统小程序 微信开发者 Java技术 MySQL数据库 软件的功能: 1、开发实现4S店客户管理系统的整个系统程序; 2、管理员服务端;首页、个人中心、用户管理、门店管理、车展管理、汽车品牌管理、新闻头条管理、预约试驾管理、我的收藏管理、系统管理等。 3、用户客户端:首页、车展、新闻头条、我的 4、门店客户端:首页、车展、新闻头条、我的等相应操作; 5、基础数据管理:实现系统基本信息的添加、修改及删除等操作,并且根据需求进行交流信息的查看及回复相应操作。
现代经济快节奏发展以及不断完善升级的信息化技术,让传统数据信息的管理升级为软件存储,归纳,集中处理数据信息的管理方式。本微信小程序医院挂号预约系统就是在这样的大环境下诞生,其可以帮助管理者在短时间内处理完毕庞大的数据信息,使用这种软件工具可以帮助管理人员提高事务处理效率,达到事半功倍的效果。此微信小程序医院挂号预约系统利用当下成熟完善的SSM框架,使用跨平台的可开发大型商业网站的Java语言,以及最受欢迎的RDBMS应用软件之一的MySQL数据库进行程序开发。微信小程序医院挂号预约系统有管理员,用户两个角色。管理员功能有个人中心,用户管理,医生信息管理,医院信息管理,科室信息管理,预约信息管理,预约取消管理,留言板,系统管理。微信小程序用户可以注册登录,查看医院信息,查看医生信息,查看公告资讯,在科室信息里面进行预约,也可以取消预约。微信小程序医院挂号预约系统的开发根据操作人员需要设计的界面简洁美观,在功能模块布局上跟同类型网站保持一致,程序在实现基本要求功能时,也为数据信息面临的安全问题提供了一些实用的解决方案。可以说该程序在帮助管理者高效率地处理工作事务的同时,也实现了数据信息的整体化,规范化与自动化。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值