随笔分类 -  算法

摘要:/** * 判断字符串是否可以转成BigDecimal(可转用小数,负数) * * @param strNum * @return */public static boolean isDigit(String strNum) { if (StringUtils.isBlank(strNum)) { 阅读全文
posted @ 2022-06-15 14:52 isalo 阅读(1554) 评论(0) 推荐(0) 编辑
摘要:动态规划题目类型总结 阅读全文
posted @ 2021-10-22 09:23 isalo 阅读(11) 评论(0) 推荐(0) 编辑
摘要:1.基数排序简介 基数排序(radix sort)属于“分配式排序”(distribution sort),又称“桶子法”(bucket sort)或bin sort,顾名思义,它是透过键值的部份资讯,将要排序的元素分配至某些“桶”中,藉以达到排序的作用,基数排序法是属于稳定性的排序,其时间复杂度为 阅读全文
posted @ 2019-10-30 20:29 isalo 阅读(113) 评论(0) 推荐(0) 编辑
摘要:1.归并排序简介 归并排序(MERGE-SORT)是利用归并的思想实现的排序方法,该算法采用经典的分治(divide-and-conquer)策略 分治法将问题分(divide)成一些小的问题然后递归求解,而治(conquer)的阶段则将分的阶段得到的各答案"修补"在一起,即分而治之 2.归并排图解 阅读全文
posted @ 2019-10-27 19:05 isalo 阅读(99) 评论(0) 推荐(0) 编辑
摘要:1.快速排序法简介 在数组中选一个基准数; 将数组中小于基准数的数据移到基准数左边,大于基准数的移到右边; 对于基准数左、右两边的数组,不断重复以上两个过程,直到每个子集只有一个元素,即为全部有序。 2.快速排序法图解 3.代码 public class QuickSort { public sta 阅读全文
posted @ 2019-10-27 12:10 isalo 阅读(109) 评论(0) 推荐(0) 编辑
摘要:1.shell排序简介 希尔排序按其设计者希尔(Donald Shell)的名字命名,它是一种基于插入排序的快速排序算法,要了解希尔排序,必须先掌握插入排序的原理与实现。 希尔排序通过将比较的全部元素分为几个区域来提升插入排序的性能。这样可以让一个元素可以一次性地朝最终位置前进一大步。然后算法再取越 阅读全文
posted @ 2019-10-26 22:06 isalo 阅读(816) 评论(0) 推荐(0) 编辑
摘要:1.插入排序简介 插入排序(Insertion sorting) 的基本思想是:把n个待排序的元素看成为一个有序表和一 个无序表 ,开始时有序表中只包含一个元素 ,无宇表中包含有n -1个元素 , 排序过程中每次从 无序表中取出第一个元素 ,把它的排序码依次与有序表元素的 排 序 码进行比较 , 将 阅读全文
posted @ 2019-10-26 18:43 isalo 阅读(112) 评论(0) 推荐(0) 编辑
摘要:1.选择排序简单介绍 第 一 次 从 arr[0] ~arr[n-1]中 选 取 最 小 值 , 与 arr[0] 交 换 , 第 二 次 从arr[1] ~arr[n-1] 中 选 取 最 小 值 , 与 arr [ 1 ] 交 换 , 第 三 次 从 arr[2] ~arr[n-l]中 选 取 阅读全文
posted @ 2019-10-26 14:59 isalo 阅读(76) 评论(0) 推荐(0) 编辑
摘要:1. 冒泡排序思想 冒泡排序(Bubble Sort)通过对排序序列从前到后依此比较相邻元素的大小,发现逆序则交换,使值较大的元素逐渐向后移动。 2. 代码 public class BubbleSort { public static void main(String[] args) { int[ 阅读全文
posted @ 2019-10-23 20:03 isalo 阅读(103) 评论(0) 推荐(0) 编辑
摘要:常用排序介绍 常用排序方法的时间复杂度 一个大佬的总结 阅读全文
posted @ 2019-10-23 19:59 isalo 阅读(82) 评论(0) 推荐(0) 编辑