码迷,mamicode.com
首页 > 其他好文 > 详细

最长公共子序列定义

时间:2015-08-20 01:28:55      阅读:173      评论:0      收藏:0      [点我收藏+]

标签:最长公共子序列

最长公共子序列(Longest Common Subsequence,LCS)

flyfish 2015-8-20

假定我们有如下两个序列

S1: 1 2 3 4 5 6
S2: 4 5 6 7 8 9
S1S2有一个最长公共子序列为 4 5 6
一个子序列不一定必须是连续的,即中间可以被其他字符分开,但它们的顺序必须正确的。
最长公共子序列不一定只有一个。

S1: h e l l o
S2: l e o n
S1S2有一个最长公共子序列为 eo

《算法导论》的描述

子序列(subsequence)

A subsequence of a given sequence is just the given sequence with zero or
more elements left out.
一个给定序列的子序列就是该给定序列中去掉零个或者多个元素。

left out 忽视,不考虑;被遗忘
leave out的过去时或者被动语态 被遗忘,删掉等

公共子序列(common subsequence)
Given two sequences X and Y, we say that a sequence Z is a common subsequence of X and Y if Z is a subsequence of both X and Y
给定两个序列X和Y,如果Z既是X的一个子序列又是Y的一个子序列,则序列Z是X和Y的一个公共子序列。

最长公共子序列
X和Y的所有公共子序列中长度最长的公共子序列就是最长公共子序列。

Each subsequence of X corresponds to a subset of the indices {1,2,…,n} of X.
X has 2n subsequences。
X的每个子序列对应于X的下标集合{1,2,…,n}的一个子集。X共有2n个子序列。

为什么是2n?
排列组合解释
Combination [k?mb?’ne??(?)n] 美 [,kɑmb?’ne??n]
组合数

Arrangement 英 [?’re?n(d)?m(?)nt] 美 [?’rend?m?nt]
排列数

排列
从n个不同元素中,任取m(m≤n,m与n均为自然数,下同)个元素按照一定的顺序排成一列,叫做从n个不同元素中取出m个元素的一个排列;从n个不同元素中取出m(m≤n)个元素的所有排列的个数,叫做从n个不同元素中取出m个元素的排列数,用符号 A(n,m)表示。

Amn=n(n?1)(n?2)...(n?m+1)

Amn=n!(n?m)!

组合
从n个不同元素中,任取m(m≤n)个元素并成一组,叫做从n个不同元素中取出m个元素的一个组合;从n个不同元素中取出m(m≤n)个元素的所有组合的个数,叫做从n个不同元素中取出m个元素的组合数。用符号 C(n,m) 表示。

Cmn=(n?1)(n?2)...(n?m+1)m!

Cmn=n!m!(n?m)!

Cmn=Cn?mn

(a+b)0=1

(a+b)1=a+b

(a+b)2=a2+2ab+b2

(a+b)3=a3+3a2b+3ab2+b3


(a+b)1=C01a+C11b

(a+b)2=C02a2+C12ab+C22b2

(a+b)3=C03a3+C13a2b+C23ab2+C33b3

(a+b)n当n为正整数时的展开式就是二项式定理(Binomial Theorem)

binomial 英 [ba?’n??m??l] 美 [ba?’nom??l]
adj. 二项式的;二种名称的
n. [数] 二项式;二种名称

theorem 英 [‘θ??r?m] 美 [‘θi?r?m]
n. [数] 定理;原理

二项式各项系数
1
1 1
1 2 1
1 3 3 1

形成了杨辉三角

Crn+Cr+1n=Cr+1n+1

a=1,b=1

C0n+C1n+C2n+…Cnn=2n

版权声明:本文为博主原创文章,未经博主允许不得转载。

最长公共子序列定义

标签:最长公共子序列

原文地址:http://blog.csdn.net/flyfish1986/article/details/47783545

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!