随笔分类 -  算法与数据结构

这里搜罗基础、常用、面试经典的算法和数据结构
摘要:转载自:https://www.cnblogs.com/birdsmaller/p/5377104.html 背景 涉及身份验证的系统都需要存储用户的认证信息,常用的用户认证方式主要为用户名和密码的方式,为了安全起见,用户输入的密码需要保存为密文形式,可采用已公开的不可逆的hash加密算法,比如SH 阅读全文
posted @ 2018-08-11 16:26 怀瑾握瑜XI 阅读(379) 评论(0) 推荐(0)
摘要:转载自:https://www.cnblogs.com/colife/p/5566789.html 常见的加密算法可以分成三类,对称加密算法,非对称加密算法和Hash算法。 加密算法分类 1.对称加密 指加密和解密使用相同密钥的加密算法。对称加密算法的优点在于加解密的高速度和使用长密钥时的难破解性。 阅读全文
posted @ 2018-08-11 15:15 怀瑾握瑜XI 阅读(319) 评论(0) 推荐(0)
摘要:```` package com.java.base.sort.algorithm; / 冒泡排序 算法思路: 1.从数列第一个数开始,比较每相邻的两个数, 将较大(或较小)数交换至后面,直到将最大的数交换到数列最后 2.再循环第一步直到数列中只剩下第一个数 算法复杂度:O(n²) 稳定性:稳定 @ 阅读全文
posted @ 2018-08-01 22:08 怀瑾握瑜XI 阅读(129) 评论(0) 推荐(0)
摘要:```` / 插入排序 算法思路: 1.选取数列第一个数作为已排序,数列的其他部分作为待排部分 2.每次取待排部分的第一个元素待插入数,然后从已排序部分末尾开始遍历,直到找到比待插入数小(或者打)的数 3.将这个小的数的位置后的数往后移动,空出一位,再将待插入数插入 4.重复以上步骤,直到无待排部分 阅读全文
posted @ 2018-08-01 22:06 怀瑾握瑜XI 阅读(113) 评论(0) 推荐(0)
摘要:```` / 选择排序 算法思路: 1.遍历数列,找到最小(或最小)元素,然后将其放到数列首位,作为已排序部分 2.对剩下待排序数列,重复以上第一步,找到最小(或最小)元素放到已排序的部分后面,直到无待排序部分 算法复杂度:O(n²) 稳定性:不稳定 @author lxy / public cla 阅读全文
posted @ 2018-08-01 22:02 怀瑾握瑜XI 阅读(135) 评论(0) 推荐(0)