随笔分类 -  算法

摘要:转自:https://www.cnblogs.com/llguanli/p/7363657.html二叉树是一种非常重要的数据结构,非常多其他数据结构都是基于二叉树的基础演变而来的。对于二叉树,有深度遍历和广度遍历,深度遍历有前序、中序以及后序三种遍历方法,广度遍... 阅读全文
posted @ 2018-08-06 21:59 wei1 阅读(337) 评论(0) 推荐(0)
摘要:/* * 递归:方法可以调用自己 * 1.递归总有一个最简单的情况——方法的第一条语句总是一个包含return的条件语句。 * 2.递归调用总是去尝试解决一个规模更小的自问题,这样递归才能收敛到最简单的情况。 * 3.递归调用的父问题和尝试解决的自问题之... 阅读全文
posted @ 2018-04-12 14:36 wei1 阅读(119) 评论(0) 推荐(0)
摘要:import org.junit.Test;//回溯法求解public class QueenFind { public static final int N = 8; public static int count = 0; @Test public void te... 阅读全文
posted @ 2018-04-08 16:05 wei1 阅读(164) 评论(0) 推荐(0)
摘要:package Sort;import org.junit.Test;import Sort.utils.Swap;/* * 希尔排序是希尔(Donald Shell)于1959年提出的一种排序算法。希尔排序也是一种插入排序, * 它是简单插入排序经过改进之后的一个更... 阅读全文
posted @ 2018-04-08 15:59 wei1 阅读(102) 评论(0) 推荐(0)
摘要:package Sort;import org.junit.Test;import Sort.utils.Swap;/* * 直接选择排序为不稳定排序 * 直接选择排序的最好时间复杂度和最差时间复杂度都是O(n^2), * 因为即使数组一开始就是正序的,也需要将... 阅读全文
posted @ 2018-04-08 15:58 wei1 阅读(100) 评论(0) 推荐(0)
摘要:package Sort;import org.junit.Test;/* * 插入排序 * 时间复杂度:O(n^2) 由定理:N个互异数的数组的平均逆序数是 N(N-1)/4,可知:基于相邻元素之间的比较和交换的算法的时间复杂度的一个下界为O(N^2) * ... 阅读全文
posted @ 2018-04-08 15:57 wei1 阅读(95) 评论(0) 推荐(0)
摘要:package Sort;import org.junit.Test;import Sort.utils.Swap;/* * 冒泡排序: * 时间复杂度:O(n^2) * 空间复杂度:O(1) */public class BubbleSort { public ... 阅读全文
posted @ 2018-04-08 15:56 wei1 阅读(106) 评论(0) 推荐(0)
摘要:package MaxSubseqSum;public class MaxSubseqSumDemo { // 使用三个嵌套循环计算最大子列和,时间复杂度为 O(n^3) public int getMaxSubseqSum1(int[] a, int n) { i... 阅读全文
posted @ 2018-02-28 16:53 wei1 阅读(132) 评论(0) 推荐(0)
摘要:import java.util.Scanner;public class Gcd { public static void main(String[] args) { // TODO Auto-generated method stub Scanner sc ... 阅读全文
posted @ 2018-02-28 16:51 wei1 阅读(519) 评论(0) 推荐(0)