
算法
文章平均质量分 86
一个字节
dare try
展开
-
01背包问题
题目 有N件物品和一个容量为V的背包。第i件物品的费用是c[i],价值是w[i]。求解将哪些物品装入背包可使价值总和最大。原创 2017-08-20 13:56:32 · 339 阅读 · 0 评论 -
动态规划算法
一、什么是动态规划 动态规划漫画版 动态规划过程是:每次决策依赖于当前状态,又随即引起状态的转移。一个决策序列就是在变化的状态中产生出来的,所以,这种多阶段最优化决策解决问题的过程就称为动态规划原创 2017-08-20 14:26:38 · 272 阅读 · 1 评论 -
排序基础--(插入排序、交换排序、选择排序、归并排序)
插入排序 一、直接插入排序 思路:选择一个有序区间,然后依次拿出后面的数往有序区间里面插入 第一步:第一个数即为一个有序区间 第二步:取出无序区间的第一个数,从有序区间最后一个数开始依次向前比较,判断大小 第三步:为有序区间的数挪出合适的位置并放入,直到无序区间数据取完,整个序列排序完成原创 2017-08-24 23:41:41 · 572 阅读 · 0 评论 -
Morris神级遍历二叉树,时间复杂度为O(1)
Morris算法介绍Morris算法在遍历的时候避免使用了栈结构,而是让下层到上层有指针,具体是通过底层节点指向NULL的空闲指针返回上层的某个节点,从而完成下层到上层的移动。我们知道二叉树有很多空闲的指针,比如某个人节点没有右孩子,我们称这种情况为空闲状态,Morris算法的遍历就是利用了这些 空闲的指针!原创 2017-08-22 14:44:11 · 9339 阅读 · 8 评论 -
分治算法
分治算法 一、基本概念 在计算机科学中,分治法是一种很重要的算法。字面上的解释是“分而治之”,就是把一个复杂的问题分成两个或更多的相同或相似的子问题,再把子问题分成更小的子问题……直到最后子问题可以简单的直接求解,原问题的解即子问题的解的合并。这个技巧是很多高效算法的基础,如排序算法(快速排序,归并排序),傅立叶变换(快速傅立叶变换)……转载 2017-08-23 23:52:25 · 469 阅读 · 0 评论 -
MD5算法原理
MD5(单向散列算法)的全称是Message-Digest Algorithm 5(信息-摘要算法),经MD2、MD3和MD4发展而来。MD5算法的使用不需要支付任何版权费用。 MD5功能: 输入任意长度的信息,经过处理,输出为128位的信息(数字指纹); 不同的输入得到的不同的结果(唯一性); 根据128位的输出结果不可能反推出输入的信息(不可逆); MD5转载 2017-09-02 20:19:18 · 519 阅读 · 0 评论