
算法与计算
deepfuture
这个作者很懒,什么都没留下…
展开
-
树-遍历
ab cabcbaccab abc 是前序,bac是中序,bca是后序原创 2010-01-15 17:29:00 · 567 阅读 · 0 评论 -
基序发现问题和中间字符串问题
1、如果P(s)表示对应于起始位点s的剖面矩阵,我们用MP(s)(j)来表示P(s)第j列中的最大计数。定义共有序列得分Score(s,DNA)为: l∑ MP(s)(j),可用来度量起始点为s的序列谱的强度。j=12、给定一组DNA序列,从每条序列中发现一组L元组片段,使得共有序列得分为最大。输入:一个t*n阶的DNA矩阵,以及试图发现的模式的长度L输出:含t个起始位点的数组S=(S原创 2009-12-31 20:14:00 · 604 阅读 · 0 评论 -
基序发现问题和中间字符串问题检索树
1、在一个由k个字母组成的字母表中考虑所有k^l个L-元组片段。对于基序发现问题而言k=n-l+1,而对于中间字符串而言则k=4。2、ALLLEAVES给定一条L-元组片段,输出所有4元组片段。NEXTLEAF(a,L,k) FOR I IF aik aiai+1 return a ai return aALLLEAVE原创 2009-12-31 20:12:00 · 565 阅读 · 0 评论 -
同源异型框与局部联配
同源异型框基因是在大多数物种中存在的调节胚胎发育的基因,尽管同源异型框基因工程在不同特种中有很大差异,但它们中有一个称为同源异型域外的区域非常保守,如果找到这个保守区域并忽略其它相似性很低的区域,提出了局部联配问题 局部联配问题: 在2个字符串中寻找最佳局部联配。 输入:字符串V与W及得分矩阵 δ 输出:下述条件的V与W的子字符串:在 δ下的全局联配得分是V与W的所有子字符串的原创 2009-12-30 20:45:00 · 513 阅读 · 0 评论 -
多字符串匹配-Set Horspool
原创 2010-01-02 12:50:00 · 517 阅读 · 0 评论 -
多字符串匹配-SBNDM算法
原创 2010-01-02 12:48:00 · 471 阅读 · 0 评论 -
马尔可夫算法执行过程
把输入串的第一个字母移到未尾的例子,规则的优先次序是:(1)αxy->yαx(2)α->^(3)^->αα、β表示字符串对串ABC输入串的执行顺序。(严格按照从(1)到(3)的规则搜索顺序执行)规则 成功与否 字符串1 F原创 2010-01-02 12:44:00 · 859 阅读 · 0 评论 -
堆排序
五. 堆排序1、堆排序定义 n个关键字序列Kl,K2,…,Kn称为堆,当且仅当该序列满足如下性质(简称为堆性质): (1)ki≤K2i且ki≤K2i+1或(2)Ki≥K2i且ki≥K2i+1(1≤i≤ ) 若将此序列所存储的向量R[1..n]看做是一棵完全二叉树的存储结构,则堆实质上是满足如下性质的完全二叉树:树中任一非叶结点的关键字均不大于(或不小于)其左右孩子(若存在)转载 2010-01-02 12:42:00 · 346 阅读 · 0 评论 -
在不受限内存情况猜数字次数最小的算法
使用列出所有可能解集,然后收敛解集的方法===================Guess_Number_Lib.pas Unit Guess_Number_Lib;{$mode Delphi}{$S+,Q+,N+}Interface Type Get_Back = record A , B : Integer; End;原创 2010-01-02 12:39:00 · 995 阅读 · 0 评论 -
DNA的分子编码基因
1、DNA是一个含有糖、磷酸基因以及四种含氮碱基中的一个(A、T、G或C)组成的简单分子。DNA中连接核苷酸的化学键是相同的。2、DNA中A和T、G和C的含量之比是1:1。DNA复制时A被T吸引,G被C吸引,DNA的亲代链与子代链互补,就是ATGACC与TACTGG互补。3、最终可以得到一个DNA双螺旋结构,两条链通过特定的碱基对间的氢键连接在一,这种特定的碱基配是:A-T和G-C,一个链原创 2010-01-02 12:38:00 · 950 阅读 · 0 评论 -
遗传信息流
蛋白质的三维结构是高度可变的。 组合在一起形成一个大结构的蛋白质基团。RNA聚合酶就是这样一种蛋白质复合体,它是通过将DNA碱基序列拷贝到较短的RNA碱基序列,而启动转录一个基因,得到的DNA序列称为信使RNA。这个短分子被一个称为核糖体的大分子复合体捕获,读出连续的密码子,并将相应的氨基酸定位在生长着的多肽链上。 遗传信息流: DNA->转录->RNA->翻译->蛋白质原创 2009-12-31 20:18:00 · 3301 阅读 · 0 评论 -
分支界定法
1、如果一个顶点的所有后代中没有一个顶点的得分会优于已经探测到的最优叶子的得分。2、在每个顶点处,我们计算一个边界-以那个顶点为根顶点的子树中所有叶子的最大范围内的最优得分-然后决定是否考虑其子顶点。原创 2009-12-31 20:12:00 · 952 阅读 · 0 评论 -
找到与M美分找头相应的最小硬币数
试图找到与M美分找头相应的最小硬币数。DPCHANGE(M,c,d) bestNumCoins0 for m bestNumCoinsm fori if m>=Ci if bestNumCoinsm-Ci+1bestNumCoinsm bestNumCoinsm m-Ci+1 return b原创 2009-12-30 21:11:00 · 383 阅读 · 0 评论 -
最长共同子序列(LCS)的动态规划算法
1、定义成将一个字符串变换成另一个字符串需要的最小的编辑操作数目,这里的操作是指插入一个字符、删除一个字符、将一个字符替换成另一个字符。2、AT-GTTAT-表示对应于V=ATGTTAT的行,而ATCGT-A-C表示对应于W=ATCGTAC的行,一个有散布的空格字符(用-表示)的字符串。另一种方法是用122345677表示AT-GTTAT-,表示V中字符出现在一个给定位置上的编号。W用123455原创 2009-12-30 20:47:00 · 615 阅读 · 0 评论 -
全局序列联配
注意不是最长子序列LCS,LCS问题对应于匹配则奖励1,插缺则没有惩罚。如果要对插缺进行统计分析,则属于序列联配问题,最佳序列联配求出的并不是最长子序列对有K个字母的字符集A进行扩展,加入缺口符号-,并提出得分矩阵为(k+1)*(k+1)矩阵,将联配中的列(x,y)记为δ(x,y),将联配的得分定义为所有列得分之和。联配中列的概念是:假设V=ATG,W=A-G,则每列分别定义为:(0,原创 2009-12-30 20:47:00 · 928 阅读 · 0 评论 -
多字符串匹配-aho-corasick算法
aho-corasick自动机1、图示2、原理:实质是KMP算法在多模式串匹配的扩展,首先构造TRIE树,然后以层次遍历序访问该树,在TRIE树的基础上构造A-C自动机。其中F(q)表示:1)q是个终结状态,如果q对应一个完整的字符串,则称q为终结状态2)F(q)包括了模式串集合P中,q所对应的该集合的子集的字符串3、构造代码基本的算法二、高级算法原创 2010-01-02 12:51:00 · 1079 阅读 · 0 评论 -
多字符串匹配-Commentz-Walter
1、Commentz-Walter算法是BM算法的自然扩展,它的速度并不快。2、用TRIE表示P模式串集的所有模式串的反转,在文本串的pos位置从后向前识别文本的最长后缀u,使得u是某个模式串的后缀。找到一个出现,就报告一个成功匹配,然后根据在多模式串集合上的d1,d2,d3来移动。3、使用三个扩展的BM的d1,d2和d3,将当前位置向移动。对于TRIE的每个状态,都需要计算前两个函数d1原创 2010-01-02 12:51:00 · 1132 阅读 · 0 评论 -
条件概率P(A|B)的逆概率-贝叶斯定理
原创 2010-01-02 12:41:00 · 5966 阅读 · 0 评论 -
多字符串匹配-Multiple BNDM算法
原创 2010-01-02 12:49:00 · 780 阅读 · 0 评论 -
多字符串匹配-Wu-Manber算法
原创 2010-01-02 12:49:00 · 578 阅读 · 0 评论 -
字符串-最小后缀自动机与有限状态自动机
1、 最小后缀自动机 一个串x的最小后缀自动机SA(suffixautomaton),记为SA(x),即识别串x的所有后缀的最小确定自动机.如图1所示,该自动机可以接受串baabbaa的以下所有后缀:ε,a,aa,baa,bbaa,abbaa,aabbaa,baabbaa. 已经存在以线性复杂度构造SA的算法,对长度为m的串x,构造时间为O(m),且SA(x)原创 2010-01-07 20:26:00 · 834 阅读 · 0 评论 -
字符串匹配-基于子串的搜索方法
1、如果在搜索窗口中,已经从后向前识别了模式串的子串U,并且无法继续识别下一字符σ,意味着σU不是它的子串,不用像后缀搜索那样,小心地向后移动窗口,以免让模式串中(模式串中可能存多个U)其它可能的U前面有σ,因此可以安全地移动窗口到σ之后。2、1)模式串长度不超过机器字长W时,后缀自动机可用位并行方式进行有效模拟形成BNDM算法。2)模式串较长时,BOM能获得BDM算法相同的效果。原创 2010-01-07 20:25:00 · 845 阅读 · 0 评论 -
上下文无关文法
1、上下文无关文法又称CFG。许多CFG由几个较简单的CFG合并起来。可以先构造每个部分的CFG,比如:S1,S2,S3.......,Sk。然后加入新的规则S->S1|S2|....|Sk2、例如:构造语言{0^n 1^n|n>=0}∪{1^n0^n|n>=0}的CFG,1)构造{0^n 1^n|n>=0}S1->0 S1 1|ε2){1^n 0^n|n>=0}S2->1 S原创 2010-01-07 20:24:00 · 1237 阅读 · 0 评论 -
字符串匹配-BNDM算法
1、BNDM算法与BDM相似,它维护一个集合,即位向量D=Dm....D1,用这个位向量的位记录u在P的反转串中的所有出现位置(因为D的构造是从Dm到D1,不是从D1到Dm,所以用反转),用这种并行算法代替后缀自动机来识别模式串的子串。如果子串Pj....P(j+|u|+1)等于u,那么D的第m-j+1位是1,表示p的位置j是一个活动状态。2、当读入一个新的文本字符σ时,要从D更新到D,D原创 2010-01-07 20:23:00 · 2091 阅读 · 0 评论 -
crytoppp库分析-base64
BASE64的意思就是说从二进制流(所有的无论是中文还是英文都可表示为二进制流,因为存储的是ASCII嘛,还有非文本字符都可以表示为二进制流)中取6个二进制位,因为2的6次方是64,然后,给0-64的每个数字一个字母、数字或者符号做为代表,原因在于这些可以用ASCII码表示,并没有其它任何含义,如果愿意,你也可以制作自己独特的BASE64标准,比如说26-51为大写的A-Z,然后写自原创 2010-01-07 20:09:00 · 971 阅读 · 0 评论 -
crytoppp库分析-base
//BASE的编码、解码// basecode.cpp - written and placed in thepublic domain by Wei Dai#include "pch.h"#ifndef CRYPTOPP_IMPORTS#include "basecode.h"#include "fltrimpl.h"#includeNAMESPACE_BEGIN(Crypt原创 2010-01-05 21:50:00 · 605 阅读 · 0 评论 -
多字符串匹配-multiple shift-and算法
原创 2010-01-05 21:45:00 · 562 阅读 · 0 评论 -
多字符串匹配-SBOM算法
原创 2010-01-02 12:46:00 · 1308 阅读 · 0 评论 -
扩展字符串匹配-Shift-And算法扩展
一、为处理PROSITE表达式设计,PROSITE表达式即形如a-b-c-x(1,3)-e类似的模式串,x(1,3)表示1-3位可选字符二原创 2010-01-02 12:45:00 · 530 阅读 · 0 评论 -
扩展字符串匹配-BNDM算法扩展
一、为处理PROSITE表达式设计,PROSITE表达式即形如a-b-c-x(1,3)-e类似的模式串,x(1,3)表示1-3位可选字符二、原创 2010-01-02 12:42:00 · 496 阅读 · 0 评论 -
RNA与DNA
1、RNA负责某个特定蛋白质的合成。与编码蛋白质的DNA片段互补,DNA做为模板,用来复制一个特定的基因到信使RNA中,RNA携带基因上的遗传信息到核糖体上合成特定的蛋白质2、DNA在细胞核内,而蛋白质的合成在细胞核外发生,在细胞质内,RNA就是其中的传递媒介3、真核生物的基因被断裂为一个个片段,原核生物的基因是连续的。4、RNA含有U,DNA不含原创 2010-01-02 12:36:00 · 697 阅读 · 0 评论 -
DNA序列剖面
1、在随机生成的7个长为32个核苷酸的DNA序列中,在每个DNA序列中的随机位点插入相同的序列,长度为8的模式P=ATGCAACT,你不知道模式P是怎样的序列,或者不知道在每条序列中它插入在哪里,DNA允许这个模式P在某些核苷酸位点上出现突变,突变后形成不完全相同的7个模式。要求:通过对DNA序列的分析重构模式P。2、算法: 考虑一组t条DNA序列,每条序列中含有n个核苷酸。在这原创 2009-12-31 20:15:00 · 685 阅读 · 0 评论 -
分支界定发现基序问题
1、有一部分起始位点在没对其进行迭代前,可根据它们得分的最优估计,简单而迅速地将它们排除在外。如:若t个起始位点中的前i个位点[即:(s1,s2,...,si)]构成了一个弱序列谱,没必要考虑序列i+1,i+2,....,t中的任一起始位点。2、给定一组起始位点s=(s1,s2,..,st),定义部分一致得分Score(s,i,DNA)为i*l阶联矩阵的一致得分,且该矩阵仅涉及与起始位点S原创 2009-12-31 20:11:00 · 627 阅读 · 0 评论 -
曼哈顿游客问题
在加权网格中寻找一条最长的路线。输入:有源点和汇点的加权网络G输出:G中从源点到汇点的一条最长的路线。在网络中只能向右或向下移动。 MATHATTANTOURIST(Wdown,Wright,n,m) S0,0 for i Si,0S i-1,0+Wdowni,0 for j S0,jS0,j-1+Wrighti,j for i原创 2009-12-30 21:09:00 · 1284 阅读 · 0 评论 -
Otway-Rees
原创 2010-01-02 13:02:00 · 1017 阅读 · 0 评论 -
字符串匹配-trie自动机
1、trie自动机是识别字符串的确定性有向无环自动机 2、图示3、构造代码 F(q)包括了状态q所对应的P(一个包括模式串的集合)中的字符串原创 2010-01-02 12:57:00 · 430 阅读 · 0 评论 -
复合概率和条件概率
1、对于复合概率要结合文氏图来理解2、P(A∩B)=n(A∩B)/n(S) n为元素集合元素个数,S为样本空间。3、P(A|B)=P(A∩B)/P(B) 在B发生的条件下,A发生的概率。4、P(A∪B)=P(A)+P(B)-P(A∩B)原创 2010-01-02 12:44:00 · 2248 阅读 · 1 评论 -
染色体的基因顺序遗传图谱
1、对果蝇的研究发现,决定眼睛的基因CN、决定腹部色的基因B以及决定翅膀大小的基因UG。2、有些连锁基因定位在同一染色体的相近部位,越近,两个基因的关联程度越高,在染色体上的距离截止近。3、将B和UG双突变体果蝇与正常果蝇进行杂交,发现大约有17%的后代是单突变体。将B和CN双突变体果蝇与正常果蝇进行杂交,发现大约有9%的后代是单突变体。将UG和CN双突变体果蝇与正常果蝇进行杂交,发现原创 2010-01-02 12:40:00 · 1675 阅读 · 0 评论 -
模序联配问题
模序联配问题寻找一条穿过编辑图的最长的块路径。输入:两条序列u和v,并划分成大小为t的模序输出:u和v的具有最大联配得分的模序联配,即:穿过编辑图的最长块路径。考虑(n/t) * (n/t) 块对,每对块定义编辑图中的一个正方形区域,同时对每对模序计算联配得分βi,j。Si,j表示U的前i个模序与v的前个模序之间的最优模序联配得分。那么:σblock 是插入或删除整个原创 2009-12-29 21:26:00 · 405 阅读 · 0 评论 -
通用DNA阵列的工作步骤
通用DNA阵列包含长度为L的全部4^l个探针。工作步骤如下:1、将所有可能的长度为l的探针附着在表面,每个探针的位置是确定的、已知的。这个探针的集合称为DNA阵列。2、将包含作过荧光标记的DNA片段的溶液涂在阵列上。3、DNA片段会和那些与片段中长度为l的子序列互补的探针杂交。4、检查和DNA片段杂交的探针并获得DNA片段的L-元组组成。5、应用某种组合算法根据L-元组组成重构原创 2009-12-29 21:25:00 · 467 阅读 · 0 评论