
算法+数据结构
文章平均质量分 96
rootkiss
这个作者很懒,什么都没留下…
展开
-
md5(Message-digest algorithm 5)加密原理(生成hash值)
对MD5算法简要的叙述:MD5以512位分组来处理输入的信息,且每一分组又被划分为16个32位子分组,经过了一系列的处理后,算法的输出由四个32位分组组成,将这四个32位分组级联后将生成一个128位散列值。信息摘要:把明文内容按某种规则生成一段哈希值,即使明文消息只改动了一点点,生成的结果也会完全不同。MD5(Message-digest algorithm 5)就是信息摘要的一种实现,它可以...转载 2019-10-12 22:40:29 · 1642 阅读 · 0 评论 -
LRU(Least Recently Used,最近最久未使用法)算法
选择题用的LRU算法推导Java实现的LRU算法(使用数组而不是链表)前言:【小王的困惑】首先考虑这样的一个业务场景,小王在A公司上班,有一天产品提出了一个需求:“咱们系统的用户啊,每天活跃的就那么多,有太多的僵尸用户,根本不登录,你能不能考虑做一个筛选机制把这些用户刨出去,并且给活跃的用户做一个排名,我们可以设计出一些奖励活动,提升咱们的用户粘性,咱们只需要关注那些活跃的用户就行了“”...转载 2019-09-28 19:29:24 · 2267 阅读 · 0 评论 -
给定一个整数数组 A,返回 A 中最长等差子序列的长度。
题目描述:给定一个整数数组 A,返回 A 中最长等差子序列的长度。回想一下,A 的子序列是列表 A[i_1], A[i_2], …, A[i_k] 其中 0 <= i_1 < i_2 < … < i_k <= A.length - 1。并且如果 B[i+1] - B[i]( 0 <= i < B.length - 1) 的值都相同,那么序列 B 是等差...转载 2019-09-18 16:53:53 · 972 阅读 · 0 评论 -
DFS(深度优先搜索)
求有向图中的最短路径(JAVA+DFS算法实现)问题描述给定一个有向图,如下图所示,求从1号顶点到5号顶点的最短路径。输入数据格式为第一行输入顶点数和边数,从第二行开始每一行输入3个整数,分别代表连接顶点的边和权重。例如:1 2 2,表示从1号顶点到2号顶点连接的边,权重为2。Input:5 81 2 21 5 102 3 32 5 73 1 43 4 44 5 55...原创 2019-09-13 17:45:40 · 606 阅读 · 0 评论 -
非递归实现二叉树的遍历
非递归遍历二叉树是使用堆栈来进行保存,个人推荐使用双while结构,完全按照遍历顺序来进行堆栈的操作,当然在前序和后序的遍历过程中还有其他的压栈流程。先序遍历(左右,add在while中)先序遍历就是在第一次访问到节点的时候将其值进行打印,然后递归打印其左子树,最后递归打印其右子树。解法一、双while public void preorder(TNode node){ ArrayLi...转载 2019-09-08 09:39:29 · 259 阅读 · 1 评论 -
平衡二叉树建立,平衡二叉树的平衡、删除
平衡二叉树(解惑)平衡二叉树AVL(也是排序二叉树)失衡,分为左左(指在一个节点的左孩子的左孩子上插入节点(无论插得是左还是右节点)使二叉树失衡,就叫左左)、右右、左右、右左调整平衡二叉树,可以通过“旋转”,但是首先必须明白一个核心操作,不让它叫“旋转”!而叫——>“两个结点的变换”左左(右右)只需一次变换,交换第一个不平衡的结点与它左(右)孩子的节点,若左(右)孩子有子节点,根...原创 2019-08-27 16:16:44 · 819 阅读 · 0 评论 -
用拉链法和线性探测法解决哈希冲突
https://www.cnblogs.com/heyanan/p/6912870.html原创 2019-09-04 10:20:10 · 267 阅读 · 0 评论 -
递归和动态规划
递归(重点:递推公式+终止条件)1.找到如何将大问题分解为小问题的规律2.通过规律写出递推公式3.通过递归公式的临界点推敲出终止条件4.将递推公式和终止条件翻译成代码动态规划1.动态规划法试图只解决每个子问题一次2.一旦某个给定子问题的解已经算出,则将其记忆化存储,以便下次需要同一个子问题解之时直接查表。如:每一次迭代过程中,只需要保留之前的两个状态,就可以推到出新的状态。「动态规...原创 2019-07-08 14:17:08 · 407 阅读 · 0 评论 -
背包问题
01背包给你n种不同的物品,每个物品有自己的重量w[i],和价值v[i],如果每个物品只能拿一次,给你容量为m的背包,怎样才能取得最大价值?一维数组解法关键代码:#include<cstdio>#include<cstring>#include<algorithm>using namespace std;int main(){ int...原创 2019-07-02 21:20:19 · 177 阅读 · 0 评论