
算法
文章平均质量分 70
slsinsiston
这个作者很懒,什么都没留下…
展开
-
动态规划整理总结(未完待续)
动态规划是一种在数学和计算机科学中使用的,用于求解包含重叠子问题的最优化问题的方法。其基本思想是,将原问题分为相似的子问题,在求解过程中通过子问题的解求出原问题的解。任何思想方法都有一定的局限性,超出了特定条件,它就失去了作用。同样,动态规划也并不是万能的。适用动态规划的问题必须满足最优化原理和无后效性。 1.最优化原理(最优子结构性质) 最优化原理可这样阐述:一个最优化策略具有原创 2012-05-27 20:40:16 · 720 阅读 · 0 评论 -
由Maximum Gap,谈桶排序,基数排序和计数排序
排序算法原创 2014-12-17 22:20:50 · 1501 阅读 · 0 评论 -
【leetcode】LRU
LRU原创 2014-11-03 20:12:10 · 1085 阅读 · 1 评论 -
素数
最近笔试考了好几次素数,整理一下。概念:素数又称质数。指在一个大于1的自然数中,除了1和此整数自身外,不能被其他自然数整除的数。素数在数论中有着很重要的地位。比1大但不是素数的数称为合数。1和0既非素数也非合数。1、判断一个数是不是素数 1)若只给你一个数,然后让你判断这个数是不是素数。 解法一:判断n是否能够被2-n-1的数整除,若能整除则不是素数,若不能原创 2012-10-16 17:47:23 · 2248 阅读 · 1 评论 -
数据结构之堆
之前理解的堆都是内存里的堆,从网上找到这个介绍数据结构的堆的文章,不错,转发过来。以后看到好的文章一定记录下来。作者:Dong | 可以转载, 但必须以超链接形式标明文章原始出处和作者信息及版权声明网址:http://dongxicheng.org/structure/heap/1. 概述堆(也叫优先队列),是一棵完全二叉树,它的特点是父节点的值大于(小于)两个子节转载 2012-10-26 16:27:10 · 675 阅读 · 0 评论 -
统计数字二进制中1的个数(分治法)
对于此问题,《编程之美》中给出了五种解法,但是实际上还有更高效的算法。可以利用分治的方法解决这个问题。例如,要计算二进制数 A=0110110010111010 中 1 的个数,这些运算可以表示为:符号二进制十进制注释A0110110010111010 原始数据B = A & 01 01原创 2012-11-13 19:03:46 · 1644 阅读 · 3 评论 -
全排列
一、递归求全排列思想:后面的元素与第一个相交换,然后全排列后面的元素,递归。#include #include using namespace std;template void swap(T *a,T*b){ T temp; temp=*a; *a=*b; *b=temp;}template void permut(T *a,int pos,int len){原创 2012-05-09 11:24:28 · 633 阅读 · 0 评论 -
尾递归
关于递归操作,相信大家都已经不陌生。简单地说,一个函数直接或间接地调用自身,是为直接或间接递归。例如,我们可以使用递归来计算一个单向链表的长度:public class Node{ public Node(int value, Node next) { this.Value = value; this.Next = next; }转载 2012-08-24 14:46:00 · 668 阅读 · 0 评论 -
组合
学习学习,我觉得这应该属于回溯法。(1) 递归a. 首先从n个数中选取编号最大的数,然后在剩下的n-1个数里面选取m-1个数,直到从n-(m-1)个数中选取1个数为止。b. 从n个数中选取编号次小的一个数,继续执行1步,直到当前可选编号最大的数为m。下面是递归方法的实现:/// 求从数组a[1..n]中任选m个元素的所有组合。 /// a[1转载 2012-08-11 14:32:50 · 576 阅读 · 0 评论 -
A+B不用算数运算符
int add_no_arithmetic(int a, int b){ if(b==0) return a; return add_no_arithmetic((a^b),(a&b)<<1);}转化为二进制进行计算a^b : 只计算相加后不需要进位的运算(a&b)原创 2012-06-04 15:57:41 · 1370 阅读 · 0 评论 -
递归总结(待完善)
一、递归函数的原理 一个直接调用自己或者通过一系列的调用语句间接调用自己的函数,称做递归函数。原理:系统用栈保存未完成的工作,在适当的时候从栈中取出并执行。 系统保存了工作的数据和状态,数据就是函数的局部变量,状态就是程序指针。有很多递归的问题,许多递归问题有类似的模式。一种好的判断是否可以用递归解决问题的线索是看这个问题能否分解为子问题。当你听见一个问题以下面句子开头的原创 2012-05-09 22:31:28 · 629 阅读 · 0 评论 -
atoi
atoi原创 2015-03-16 15:57:20 · 1141 阅读 · 0 评论