常见算法问题
a465456465
这个作者很懒,什么都没留下…
展开
-
求最大公约数
/** * 求最大公约数 * * @author kuwo * */public class Gcd { public static void main(String[] args) { System.out.println(getGcd(1989, 1590)); } /** * 此处m和n是有大小关系的 * myao大于n * * @pa转载 2015-06-11 15:45:08 · 331 阅读 · 0 评论 -
冒泡排序
http://www.cnblogs.com/wuzhenbo/archive/2012/03/30/2423861.html//冒泡算法1 public void bubbleSort() { int a[] = {49, 38, 65, 97, 76, 13, 27, 49, 78, 34, 12, 64, 5, 4, 62, 99, 98, 54, 56, 17,转载 2017-09-18 14:06:51 · 417 阅读 · 0 评论 -
递归
递归的两个基本法则:1、基准情形,这种情形下,不需要进行递归就能得到结果。2、不断=推进、对于使用递归调用的情形必须能向着基准情形的方向不断的推进,最后使用3、设计法则、假设所有的递归调用都能运行。第一个最大子列和问题:求出一个数列中和最大的子列,和其其实与结束的索引class { /** * * @param arr 要处理的数组 *转载 2015-06-11 15:42:03 · 363 阅读 · 0 评论 -
栈应用之中缀和后缀
package com.dt.stactt.zhongturntohouzhui;import java.util.Stack;/** * 计算机实现转换: 将中缀表达式转换为后缀表达式的算法思想: ·开始扫描; ·数字时,加入后缀表达式; ·运算符: a. 若为最高级的运算符,入栈; b. 若为 '(',入栈; c. 若为 ')',则依次把栈中的的运算符加入转载 2015-06-11 15:47:13 · 354 阅读 · 0 评论 -
栈应用之平衡字符
* 栈应用之平衡字符 * * 栈的应用:检查每件事情是否能成对出现 * * * 初学者在编写代码并且编译时,难免会因为少写了一个')'和被编译器报错。也就是说,编译器会去匹配括号是否匹配。 * 当你输入了一个'(',很自然编译器回去检查你是否有另一个')'符号与之匹配。如果所有的括号都能够成对出现,那么编译器是能够通过的。 * 否则编译器会报错。例如字符序列“(a+b)转载 2015-06-11 15:46:15 · 481 阅读 · 0 评论 -
十进制转换为2进制
/** * 思路为 * * 模2除2 * * @author * */public class hex { public static void main(String[] args) { String x = Integer.toBinaryString(12); System.out.println("x:" + x); int i = 12;转载 2015-07-02 10:06:16 · 534 阅读 · 0 评论 -
插入排序
package com.peixv.charu;/** * 插入排序 * * * 1、算法思想: 1〉从第一个元素开始,该元素可以认为已经被排序 2〉取出第一个未排序元素存放在临时变量temp中,在已经排序的元素序列中从后往前扫描,逐一比较 3〉如果temp小于已排序元素,将该元素移到下个位置 4〉重复步骤3〉,直到找到已排序的元素小于或者等于转载 2015-06-11 15:52:00 · 345 阅读 · 0 评论 -
对分查找(二分查找)
进行二分查找的时候,数组必须要已经排序过了。/** * 二分查找 * @author kuwo * */public class BinaryFinadTest { public static void main(String[] args) { int[] arr = new int[]{1,3,7,34,123,1119,22222333}; System.o转载 2015-06-11 15:47:53 · 1011 阅读 · 0 评论 -
二叉树
二叉树,是一颗树,其中每个节点都不能多于两个的儿子。二叉树遍历,先遍历,左子树,根节点、右子树。成为中序遍历。先左子树,后右子树、再根节点,称为后序列遍历。先根节点,后右子树,再左子树 ,称为先序遍历。使二叉树成为二叉查找树的性质是:对于树中的每个节点x、它的左子树中所有项的值小于x ,它的右子树中的值都大于X。二叉查找树要求所有的项转载 2015-06-11 15:54:25 · 346 阅读 · 0 评论 -
最大子序列
public static void main(String[] args) { int[] a = new int[]{12,-23,33,4,-56,23,-5,10}; System.out.println(maxSub(a)); } private static int maxSub(int[] a){ int maxS...原创 2019-08-22 14:36:09 · 118 阅读 · 0 评论