
算法
梁丞胤
javaer
展开
-
选择排序算法的java实现
(一)选择排序 通俗的原理:每次遍历整个数组,找出最小的放在第一位,之后继续找剩下n-1个的最小的,放在第二位,一直这样下去...... public class SelectSort { public static void opFunction(int[] arr){ //先将找出n个元素中最小的放在第一...原创 2012-04-30 23:41:06 · 78 阅读 · 0 评论 -
递推求解
去参加UC的笔试出现了一道题目,没有做出来,郁闷就跟朋友聊聊,没想到最后还是跑回到算法那里去~~~+_+ 问题:10个平面最多可以将空间分割几部分 解法一:递推思想 设用n个平面去切割空间的时候是f(n)块。 首先,理解一下,当变为二维的时候,也就是一个平面被N条边最多可以分为几部分:p(n)=1/2[n*(n+1)]+1,这个比较好理解,原理:第N条边可以将p(n)中的n-...原创 2012-05-04 21:30:46 · 111 阅读 · 0 评论 -
常见排序算法
按照稳定性分类: 选择排序、快速排序、希尔排序、堆排序不是稳定的排序算法, 冒泡排序、插入排序、归并排序和基数排序是稳定的排序算法。 稳定性:假定在待排序的记录序列中,存在多个具有相同的关键字的记录,若经过排序,这些记录的相对次序保持不变,即在原序列中,ri=rj,且ri在rj之前,而在排序后的序列中,ri仍在rj之前,则称这种排序算法是稳定的;否则称为不稳定的。 时间复杂度: ...原创 2012-05-27 14:14:22 · 88 阅读 · 0 评论