
数据结构与算法
文章平均质量分 76
介绍数据结构与算法的相关知识
Fantasy丶Lin
一个爱看综艺、爱看电影、爱听周杰伦的歌的程序猿。涉猎Android、Flutter等技术。
展开
-
数据结构与算法 Java 版
我最早是在大一的时候,就接触了`数据结构与算法`。说实话,算是一场噩梦吧!非常难学,当时学得很懵逼,当然现在也是如此。竟然这么痛苦,那为啥我还要继续学呢?还专门写了篇文章?还弄了个开源项目 DataStructureAndAlgorithm?具体的缘由请听我慢慢道来。原创 2020-07-17 15:52:00 · 960 阅读 · 0 评论 -
二叉树的深度优先遍历和广度优先遍历
1. 分析二叉树的深度优先遍历的非递归的通用做法是采用栈,广度优先遍历的非递归的通用做法是采用队列。深度优先遍历:对每一个可能的分支路径深入到不能再深入为止,而且每个结点只能访问一次。要特别注意的是,二叉树的深度优先遍历比较特殊,可以细分为先序遍历、中序遍历、后序遍历。具体说明如下:先序遍历:对任一子树,先访问根,然后遍历其左子树,最后遍历其右子树。 中序遍历:对任一子树,先遍历其左...原创 2016-10-07 20:18:15 · 13312 阅读 · 1 评论 -
使用Java实现3DES加密解密
3DES又称TripleDES,是三重数据加密算法(TDEA,Triple Data Encryption Algorithm)块密码的通称。它相当于是对每个数据块应用三次DES加密算法。密钥长度是128位(bit)和192位(bit)。原版DES容易被破解,新的3DES出现,增加了加密安全性,避免被暴力破解。它同样是对称性加密,同样涉及到加密模式和填充方式。加密模式有ECB、CBC、CTR、OFB、CFB。填充方式有PKCS5Padding、PKCS7Padding、ZeroPadding、ISO101原创 2019-07-10 23:14:03 · 2464 阅读 · 0 评论 -
使用Java实现AES加密解密
AES,高级加密标准(英语:Advanced Encryption Standard,缩写:AES),在密码学中又称Rijndael加密法,是美国联邦政府采用的一种区块加密标准。这个标准用来替代原先的DES,已经被多方分析且广为全世界所使用。严格地说,AES和Rijndael加密法并不完全一样(虽然在实际应用中二者可以互换),因为Rijndael加密法可以支持更大范围的区块和密钥长度...原创 2019-07-12 14:57:08 · 2350 阅读 · 0 评论 -
使用Java实现RSA加密解密
RSA加密算法是一种非对称加密算法。在公开密钥加密和电子商业中RSA被广泛使用。RSA是1977年由罗纳德·李维斯特(Ron Rivest)、阿迪·萨莫尔(Adi Shamir)和伦纳德·阿德曼(Leonard Adleman)一起提出的。当时他们三人都在麻省理工学院工作。RSA就是他们三人姓氏开头字母拼在一起组成的。这里提供一个在线进行RSA加密解密:http://tool.c...原创 2019-08-25 21:53:57 · 1799 阅读 · 0 评论 -
使用Java实现信息摘要算法
在实际开发中,我们会经常用到一些不可逆的加密算法,例如:MD5算法、SHA1算法、信息摘要算法,还有哈希算法等等。如果没有好好学习一些,真得会搞混的。所以我查找了相关资料,在这里简单介绍一下。消息摘要算法分为三类:MD(Message Digest):消息摘要 SHA(Secure Hash Algorithm):安全散列 HMAC(Hash-based Message ...原创 2019-09-02 17:40:07 · 1773 阅读 · 0 评论