选择排序(假设递增排序) 每次选取从当前结点到末尾结点中最小的一个与当前结点交换,每一轮固定一个元素位置. 时间复杂度O(n^2),空间复杂度O(1).下面的示例代码以带头结点的链表为存储结构: #include<stdio.h> #include<stdlib.h> #define Elemtype double struct Node { Elemtype data; struct Node *next; }; void listsort(Node*h) { Node*p=h-…
Snowflake Snow Snowflakes Time Limit: 4000MS Memory Limit: 65536K Total Submissions: 34762 Accepted: 9126 Description You may have heard that no two snowflakes are alike. Your task is to write a program to determine whether this is really true. Your…
DP 对于第i个状态(房子),有两种选择:偷(rob).不偷(not rob) 递推公式为: f(i)=max⎧⎩⎨⎪⎪{f(i−1)+vali,f(i−2)+vali,robi−1==0robi−1==1f(i−1),robnot rob f(i)为动态规划表(DP表)(状态i下的最优解) val为每间房子里的钱(val表) rob为记录是否已经偷过,0表示没偷过,1表示偷了(is_robbed表). 有了递推公式代码就很好写了 class Solution: # @param {intege…
1.算法简介 1.1筛法起源 筛法是一种简单检定素数的算法.据说是古希腊的埃拉托斯特尼(Eratosthenes,约公元前274-194年)发明的,又称埃拉托斯特尼筛法(sieve of Eratosthenes). 1.2筛法过程 具体做法是:给出要筛数值的范围 n,找出 n√以内的素数p1,p2,p3,--,pk.从最小素数2去筛,即把2留下,把2的倍数剔除掉:再用下一个素数,也就是3筛,把3留下,把3的倍数剔除掉:接下去用下一个素数5筛,把5留下,把5的倍数剔除掉:不断重复下去. 2.实现…
UIView 视图类,视图都是UIView或者UIView子类 UIWindow 窗口类,用于展示视图,视图一定要添加window才能显示 注意:一般来说,一个应用只有一个window 创建一个UIWindow对象 UIScreen 屏幕类 [UIScreen mainScreen]主屏幕 [[UIScreen mainScreen]bounds]获得主屏幕大小 如: 1.创建工程 2.把ARC改为MRC 3.window的属性由string改为retain 4.重写dealloc方法,对_wi…
1.Foundation框架中提供了很多的集合类如:NSArray,NSMutableArray,NSSet,NSMutableSet,NSDictionary,NSMutableDictionary但是这些类只能存放OC对象类型的数据 2.如果要存放基本数据类型,必须先将基本暑假类型包装成对象类型然后再用集合类进行存储,OC中提供的包装类是NSNumber,NSValue.其中NSNumber继承于NSValue. 3.NSNumber主要针对于基本数据类型的包装,NSValue主要针对结构体…
hadooop提供了一个设置map个数的参数mapred.map.tasks,我们可以通过这个参数来控制map的个数.但是通过这种方式设置map的个数,并不是每次都有效的.原因是mapred.map.tasks只是一个hadoop的参考数值,最终map的个数,还取决于其他的因素.      为了方便介绍,先来看几个名词: block_size : hdfs的文件块大小,默认为64M,可以通过参数dfs.block.size设置 total_size : 输入文件整体的大小 input_file_…
介绍性内容来自:http://www.uml.org.cn/sjjm/201305171.asp 一.Ganglia简介 Ganglia 是 UC Berkeley 发起的一个开源监视项目,设计用于测量数以千计的节点.每台计算机都运行一个收集和发送度量数据(如处理器速度.内存使用量等)的名为 gmond 的守护进程.它将从操作系统和指定主机中收集.接收所有度量数据的主机可以显示这些数据并且可以将这些数据的精简表单传递到层次结构中.正因为有这种层次结构模式,才使得 Ganglia 可以实现良好的扩…
一.决策树 决策树是用于分类和预测的主要技术之一,决策树学习是以实例为基础的归纳学习算法,它着眼于从一组无次序.无规则的实例中 推理出以决策树表示的分类规则.构造决策树的目的是找出属性和类别间的关系,用它来预测将来未知类别的记录的类别.它采用自顶向下的递归方式,在决策树的 内部节点进行属性的比较,并根据不同属性值判断从该节点向下的分支,在决策树的叶节点得到结论. 主要的决策树算法有ID3.C4.5(C5.0).CART.PUBLIC.SLIQ和SPRINT算法等.它们在选择测试属性采用的技术.生…
排序算法可以分为内部排序和外部排序,内部排序是数据记录在内存中进行排序,而外部排序是因排序的数据很大,一次不能容纳全部的排序记录,在排序过程中需要访问外存. 常见的内部排序算法有:插入排序.希尔排序.选择排序.冒泡排序.归并排序.快速排序.堆排序.基数排序等. 本文将依次介绍上述八大排序算法. 算法一:插入排序 插入排序示意图 插入排序是一种最简单直观的排序算法,它的工作原理是通过构建有序序列,对于未排序数据,在已排序序列中从后向前扫描,找到相应位置并插入. 算法步骤: 1)将第一待排序序列第一…