
算法基础
碎时纪
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
查找与排序之快速排序
分治法将原问题划分成若干个规模较小而结构与原问题一致的子问题,递归地解决这些子问题,然后合并其结果,得到原问题的解优点:容易确定运行时间分治模式在每一层递归上都有三个步骤:分解:将原问题分解成一系列子问题解决:递归地解各子问题,若问题足够小,则直接有解合并:将子问题的结果合并成原问题的解快速排序1、算法思路重点:划分,使左边小于/大于右边(1)分解:数组A[p…r]...原创 2020-02-13 15:33:56 · 374 阅读 · 0 评论 -
树的遍历
树的先序遍历和中序遍历思路:递归输出,根节点 i 的左子树为 2i+1,右子树为 2i+2public class _05_树 { public static void main(String[] args) { int[] arr = {33,53,11,55,77,55,6,3,2}; preOrder(arr,0); System.out.println("------...原创 2020-02-09 15:25:00 · 109 阅读 · 0 评论 -
查找与排序之归并排序
归并排序思路:package com.gh.check01;public class _04_排序之归并排序 { private static int[] helper; public static void main(String[] args) { int[] arr = {2,5,3,1,6,4,7,4,0}; sort(arr); for(int i=0; i...原创 2020-02-06 14:55:11 · 185 阅读 · 0 评论 -
查找与排序之二分查找02
1、二分查找==思路:==等价于三个问题左查找(递归)之间比右查找(递归)/*例子: int[] arr1 = {1,2,3,4,5,8,10}; System.out.println(find(arr1, arr1[0], arr1[arr1.length-1],8)); 结果:5*/public static int find(int[] arr, int low, ...原创 2020-02-05 15:03:22 · 105 阅读 · 0 评论 -
查找与排序之希尔排序
希尔排序思路:如序列 9 8 7 6 5 4 3 2 1确定一个增量序列,如4 2 1,从大到小使用增量使用第一个增量,将序列划分为若干个子序列,下标组合为0-4-8,1-5,2-6,3-7依次对子序列使用直接插入排序法然后依次使用第二,第三个增量,(1-2-3-4-5-6-7-8-9)完成排序//希尔排序 public static void shellSort(int[] a...原创 2020-02-05 15:02:13 · 304 阅读 · 0 评论 -
大O阶算法
时间和空间复杂度函数的渐进增长 :判断一个算法的效率时,函数中的常数和其他次要项常常可以忽略,应该关注(最高项)的阶数大O阶算法:用常数1取代运行时间中所有加法常数在修改后的运行次数函数中,只保留最高阶项如果最高阶项存在且不是1,去除与这个项相乘的常数得到大O阶平方阶:for(int i=0; i<n; i++){ for(int j=i; j<n;...原创 2020-02-04 11:16:44 · 853 阅读 · 0 评论 -
排序算法的稳定性
排序方法时间复杂度稳定性插入排序O(n²)稳定希尔排序O(n^1.5)不稳定选择排序O(n²)不稳定堆排序O(nlgn)不稳定冒泡排序O(n²)稳定快速排序O(nlgn)不稳定归并排序O(nlgn)稳定计数排序O(n+k)稳定桶排序O(n+k)稳定基数排序O(n*k)稳定...原创 2020-02-03 23:15:57 · 95 阅读 · 0 评论 -
查找与排序之递归01
递归1、简单递归,切蛋糕思想找重复找变化,变化的量作为参数找边界public static void main(String[] args) { System.out.println(f1(5)); System.out.println(f2(2,4)); System.out.println(f3(new int[] {1,2,3,4,5}, 0)); Syste...原创 2020-02-03 15:58:33 · 107 阅读 · 0 评论 -
算法基础——位运算
这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入欢迎使用Ma...原创 2020-02-02 15:24:43 · 222 阅读 · 0 评论