算法数据
草鱼狂飙
这个作者很懒,什么都没留下…
展开
-
排序-插入排序
插入排序插入排序是一种最简单直观的排序算法,它的工作原理是通过构建有序序列,对于未排序数据,在已排序序列中从后向前扫描,找到相应位置并插入。算法步骤: 将第一待排序序列第一个元素看做一个有序序列,把第二个元素到最后一个元素当成是未排序序列。 从头到尾依次扫描未排序序列,将扫描到的每个元素插入有序序列的适当位置。(如果待插入的元素与有序序列中的某个元素相等,则将待插入元素插入到相等元素的后面。) pu原创 2016-07-27 11:27:30 · 291 阅读 · 0 评论 -
排序-冒泡排序
概念冒泡排序(Bubble Sort)也是一种简单直观的排序算法。它重复地走访过要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来。走访数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成。这个算法的名字由来是因为越小的元素会经由交换慢慢“浮”到数列的顶端。算法步骤 比较相邻的元素。如果第一个比第二个大,就交换他们两个。 对每一对相邻元素作同样的工作,从开始第一对到结原创 2016-08-19 14:33:07 · 353 阅读 · 0 评论 -
排序-希尔排序
概论希尔排序的实质就是分组插入排序,该方法又称缩小增量排序,因DL.Shell于1959年提出而得名。思想该方法的基本思想是:先将整个待排元素序列分割成若干个子序列(由相隔某个“增量”的元素组成的)分别进行直接插入排序,然后依次缩减增量再进行排序,待整个序列中的元素基本有序(增量足够小)时,再对全体元素进行一次直接插入排序。因为直接插入排序在元素基本有序的情况下(接近最好情况),效率是很高的,因此希转载 2016-08-19 12:03:23 · 351 阅读 · 0 评论 -
排序-选择排序
概念选择排序(Selection sort)也是一种简单直观的排序算法。算法步骤 首先在未排序序列中找到最小(大)元素,存放到排序序列的起始位置 再从剩余未排序元素中继续寻找最小(大)元素,然后放到已排序序列的末尾。 重复第二步,直到所有元素均排序完毕。 概念图代码package com.fwj.list;/** * 描述:各种排序尝试 * <p> * 作者:草鱼狂飙 * <p> * 时间原创 2016-08-19 14:17:14 · 304 阅读 · 0 评论 -
关于微信红包的一些算法可能性
仅仅做了一个Demo,波动数字不建议输入超过0.5import java.math.BigDecimal; import java.util.ArrayList; import java.util.Random;/** * Created by 草鱼狂飙 on 2016/9/28. * <p> * 描述: */ public class RedPackets { public sta原创 2016-09-28 11:02:17 · 393 阅读 · 0 评论 -
分糖果问题
题目A,B,C三个人是好朋友,每个人手里都有一些糖果,我们不知道他们每个人手上具体有多少个糖果,但是我们知道以下的信息: A - B, B - C, A + B, B + C. 这四个数值.每个字母代表每个人所拥有的糖果数. 现在需要通过这四个数值计算出每个人手里有多少个糖果,即A,B,C。这里保证最多只有一组整数A,B,C满足所有题设条件。 输入描述:输入为一行,一共4个整数,分别为A - B原创 2016-09-28 18:00:56 · 513 阅读 · 0 评论 -
Java计数器核心代码
要求输入计算公式的后缀波兰表达式,得出计算结果:public class Solution { public int evalRPN(String[] tokens) { int returnValue = 0; String operators = "+-*/"; Stack<String> stack = new Stack<String>();原创 2017-03-27 11:18:06 · 453 阅读 · 0 评论