
算法
酱油王
这个作者很懒,什么都没留下…
展开
-
动态规划之背包问题
public class DynamicProgramming_Bag { public static int[][] getMaxValue(int[] V, int[] W, int C) { if (V.length != W.length) throw new RuntimeException("Error!!!"); int n = V.length; //原创 2015-07-09 15:38:17 · 459 阅读 · 0 评论 -
输入两棵二叉树A和B,判断B是不是A的子结构 || 二叉树的按层打印与之字形打印 || 将一棵二叉搜索树转化为排序的双向链表 || 判断一棵二叉树是不是对称二叉树
import java.util.LinkedList;import java.util.List;import java.util.Stack;public class BinaryTree { private Node root; public BinaryTree(int val) { root = new Node(val); } /** * 输入两棵二原创 2015-09-21 20:56:17 · 828 阅读 · 0 评论 -
顺时针打印矩阵
/** * 顺时针打印一个矩阵 */public class ClockwiseOutput { /** * 适合于所有矩阵 * @param num * @param startx * @param endx * @param starty * @param endy */ public void printMatrix(int[][] num, int s原创 2015-09-20 10:34:25 · 266 阅读 · 0 评论 -
N(3<=N<=9))只猴子采得一堆桃子,半夜里第一只猴子偷偷起来把桃平均分成N分,发现还多一个,它吃了那个桃子,还拿走其中的一份,第二只猴子起来又把桃子分成N分,还多一个,它吃了那个桃子,又拿走其中
N(3解法1:暴力import java.util.Scanner;/** * N(3<=N<=9))只猴子采得一堆桃子,半夜里第一只猴子偷偷起来把桃平均分成N分, * 发现还多一个,它吃了那个桃子,还拿走其中的一份,第二只猴子起来又把桃子 * 分成N分,还多一个,它吃了那个桃子,有拿走其中的一份,第三第四第五只第 * N只猴子都如此做了,请问这堆桃子至少有多少个? * *原创 2015-08-14 19:11:00 · 2112 阅读 · 0 评论 -
约瑟夫环问题Josephuse
/** * 约瑟夫环 */public class Josephuse { private Node first; private Node last; private int numbers; class Node { private int num; private Node pre; private Node next; public Node(int原创 2015-09-13 14:54:51 · 615 阅读 · 0 评论 -
并查集(Union-Find)算法介绍
转载地址:http://blog.youkuaiyun.com/dm_vincent/article/details/7655764本文主要介绍解决动态连通性一类问题的一种算法,使用到了一种叫做并查集的数据结构,称为Union-Find。更多的信息可以参考Algorithms 一书的Section 1.5,实际上本文也就是基于它的一篇读后感吧。原文中更多的是给出一些结论,我尝试给出转载 2015-09-29 18:13:41 · 393 阅读 · 0 评论 -
字符串的排列。输入一字符串,打印出该字符串中字符的所有排列。例如输入abc,则排列为abc,acb,bac,bca,cab,cba
import java.util.HashMap;public class Permutation { private char[] ch; public Permutation(String str) { ch = str.toCharArray(); } public void listPermutation() { recursivePermute(ch, 0);原创 2015-08-28 20:59:50 · 2987 阅读 · 2 评论 -
Eva's Balance,进制转换
参考网址:http://blog.youkuaiyun.com/famousdt/article/details/7416264 http://blog.youkuaiyun.com/clxjoseph/article/details/7994089以下代码为宿舍龙哥所写:import java.util.Scanner;/** * 给你组数字,1,3,原创 2015-09-11 21:36:20 · 417 阅读 · 0 评论 -
在数组中的两个数字如果前面一个数字大于后面的数字,则这两个数字构成一个逆序对。输入一个数组,求出这个数组中的逆序对的总数
public class InversePairs { private int[] data; public InversePairs(int[] data) { this.data = data; } public int inverse() { if (data == null || data.length == 0) { return 0; } in原创 2015-08-29 20:23:25 · 2154 阅读 · 0 评论 -
BitMap
/** * 在2.5亿个整数中找出不重复的整数,内存不足以容纳这2.5亿个整数。 * 每个数分配2bit,00表示不存在,01表示出现一次,10表示多次,11无意义 * * 参考网址:http://www.cnblogs.com/dongxi/archive/2012/11/07/2759618.html */public class BitMap { //用char数组存储2-B原创 2015-08-30 22:14:53 · 300 阅读 · 0 评论 -
动态规划之找零钱问题
import java.util.ArrayList;public class Coin { /** * 凑够sum至少需要多少coin * @param coins coin面值 * @param sum * @return */ public static int[] getLeastNum(int[] coins, int sum) { int[] d = n原创 2015-07-09 14:25:04 · 966 阅读 · 0 评论 -
矩阵中的路径。请设计一条函数,用来判断一个矩阵中是否存在一条包含某个字符串所有字符的路径。
/** * 矩阵中的路径。路径可以从矩阵中的任意一格开始,每一步可以在矩阵中向左、右、上、下移动一格。 * eg:下面3 X 4的矩阵中包含一条字符串"bcced"的路径,但矩阵中不包含"abcd"的路径。 * a b c e * s f c s * a d e e */public class MatrixPath { private char[] mat原创 2015-08-29 21:01:38 · 2113 阅读 · 0 评论 -
快速排序、归并排序、堆排序
public class QuickSort> { public void sort(T[] t) { sort(t, 0, t.length - 1); } private void sort(T[] t, int lo, int high) { if (high <= lo) return; int index = partition(t, lo, high);原创 2015-08-28 20:49:56 · 322 阅读 · 0 评论 -
K-means算法的java实现,聚类分析681个三国武将
转载地址:http://blog.youkuaiyun.com/lufeng20/article/details/7542955目录(?)[+]一,k-means算法介绍: k-means算法接受输入量 k ;然后将n个数据对象划分为 k个聚类以便使得所获得的聚类满足:同一聚类中的对象相似度较高;而不同聚类中的对象相似度较小。聚类相似度是利用各聚类中对象的均值所获得一个“中心对象”(转载 2015-11-26 20:02:02 · 838 阅读 · 0 评论