您好,欢迎访问三七文档
当前位置:首页 > 中学教育 > 高中教育 > 序列算法及编程基础巩晶2014年6月3日
序列算法及编程基础巩晶2014年6月3日基本序列算法基本序列算法1.后缀树序列:SDSDFSDFG1:SDSDFSDFG$2:DSDFSDFG$3:SDFSDFG$4:DFSDFG$5:FSDFG$6:SDFG$7:DFG$8:FG$9:G$基本序列算法1.后缀树字符串S:SDSDFSDFG功能:1.查找字符串s是否在字符串S中:从树根开始,与s的字符逐一比对。s1:DFSD(在);s2:SDFD(不在)基本序列算法1.后缀树字符串S:SDSDFSDFG功能:2.找指定字符串s在字符串S中的重复次数:从树根开始,按照功能1的办法找到s,然后看s之后有几片树叶。s1:SD(3次);s2:DF(2次)基本序列算法1.后缀树字符串S:SDSDFSDFG功能:3.找字符串S中的最长重复子串:找到从树根到所有节点(非叶片)的子字符串,从中找到最长的。SDF基本序列算法1.后缀树$的作用:如果某一个后缀是另一个后缀的前缀,那么需要用$标识出一个独立的叶片。序列:SDSDFSD1:SDSDFSD$2:DSDFSD$3:SDFSD$4:DFSD$5:FSD$6:SD$7:D$基本序列算法2.最高分子序列问题Input:一个序列(a1,…,an)∈RnOutput:一个子序列(ai,…,aj),使得函数f(i,j)最大,f(i,j)=∑ahjh=i最短原则:在几个子序列同时拥有最高分时,如果某一个完全包含在另一之内,则只返回被包含的那一个。基本序列算法2.最高分子序列问题生物学应用:(1)预测蛋白质序列跨膜区域。疏水氨基酸[0,3],亲水氨基酸[-5,0]。基本序列算法2.最高分子序列问题生物学应用:(2)预测DNA序列中富含GC区域。G,C给正分;A,T给负分。基本序列算法2.最高分子序列问题Input:一个序列(a1,…,an)∈RnOutput:一个子序列(ai,…,aj),使得函数f(i,j)最大,f(i,j)=∑ahjh=iNaïve算法:对于所有i=j∈[1,n],计算f(i,j),在找出最大值对应的(i,j)。所有可能的(i,j)组合的数量,即计算f(i,j)的次数:(n-1)+(n-2)+…+1=n*(n-1)/2=O(n2)计算一次f(i,j)所需的步骤:O(n)=Naïve算法的总运算步骤为O(n3)一个算法的运算步骤:k-log(n)-n-n*log(n)-n2动态算法:O(n2)分而治之算法:O(n*log(n))聪明算法:O(n)编程基础Linux是什么?-----Linux是一个操作系统!…………Linux介绍可视化窗口操作命令行操作远程连接Linux从Windows远程登录Linux:PuTTY:命令行操作1.HostName(orIPaddress)Eg.tollml.lrz.deHostname1.51.215.61IPaddress2.Username3.Password123从Windows远程登录Linux:WinSCP:文件传递远程连接Linux远程连接Linux从Linux远程登录另一Linux:远程登录命令:sshusername@hostname退出远程登录将当前机器上的文件拷贝到另一机器上“终端(terminal)”是向计算机发出命令的一个“窗口”。类似于Windows下的DOS命令窗口。Linux基本命令1.显示日期与时间的命令:date2.显示日历的命令:cal3.简单好用的计算器:bccal的语法:cal[[month]year]试试:cal102014cal2014+加,-减,*乘,/除,^指数,%余数1/3为什么等于0?答:bc默认只输出整数部分通过scale=number设定小数点后位数输入quit退出计算器几个基础的“热身”命令:0.ls命令=Dos里的dir重要的热键[Tab],[Ctrl]-c,[Ctrl]-d:[Tab]键具有“命令补全”与“文件补齐”的功能。输入ca,在a后紧接着按两次[Tab]键,则所有以ca开头的命令都被显示出来了。输入ls.bash后按两次[Tab]键,则所有以.bash开头的文件名都会被显示出来。想不起来完整的文件名或命令名时,输入开头的几个字母再按下[Tab]键,会自动帮你补齐或者给你足够的提示。好好利用[Tab]键,可以让你避免很多输入错误的机会。Linux基本命令重要的热键[Tab],[Ctrl]-c,[Ctrl]-d:[Ctrl]-c命令终止按键(Ctrl和c一起按)出现一堆东西在刷屏输入find/后,系统会开始跑一些东西,此时按下[Ctrl]-c组合键,命令立刻被终止了。如果你在Linux下输入了错误的命令或参数,有的时候这个命令或程序会不停的运行,这个时候按[Ctrl]-c组合键就可以让当前的程序“停下来”。注意:如果你正在运行比较重要的命令或程序,还是等它自己跑完了停下来再说吧,别随便用这个组合键,不然你的工作就白做了。[Ctrl]-d输入结束按键(Ctrl和d一起按)可以代替exit的输入。Linux基本命令查命令,找“男人”某个命令不会用,比如date,输入“mandate”就会出现详细的命令说明。这个man是manual的简写。Linux基本命令按PgUp,PgDn上下翻页,按q退出Linux基本命令目录与路径几个常见的处理目录的命令:•cd:切换目录•pwd:显示当前目录•mkdir:创建一个新的目录•rmdir:删除一个空的目录用符号代表的特殊目录:•.代表此层目录•..代表上一层目录•-代表前一个工作目录•~代表“目前用户”所在的主文件夹•/代表根目录绝对路径:由根目录“/”写起相对路径:不是由根目录“/”写起仅输入cd,代表的就是“cd~”的意思,即,回到自己的主文件夹。Linux基本命令目录与路径几个常见的处理目录的命令:•cd:切换目录•pwd:显示当前目录•mkdir:创建一个新的目录•rmdir:删除一个空的目录mkdir加了–p这个参数后,可以自行创建多层目录。rmdir加了–p这个参数后,可以连通上层“空的”目录一起删除。Linux基本命令文件与目录管理几个常见的命令:•ls:查看文件与目录参数:-a:全部的文件,连同隐藏文件(开头为.的文件)一起列出来-A:全部的文件,连同隐藏文件,但不包括.与..这两个目录-l:列出文件的详细信息,包括属性、权限、文件大小、日期等-hl:等同于-l,只是文件大小以人类较易读的方式(GB,KB等)列出来-R:连同子目录内容一起列出来,等于该目录下的所有文件都会显示出来-S:以文件容量大小排序,ls默认以文件名排序-t:以时间排序……Linux基本命令文件与目录管理几个常见的命令:•cp:复制参数:-i:若目标文件已经存在,在覆盖时会先询问操作的进行-r:用于复制整个文件夹(包括文件夹里的内容)•rm:删除参数:-i:若目标文件已经存在,在删除时会先询问操作的进行-r:用于删除整个文件夹(无论是否是空文件夹)(rmdir–p只能删除空的文件夹)文件与目录管理几个常见的命令:•mv:移动文件或更名Linux基本命令1.把文件“test.txt”移动到文件夹“test1”里2.将文件“test.txt”更名为“test1.txt”3.复制文件“test1.txt”,新文件为“test2.txt”4.把文件“test1.txt”和“test2.txt”同时移动到文件夹“test2”里1234Linux基本命令文件内容查阅几个常见的命令:•cat:将文件的第一行到最后一行连续显示在屏幕上。加参数“-n”可以打印出行号,连同空白行也会有行号。•tac:与cat相反,将文件的最后一行到第一行反向在屏幕上显示出来。•more:一页一页翻动。空格:向下翻一页;回车:向下滚动一行;q:退出。•less:一页一页翻动。空格:向下翻一页;PgDn:向下翻一页;PgUp:向上翻一页;q:退出。•head:取出前面几行。默认情况显示前10行。加上参数“-nnumber”可以显示前number行。•tail:取出后面几行。默认情况显示后10行。加上参数“-nnumber”可以显示后number行。Linux基本命令创建、修改一个纯文本文件几个常见的命令:•vi:程序编辑器1.2.按“a”,进入“Insert”模式,即输入模式。3.输入文本内容4.输入结束后,按“Esc”,退出“Insert”模式。5.输入“:wq”回车,保存退出。若只输入“:q”,则退出,不保存对文件内容的更改。
本文标题:序列算法及编程基础巩晶2014年6月3日
链接地址:https://www.777doc.com/doc-6188218 .html