算法与数据结构
文章平均质量分 51
石硕页
不滞于物,草木竹石均可为剑
展开
-
基本算法梳理
1.排序算法2.二分搜索3.广度优先搜索和深度优先搜索4.贪心和动态规划原创 2022-05-20 18:30:11 · 460 阅读 · 0 评论 -
数据结构梳理
1.基本数据结构:数组,链表,堆,栈,队列2.进阶数据结构:有向图,无向图,二叉树,哈希表原创 2022-05-20 18:12:36 · 481 阅读 · 0 评论 -
Hash算法详解
Hash算法,简称散列算法,也成哈希算法(英译)。是将一个大文件映射成一个小串字符。原创 2018-06-26 20:16:00 · 19649 阅读 · 3 评论 -
二叉树、平衡二叉树、B- tree、B+ tree 基本概念
1 二叉树二叉树binary tree是指每个节点最多含有两个子树的树结构。特点:1.所有节点最多拥有两个子节点,即度不大于22.左子树的键值小于根的键值,右子树的键值大于根的键值。因为二叉树只是定义了简单的结构,所以存在多种深度可能,导致二叉树的效率低,所以引入了平衡二叉树。2 平衡二叉树2.1 avl树...原创 2018-07-14 13:48:44 · 9919 阅读 · 0 评论 -
Java实现AES加密
一、什么是AES?AES:Advanced Encrypt Standard 高级加密标准。使用AES是为了代替原先的DES,现如今已被广泛使用。相较于DES,使用56位秘钥,比较容易被破解。AES可以使用128、192和256位秘钥,并且使用128位分组加密和解密数据,安全很多。完善的加密算法在理论上几乎是不可被破解的,除非使用穷尽法。但使用穷尽法破解秘钥长度在128位以上的加密数据是不...原创 2018-08-06 20:32:50 · 1035 阅读 · 0 评论 -
Java实现RSA加密
一、什么是RSA?RSA是1977年由罗纳德·李维斯特(Ron Rivest)、阿迪·萨莫尔(Adi Shamir)和伦纳德·阿德曼(Leonard Adleman)一起提出的。所以这个算法取自他们三位的姓名首字母。RSA是目前最具有影响力的公钥加密算法,它的原理基于一个简单的数论事实:将两个大质数相乘十分简单,但是想要对它们的乘积进行分解却异常困难。这里的乘积一般公开作为密钥。只要密钥的...原创 2018-08-06 20:53:48 · 3201 阅读 · 0 评论 -
Paxos 算法简介
拜占庭将军问题(Byzantine failure),是由莱斯利·兰伯特提出的点对点通信中的基本问题。意思就是,在存在消息丢失的不可靠的信道上保证信息的一致性是不可能的。所以在一般讨论一致性的问题上时,比如Paxos 算法,都先假定不会存在拜占庭问题。Paxos 是一个分布式一致性算法。主要解决的就是在分布式环境下,如何保持一致性。节点通信存在两种模型:一种是共享内存,另一种是消息传递...原创 2019-03-05 16:05:05 · 237 阅读 · 0 评论 -
经典排序算法java实现
最近亲测了六种排序算法:1.插入排序、2.冒泡排序、3.选择排序、4.快速排序、5.归并排序、6.希尔排序直接上代码:package xl.com;public class Sort { /** * 时间复杂度: * * 1.时间频度:是指 一个算法执行所耗费的时间,从理论上是不能算出来的,必须上机运行测试才能知道。但我们不可能也没有必要对每个算法都上机测试,...原创 2015-08-15 16:24:55 · 195 阅读 · 2 评论