经典算法
·银月·
这个作者很懒,什么都没留下…
展开
-
最长公共子序列O(n*m)
转载: 作者 :JarvisChu 出处:http://blog.csdn.net/jarvischu最长公共子序列 问题 若给定序列X={x1,x2,…,xm},则另一序列Z={z1,z2,…,zk},是X的子序列是指存在一个严格递增下标序列{i1,i2,…,ik}使得对于所有j=1,2,…,k有:zj=xij。例如,序列Z={B,C,D,B}是序列X={A,B,C,B,D,A,B}...转载 2018-03-15 11:19:07 · 570 阅读 · 0 评论 -
算法中常用的数字操作
算法中常用函数1、交换数值(异或运算)void swap(int *a,int *b):{ *a^=*b; *b^=*a; *a^=*b;}2、返回三个数最大值float max(float a,float b,float c){ return a>b?(a>c?a:c):(b>c?b:c);}3、返回整...原创 2018-03-16 16:45:04 · 418 阅读 · 0 评论 -
算法中常用的树操作(python)
算法中常用的树操作树的数据结构class TreeNode: def __init__(self, x): self.val = x self.left = None self.right = None1、树的子结构输入两棵二叉树A,B,判断B是不是A的子结构。(ps:我们约定空树不是任意一个树的子结构)cla...原创 2018-03-17 23:17:18 · 600 阅读 · 0 评论 -
算法中常用的排序操作
算法中常用的排序操作1、冒泡排序内部排序,最佳情况O(n),最差情况O(n*n),平均情况O(n*n),稳定排序void BubbleSort(int* parr,int size){ assert(parr); bool flag = false; for (int i = 0; i < size; i++){ fla...原创 2018-03-24 16:32:30 · 396 阅读 · 0 评论