(Java实现) 活动选择】的更多相关文章

活动选择的类似问题都可以这么写 import java.util.ArrayList; public class huodongxuanze { /** * //算法导论中活动选择问题动态规划求解 * @param s 活动的开始时间 * @param f 活动的结束时间 * @param n 活动数目 * @return 最大兼容的活动个数 */ public static int maxCompatiableActivity(int[] s, int[] f, int n){ int[][]…
 题目 活动选择问题 解决代码及点评 // 活动选择问题.cpp : 定义控制台应用程序的入口点. // #include<iostream> #define N 100 using namespace std; struct Activity { int number; //活动编号 int begin; //活动开始时间 int end; //活动结束时间 bool flag; //此活动是否被选择 }; //对于活动集,按照结束时间递增排序,使用快速排序 void fast_sor…
java 弹出选择目录框(选择文件夹),获取选择的文件夹路径 java 弹出选择目录框(选择文件夹),获取选择的文件夹路径:int result = 0;File file = null;String path = null;JFileChooser fileChooser = new JFileChooser();FileSystemView fsv = FileSystemView.getFileSystemView(); //注意了,这里重要的一句System.out.println(fs…
C#.C++.Java.Python 选择哪个好? 2019年03月06日 16:54:34 编程小火车 阅读数:214   首先排除Python,光动态语言一个理由,就已经万劫不复了.无论有多少所谓优势,在这一个缺点面前,都显得微不足道. 动态语言是为了七八十年代的古董计算机而设计的,那个年代的电脑操作系统还不到1MB,比如MS-Dos,Unix,Amiga等,所以绝大多数动态语言都是古董语言.Python在其中算是相对“年轻”的,但也是30年前的技术了. 除了Lua,Julia等极少数90后…
算法目前存在问题,待解决.. 活动选择问题是一类任务调度的问题,目标是选出一个最大的互相兼容的活动集合.例如:学校教室的安排问题,几个班级需要在同一天使用同一间教室,但其中一些班级的使用时间产生冲突,一些班级的时间是兼容的,我们需要找出最大的相互兼容的这样一个集合.实际上,运用‘贪心’的思想,可以准确又效率的找出这样一个集合,但为了练习一下动态规划,这篇使用了dp的做法. 活动时间表: i 0 1 2 3 4 5 6 7 8 9 10 11 si 1 3 0 5 3 5 6 8 8 2 12 1…
前言 : 今天学习的是J2SE视频里的第五章,数组部分,它里面留了一个经典的作业,就是让我们去从1倒9按一定规格排序,这让我想起了学习vb的时候最最让我头疼的两种排序方法,选择排序法 和 冒泡排序法.而且由于害怕他们,也不敢总结,怕出错.我们在学习C语言的时候,老师也不知过这个作业,不过比较可惜,当时我是背的老师的例子,没有真正理解.今天,正好让我又遇见了他们兄弟俩,所谓是"仇人见面,分外眼红",我们这种不打不相识的友谊,从今天就开始有了. 今天,正好有这个机会,我就用java基础来写…
package select; import java.util.Scanner; /*采用最简单的选择方式:从头到尾扫描序列找出最小的记录和第一个记录交换,接着在剩下的记录中继续这种选择和交换,最终使序列有序 * 时间复杂度:O(n^2) * 此算法的额外空间只有一个temp,因此空间复杂度为O(1)*/ public class jiandanselectSort { public static void main(String[] args){ Scanner cin = new Scan…
摘要:直接选择排序属于选择排序的一种,但是它的排序算法比冒泡排序的速度要快一些,由于它的算法比较简单,所以也比较适合初学者学习掌握. 适宜人群:有一定Java SE基础,明白Java的数据类型,数组的定义.初始化以及常用数组的方法,还有Java的循环操作. 前期准备:最好有一个开发工具比如说:eclipse或者myeclipse都可以,当然你使用DOS系统进行编译运行都可以,只不过改bug会麻烦一点. 排序原理:直接选择排序的原理是将指定排序位置与其他数组元分别对比,如果满足条件就交换位置的值,…
整理下面的文章是因为个人觉得写的很好,关于java的客户端了解也并不是太多.看了下面的文章觉得很有必要贴出来,方便自己以后了解java客户端编程. Java软件设计师和管理人员经常会面临这样的难题:在开发应用软件的客户端时,应该在Swing.HTML.XML三种技术中选择谁.在这篇文章中,我将把自己在这三种技术方面的经验与广大读者共享,并对在Java应用软件开发中选择哪一种技术提出一些标准和技巧.在文章的最后,还会介绍一种整合Java Swing和HTML的新方法. 与现有的技术相比,Java有…
我们在使用集合时应该使用哪个集合呢? 具体还是要看需求, 当然, Java中不只是有这几个, 还有一些没有给出, 具体情况具体分析吧, 仅给出一个小思路. 进行集合的选择:  是否是键值对象形式: 一.是:Map 1.键是否需要排序: (1)是:TreeMap (2)否:HashMap 2.不知道,就使用HashMap. 二.否:Collection 1.元素是否唯一: (1)是:Set <1>元素是否需要排序: 是:TreeSet 否:HashSet <2>不知道,就使用Hash…
Java排序: 一.冒泡排序算法的运作如下: 比较相邻的元素.如果第一个比第二个大,就交换他们两个. 对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对.在这一点,最后的元素应该会是最大的数. 针对所有的元素重复以上的步骤,除了最后一个. 持续每次对越来越少的元素重复上面的步骤,直到没有任何一对数字需要比较 二.选择排序: 选择排序是从冒泡排序演化而来的,每一轮比较得出最小的那个值,然后依次和每轮“无序区”中参与比较的第一个值进行交换. 具体代码: package com.study.s…
http://blog.csdn.net/kingzone_2008/article/details/8535287 Java包含两种异常:checked异常和unchecked异常.C#只有unchecked异常.checked和unchecked异常之间的区别是: Checked异常必须被显式地捕获或者传递,如Basic try-catch-finally Exception Handling一文中所说.而unchecked异常则可以不必捕获或抛出. Checked异常继承java.lang…
选择结构 public class Demo01Change { public static void main(String[] args) { /** * 实现等量的转换 */ int a = 50; // 可乐 int b = 100; // 雪碧 // 创建空杯子 int temp; // 01.把a的值给temp 把可乐转进了空杯子 temp = a; // 02.把b的值给a a = b; // 03.把temp的值给b b = temp; System.out.println("a…
选择排序算法在每一步中选取最小值来重新排序,通过选择和交换来实现排序. 具体流程如下: 1.首先从原数组中选择最小的1个数据,将其置于第一个位置. 2.然后从剩下的数据中再选择其中最小的一个数据,并将其置于原数组的第二个位置. 3.不断重复选择和交换的过程,直至最后排序完成. 假如有初始数据:25  11  45  26  12  78. 1.第一轮排序,从原数组中选择出最小的数据,并将其置于第一个位置.第一轮排序后,顺序为:[11, 25, 45, 26, 12, 78]. 2.第二轮排序,从…
http://3y.uu456.com/bp_8tzmk3zobb7k6x46aj28_1.html 有时一个Java程序有许多变量,但你仅对其中一个或几个感兴趣,为了监视选择的变量和表达式,你可以将它们添加到表达式视图中的监视列表中, 例如,选择一个变量i(在编辑器中双击它),点击右键,从弹出的右键菜单中选择监视,这个变量(及其值)就会显示在表达式视图中.…
java程序编写,在eclipse中会自动编译,编译的版本在preferrence-->java-->compiler选择具体版本,这时你写程序时自动编译用的jdk就是这个版本的jdk,这是编译环境,编译默认是自动编译,你按ctrl+s时就会编译代码,编译后如果你run as,那么这时就会交给jvm进行运行,就是运行环境,如果这时运行环境和编译环境版本不一致,那么是运行不了的,会报clas版本加载错误,这时就得检查eclipse中配置的运行时环境preferrence-->java--&…
一.选择结构语句 选择结构:也被称为分支结构.选择结构有特定的语法规则,代码要执行具体的逻辑运算进行判断,逻辑运算的结果有两个,所以产生选择,按照不同的选择执行不同的代码. Java语言提供了两种选择结构语句:if语句和switch语句 1.if语句 if语句有三种语法格式. (1).if语句第一种语法格式(适合一种判断) if(条件表达式){ 语句体; } 执行流程:判断条件表达式的结果,当为为true时,{}中的执行语句体才会执行,否则不执行语句体. 注意: 条件表达式的结果必须是布尔类型:…
/** * 1.数组sort()排序 * 2.直接选择排序(两重for循环排序) */ import java.lang.*; import java.lang.reflect.Array; import java.util.*; import static java.lang.StrictMath.*; public class Demo1 { public static void main(String args[]){ int[] arr = {1,4,612,333,-8,2,-12,4…
1.if选择结构 if选择结构是根据条件判断之后再做处理的一种语法结构 语法: if(条件){ 代码块 //条件成立之后要执行的代码,可以是一条语句,也可以是一组语句 } if后小括号里的条件是一个表达式,而且表达式的值必须为ture 或 false. 1.1使用基本的if选择结构 import java.util.Scanner; public void GetPrize{ Scanner input = new Scanner(System.in); System.out.print("请输…
选择排序 package com.kangkang.array; import java.util.Arrays; public class demo04 { public static void main(String[] args) { // 选择排序 int[] arrr = {54,67,36,87,14,0,1,2,3}; //让第一数一直跟后面的数比较,一直比较到最后一个 for (int i = 0; i < arrr.length-1; i++) { for (int j = 1…
选择结构(二) 学习本章会用到的单词: case:实例,情形,情况 switch:转换,切换,开关 default:系统默认值,违约,预设.缺省 exit:出口,通道,退出 consume:消耗,耗费, exception:例外,除外,异议 switch选择结构 语法:switch(表达式){ case 常量 1: //代码块1:   break:  case 常量 2: //代码块2: break:    ......  default: //代码块n: break: } switch结构中四…
import java.util.Arrays; //================================================= // File Name : Select_Sort //------------------------------------------------------------------------------ // Author : Common //类名:Arrays_Select //属性: //方法: class Arrays_Se…
package demo; import java.util.Hashtable; import javax.naming.Context; import javax.naming.NamingEnumeration; import javax.naming.NamingException; import javax.naming.directory.Attribute; import javax.naming.directory.Attributes; import javax.naming.…
import java.util.*; import java.io.*; import javax.swing.JFileChooser; public class ReadFileUsingJFileChooser { /** * @param args * @throws Exception */ public static void main(String[] args) throws Exception { // TODO Auto-generated method stub JFil…
Java的Class类提供了很多的getDeclaredxxx方法和getxxx方法,例如getDeclaredmethod和getMethod成对出现,getDeclaredConstructors和getConstructors也是成对出现. 那这两者有什么区别呢? import java.lang.reflect.Method; public class Client { public static void main(String[] args) throws Exception { /…
Java的线程池实现从最根本上来说只有两个:ThreadPoolExecutor类和ScheduledThreadPoolExecutor类,这两个类还是父子关系,但是Java为了简化并行计算,还提供了一个Executors的静态类,它可以直接生成多种不同的线程池执行器,比如单线程执行器,带缓冲功能的执行器等.但归根结底还是使ThreadPoolExecutor类或ScheduledThreadPoolExecutor类的封装类. 为了了解这些个执行器,看ThreadPoolExecutor类,…
在Java1.5之前,实现多线程编程比较麻烦,需要自己启动线程,并关注同步资源,防止线程死锁等问题,在1.5版本之后引入了并行计算框架,大大简化了多线程开发. 我们知道线程有5个状态:新建状态(New),可运行状态(Runnable,也叫做运行状态),阻塞状态(Blocked),等待状态(Waiting),结束状态(Terminated),线程的状态只能由新建状态转变为运行状态后才可能被阻塞或者等待,最终终结. 不可能出现本末倒置的情况,比如想把一个结束状态的线程转变为新建状态,则会出现异常.例…
一,这种方法是直接传入一个数组进行排序(选择排序法) public static void selectSort(int arr[]){ for (int i = 0; i < arr.length-1; i++) { for (int j = i+1; j < arr.length; j++) { if(arr[j]<arr[i]){ int temp=arr[i]; arr[i]=arr[j]; arr[j]=temp; } } } } 二,这种事传入一个数组和一个数组个数(选择排序…
public class SelectionSort { private static void selectSortTest() { int[] sortArray = { 5, 2, 4, 1, 3 }; System.out.print("选择排序前: "); Utils.printArray(sortArray); selectSort(sortArray); System.out.print("选择排序后: "); Utils.printArray(sor…
1.选择排序: //改进后的选择排序,减少交换的次数 public static void sortSelect(int arr[]) { //用于存放最小数的下标 int s; for (int i = 0; i < arr.length; i++) { s = i; for (int j = i + 1; j < arr.length; j++) { if (arr[s] > arr[j]) { //记录最小值的下标值 s = j; } } //如果最小数的下标值改变,则交换 if…