
算法
xiueer
这个作者很懒,什么都没留下…
展开
-
背包问题
01背包问题动态规划法具体分析过程见动态规划0—1背包问题 Java实现:import java.util.Scanner;public class KnapsackProblem { public static void main(String[] args) { test(); } /** * 从控制台输入数据,数据格式为: * 第一行原创 2016-06-26 20:07:35 · 367 阅读 · 0 评论 -
杨辉三角(Pascal三角形)
递归算法import java.util.Scanner;public class TangHuiTriangle { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); result(scanner.nextInt()); } pub原创 2015-09-05 10:23:03 · 974 阅读 · 0 评论 -
n级台阶问题
共有n级台阶,每次可以迈1,2或3级台阶,共有多少种上台阶的方式?分析: n=1:result(1)=1; n=2:result(2)=2; n=3:result(3)=4;(111,12,21,3) n=4:就是从第一级迈3步,或第二级迈2步,或第三级迈1步,即result(1)+result(2)+result(3);所以:import java.util.Scanner;public原创 2015-09-05 10:57:05 · 1162 阅读 · 0 评论 -
二叉排序树的插入和删除
插入递归的寻找插入的位置。public static TreeNode Insert(int x, TreeNode t) { if (t == null) { TreeNode n = new TreeNode(x); n.left = null; n.right = null; t =原创 2015-08-18 21:04:18 · 617 阅读 · 0 评论 -
最大子序列和
最大子序列和的4种算法给定整数A1,A2…An(可能有负数)求最大子序列和。(假设所有整数均为负数时,最大子序列和为0)Arg1public int MaxSubsequenceSum(int arr[], int n) { int ThisSum, MaxSum; MaxSum = 0; for (int i = 0; i < n; i++) { for (i转载 2015-08-17 11:08:31 · 390 阅读 · 0 评论 -
反转单链表
前插 class ListNode { int val; ListNode next; ListNode(int x) { val = x; }}public class ReserveList { public static void main(String[]args){ ListNode n1=new ListNode(1);原创 2015-08-17 10:57:52 · 243 阅读 · 0 评论 -
前序遍历二叉树
class TreeNode { int val; TreeNode left; TreeNode right; TreeNode(int x) { val = x; }}public class traversal { public static void main(String[] args) { TreeNode t原创 2015-08-17 10:37:39 · 434 阅读 · 0 评论 -
判断一个节点是不是另一个的节点的子节点;
class TreeNode { int val; TreeNode left; TreeNode right; TreeNode(int x) { val = x; }}public class Test { public static void main(String[] args) { //测试用节点数组原创 2015-07-21 15:10:17 · 1604 阅读 · 0 评论 -
输出一个字符串的所有自字符串(不重复)
//输入一个字符串,输出它的所有子字符串并存储;//不重复import java.util.ArrayList;import java.util.Scanner;public class SubString { public static void main(String[]args){ Scanner scanner=new Scanner(System.in);原创 2015-07-19 11:04:23 · 1769 阅读 · 2 评论 -
JAVA 中两种判断输入的是否是数字的方法
注意要引入包 java.util.regex用于匹配字符序列与正则表达式指定模式的类。import java.io.*;import java.util.regex.*;public class isInteger { public static void main(String[] args) { try { System.out.println("转载 2015-06-11 11:26:35 · 1165 阅读 · 0 评论 -
判断回文
private static boolean isPlalindrome(String str){ return new StringBuffer(str).reverse().toString().equals(str); }转载 2015-07-19 10:17:29 · 320 阅读 · 0 评论 -
八皇后问题
转载自N皇后问题的两个最高效的算法import java.util.*;public class Queen { private static final int INITIAl = -1000; public static void main(String[] args) { Scanner scanner=new Scanner(System.in);转载 2015-08-23 15:51:57 · 393 阅读 · 0 评论 -
各种排序算法比较
1 排序的稳定性(1) 稳定的排序 稳定的排序 时间复杂度 空间复杂度 冒泡排序(bubble sort) 最差,平均都是O(n^2),最好是O(n) 1 鸡尾酒排序(Cocktail sort,双向冒泡排序) 最差,平均都是O(n^2),最好是O(n) 1 插入排序(insertion sort) 最差,平均都是O(n^2),最好是O(n) 1 归转载 2015-06-19 00:50:16 · 734 阅读 · 0 评论 -
排序算法及其Java实现
转载自各种排序算法的分析及java实现排序算法排序算法主要分为几类插入排序:直接插入排序、二分法插入排序、希尔排序。选择排序:简单选择排序、堆排序。交换排序:冒泡排序、快速排序。归并排序基数排序1、插入排序思想:每步将一个待排序的记录,按其顺序码大小插入到前面已经排序的字序列的合适位置,直到全部插入排序完为止。关键问题:在前面已经排好序的序列中找到合适的插入位置。方法:直接插入排序转载 2016-05-13 10:06:04 · 340 阅读 · 0 评论