算法
不坠青云~
但愿千帆尽, 归来仍少年!
展开
-
Java Fibonacci Search 斐波那契搜索算法代码实现详解
本期目录一,斐波那契搜索算法简述二,斐波那契搜索算法代码实现三,斐波那契搜索算法总结四,跳转搜索算法完整代码一,斐波那契搜索算法简述斐波那契搜索(Fibonacci search) ,又称斐波那契查找,是区间中单峰函数的搜索技术。斐波那契搜索采用分而治之的方法,其中我们按照斐波那契数列对元素进行不均等分割。此搜索需要对数组进行排序。与二进制搜索不同,在二进制...原创 2020-04-13 14:53:29 · 981 阅读 · 1 评论 -
Java Exponential Search 指数搜索算法代码实现详解
一,指数搜索算法简述指数搜索用于通过跳跃指数位置(即2的幂)来搜索元素。在此搜索中,我们基本上是试图找到一个相对较小的范围,在该范围内我们可以使用其他有界搜索算法(例如二进制搜索)来搜索元素。不用说,应该对集合进行排序以使其起作用。二,指数搜索算法代码实现/** * 指数搜索 * @param integers * @param elementToSear...原创 2020-02-14 14:54:29 · 1493 阅读 · 1 评论 -
Java Jump Search 跳转搜索算法代码实现详解
本期目录一,跳转搜索算法介绍二,跳转搜索算法代码实现三,跳转搜索算法总结四,跳转搜索算法完整代码一,跳转搜索算法简述此搜索类似于“二分法检索(binary search)”,但不会向前和向后跳转-我们只会向前跳转。请记住,跳转搜索还需要对集合进行排序。基本思想是通过固定步长跳过或跳过某些元素来代替搜索所有元素来检查更少的元素(与线性搜索相比)。在“跳转搜索”中,...原创 2020-03-09 09:43:36 · 1083 阅读 · 0 评论 -
Java KMP(Knuth-Morris-Pratt )搜索算法代码实现详解
本期目录一,Knuth Morris Pratt搜索算法介绍二,Knuth Morris Pratt搜索算法思路三,Knuth Morris Pratt搜索算法代码实现四,Knuth Morris Pratt搜索算法总结五,Knuth Morris Pratt完整代码一,Knuth Morris Pratt搜索算法介绍KMP是一种用于在给定文本中查找算法(其实就是改进...原创 2020-01-14 10:24:42 · 1632 阅读 · 2 评论 -
Java 二分法检索算法代码实现详解
本期目录一,二分法检索算法介绍二,二分法检索算法思路三,二分法检索算法代码实现四,以算法时间复杂度和空间复杂度总结算法。一,二分法检索算法介绍二分法检索(binary search)又称折半检索,二分法检索的基本思想是设字典中的元素从小到大有序地存放在数组(array)中。是最常用的搜索算法之一,这主要是由于其搜索时间短。二,二分法检索算法思路这种搜索使用分而治之...原创 2020-01-10 18:18:27 · 5517 阅读 · 9 评论 -
Java 线性搜索算法代码实现详解
本期目录一,搜索算法介绍二,线性搜索算法实现一,搜索算法介绍搜索是在常规业务应用程序中执行的最常见操作之一。这涉及读取存储在数据结构中的一些数据喜欢Arrays,List,Map等。更通常情况下,该搜索操作确定用于最终用户的应用程序的响应。(ps:让我们看一下百度百科专业的解释)搜索算法是利用计算机的高性能来有目的的穷举一个问题解空间的部分或所有的可能情况,从而求出问题的解...原创 2020-01-09 11:56:01 · 2329 阅读 · 4 评论 -
Java AES 256加密解密示例
Java支持许多安全的加密算法,但是其中一些功能较弱,无法在安全性要求很高的应用程序中使用。例如,数据加密标准(DES)加密算法被认为是高度不安全的。今天介绍一下AES 256加密解密。 什么是AES 256? 高级加密标准 (英语:Advanced Encryption Standard,缩写:AES ),在密码学中又称Rijndael加密法,是美国联邦政府采用的一种区块加密标准。...原创 2019-10-23 11:10:56 · 6704 阅读 · 3 评论 -
Java 常用的 4 种加密方式(MD5+Base64+SHA+BCrypt)
一、工具类 md5加密工具类 public class MD5Utils { private static final String hexDigIts[] = {"0","1","2","3","4","5","6","7","8","9","a","b","c","d","e","f"}; /** * MD5加密 * @param ori...原创 2019-10-18 18:13:45 · 8565 阅读 · 22 评论 -
Java排序算法实现方式(算法思路 过程动图)
排序算法待排序的元素需要实现 Java 的 Comparable 接口,该接口有 compareTo() 方法,可以用它来判断两个元素的大小关系。使用辅助函数 less() 和 swap() 来进行比较和交换的操作,使得代码的可读性和可移植性更好。敲黑板:排序算法的成本模型是比较和交换的次数,也是衡量排序算法的好坏的方式。 选择排序(Selection Sort) ...原创 2019-10-15 19:53:28 · 4448 阅读 · 5 评论 -
Multimap介绍+遍历使用+方法及说明
先介绍:Multimap 顾名思义通过名字可想,Multi就是很多的意思,允许我们一个关键字对应多个value,所有说Multimap允许重复的键值插入容器。(一般使用map,只能保证一个key对应一个value)一:如果在开发中遇到List存在嵌套的情况,通常的实现方式是使用两个for循环嵌套,这样使得执行步骤增加,大大降低了系统的性能。这个时候强烈推荐使用Multimap数据结构!二:...原创 2019-01-07 18:41:56 · 40555 阅读 · 0 评论 -
时间复杂度(漫画详解)
时间复杂度 这篇文章是在csdn公众号 程序人生中发布的。是我到目前为止所看到的关于时间复杂度介绍的最好的文章,简介 清晰 明了。所以拿来po出来 仅供学习交流,如侵则删。 正文:    时间复杂度的意义 究竟什么是时间复杂度呢?让我们来想象一个场景:某转载 2018-12-24 09:59:02 · 11477 阅读 · 0 评论