算法:位运算

http://blog.csdn.net/pipisorry/article/details/70318778位操作基础位操作是程序设计中对位模式或二进制数的一元和二元操作。lz所以3进制在一般计算机应该不能进行位操作吧。基本的位操作符有与、或、异或、取反、左移、右移这6种,它们的运算规则如下所示:符号 描述 运算规则&       与两个位都为1时,结果才为1|   或    两个位都为0时,结...
阅读(484) 评论(0)

格雷码Gray Code

http://blog.csdn.net/pipisorry/article/details/72356418格雷码简介  在一组数的编码中,若任意两个相邻的代码只有一位二进制数不同,则称这种编码为格雷码(Gray Code),另外由于最大数与最小数之间也仅一位数不同,即“首尾相连”,因此又称循环码或反射码。格雷码(Gray Code)又称Grey Code、葛莱码、格莱码、戈莱码、循环码、反射二...
阅读(610) 评论(0)

拓扑排序Topological Sorting

http://blog.csdn.net/pipisorry/article/details/71125207拓扑排序Topological Sorting在图论中,拓扑排序(Topological Sorting)是一个有向无环图(DAG, Directed Acyclic Graph)的所有顶点的线性序列。且该序列必须满足下面两个条件:每个顶点出现且只出现一次。若存在一条从顶点 A 到顶点 B...
阅读(443) 评论(0)

最近邻查找算法kd-tree

http://blog.csdn.net/pipisorry/article/details/52186307海量数据最近邻查找的kd-tree简介本文的主要目的是讲一下如何创建k-d tree对特征点集合进行数据组织和使用k-d tree最近邻搜索来加速特征点匹配。k-d树(k-dimensional),是一种分割k维数据空间的数据结构(对数据点在k维空间中划分的一种数据结构),是一种高维索引树...
阅读(8280) 评论(0)

查找算法

http://blog.csdn.net/pipisorry/article/details/50752792O(n)时间快速选择算法导论里有讲到,可以参考如下的文章,  http://www.shadowxh.com/?p=598以及本文的别人的评论皮皮blog求无序数组的中位数 中位数即是排过序后的处于数组最中间的元素。 不考虑数组长度为偶数的情况。设集合元素个数为n。简单的想了下:思路1) ...
阅读(722) 评论(0)

排序算法

Bogo排序 在计算机科学中,Bogo排序原理等同将一堆卡片抛起,落在桌上后检查卡片是否已整齐排列好,若非就再抛一次。其名字源自Quantum bogodynamics,又称bozo sort或猴子排序。 原理:这是一个比较蛋碎的排序算法,将一堆卡片撒到地上,查看是否已排序好,若没有,捡起来再撒一次,直到有序情况出现. 维基百科:http://zh.wikipedia.org/wiki/Bo...
阅读(617) 评论(0)

编辑距离Edit distance

http://blog.csdn.net/pipisorry/article/details/46383947编辑距离Edit distance-序列之间的距离我们知道,汉明距离可以度量两个长度相同的字符串之间的相似度,如果要比较两个不同长度的字符串,不仅要进行替换,而且要进行插入与删除的运算,在这种场合下,通常使用更加复杂的编辑距离(Edit distance, Levenshtein dist...
阅读(1188) 评论(0)

数学计算相关算法

http://blog.csdn.net/pipisorry/article/details/46008603欧几里德算法欧几里德算法又称辗转相除法,用于计算两个整数a,b的最大公约数。计算原理定理:gcd(a,b) = gcd(b,a mod b) 证明:a可以表示成a = kb + r ,则r = a mod b假设d是a,b的一个公约数,则有 d|a, d|b,而r = a - kb,因此d...
阅读(1045) 评论(0)

二十世纪最伟大的10大算法

发明十大算法的其中几位算法大师一、1946 蒙特卡洛方法[1946: John von Neumann, Stan Ulam, and Nick Metropolis, all at the Los Alamos Scientific Laboratory, cook up the Metropolis algorithm, also known as the Monte Carlo method...
阅读(1174) 评论(0)

字符串面试题

http://blog.csdn.net/pipisorry/article/details/39617503 查出所有小字符串里的字母是否都在大字符串里 问题是这样的: 假设这有一个各种字母组成的字符串,假设这还有另外一个字符串,而且这个字符串里的字母数相对少一些。从算法是讲,什么方法能最快的查出所有小字符串里的字母在大字符串里都有? 比如,如果是下面两个字符串: String 1:...
阅读(1292) 评论(0)

笛卡尔树cartesian tree

笛卡尔树 笛卡尔树是一种特定的二叉树数据结构,可由数列构造,在范围最值查询、范围top k查询(range top k queries)等问题上有广泛应用。它具有堆的有序性,中序遍历可以输出原数列。笛卡尔树结构由Vuillmin(1980)[1]在解决范围搜索的几何数据结构问题时提出。从数列中构造一棵笛卡尔树可以线性时间完成,需要采用基于栈的算法来找到在该数列中的所有最近...
阅读(2456) 评论(0)

整数拆分问题详解

问题:  给定一个整数n,要找出n能拆分成多少种不同的若干个数的和与乘积的形式。比如:     4=4                   12=1*12     4=1+3               12=2*6     4=2+2               12=3*4     4=1+1+2           12=2*2*3     4=1+1+1+1 加法形式...
阅读(1967) 评论(0)

二叉树三种遍历非递归算法

1.先序遍历非递归算法 #define maxsize 100 typedef struct {     Bitree Elem[maxsize];     int top; } SqStack; void PreOrderUnrec(Bitree t) {     SqStack s;     StackInit(s);     p=t;     while (p!=...
阅读(1077) 评论(0)

算法基础和复杂度

http://blog.csdn.net/pipisorry/article/details/36014835算法分析基础学习[算法分析的基础知识ppt讲解]皮皮blog常用算法和数据结构的复杂度速查表搜索算法数据结构时间复杂度空间复杂度  平均最差最差深度优先搜索 (DFS)Graph of |V| vertices and |E| edges-O(|E| + |V|)O(|V|)广度优先搜索...
阅读(1872) 评论(0)
    个人资料
    • 访问:2619015次
    • 积分:25455
    • 等级:
    • 排名:第247名
    • 原创:534篇
    • 转载:30篇
    • 译文:5篇
    • 评论:245条
    Welcome to 皮皮blog~

    博客专栏
    最新评论