您现在的位置:首页 > >

DNA计算机算法中利用递归算法求解背包问题在高校图书馆期刊管理工_论文

发布时间:

算法语言 信息与电脑 China Computer&Communication 2016 年第 11 期 DNA 计算机算法中利用递归算法求解背包问题在高校 图书馆期刊管理工作中的应用 李真真 (武警杭州士官学校训练部图书馆,浙江 杭州? 310023) 摘?要:背包问题是计算机算法中的一道常规题,算法研究通常涉及到相关数学知识的灵活运用,笔者详细说明 DNA 计算机算法中如何利用递归算法解决背包问题,同时阐述了其在高校图书馆期刊管理工作中的应用。 关键词:DNA 计算机算法;背包问题;递归算法;高校图书馆;期刊管理工作 中图分类号:TP301.6? ? 文献标识码:A? ? 文章编号:1003-9767(2016)11-086-02 n!={n(n-1)n>0(递归方程) 边界条件和递归方程是递归函数的两个要素,递归函数 只有具备了这两个要素,才能在有限次计算后得出结果。 计算阶乘函数 n! 输入:n 输出:n! int factorial(int n) { if(n==0) return 1;/* 基础步,终止性 */( 边界条件 ) else return n*factorial(n-1);/ 归纳步,收敛性 */ } ( 递归方程 ) 基本操作:n*factorial(n-1) 递归方程:{f(0)=0 f(n)=f(n-1)+1 f (n)=f(n-1)+1 =(f(n-2)+1)+1 …………… =f(n-n)+n=f(0)+n 时间复杂性:O(n) 每一次递归,都分配常数个工作单元用于递归栈,递归 深度为 n。所以,空间复杂性为 O(n)。 算法简析如下。递归是计算机科学的一个重要概念,递 归的方法是程序设计中有效的方法,采用递归编写递归程序 变得简洁而清晰。例如,递归思想在快速排序中的应用。快 速排序的思想是:先从数据系列中选一个元素,并将序列中 所有比该元素小的元素都放在它的右边或左边,再对左右两 边分别用同样的方法处理,直到每一个待处理的序列长度为 1,处理结束。 程序如下: program kspv; 1?DNA 计算机算法 DNA 计算机( Blolgical Computer )属于一种生物形式 的计算机,它是利用 DNA (脱氧核糖核酸)建立的一种完 整的信息技术形式。分子生物学在不断发展,在一个测试 试管中会产生 10 18 个 DNA 链,这些分析链可以表示和它们 数量相等的数据,而且在基本生物学的操作之后能够同时 将 10 18 位的信息进行处理,也就是说能将 10 18 位数据进行 并行的执行。 要进行 DNA 计算机模型中的子运算,可以选择使用酶 切或者 PCR 等技术,具体的计算步骤如下:在 DNA 内部实 行切割,并对内切酶实行强有力的限制,在切割过程中,应 注意切割的位置、大小和方式,不同的酶切技术有不同的技 巧。随着当前技术的发展,DNA 计算机的计算方法已广泛使 用到酶切技术。DNA 的计算模型能够实行有效拓展的基础是 保证 Ad leman-Lipnon 模型粘贴模型解的空间实现快速结合, 该类型的模型具备编码较少、求解过程方便快捷等优势,同 时还能够实现自动化控制。 2?递归算法 数学课程中很多问题都可以用程序设计的思维方法来解 决。数学方法是指解决数学问题的途径和步骤,它是计算学 科中最根本的研究方法。理论上凡能被计算机处理的问题均 可以转换为一个数学问题。通俗点说,就是计算机解题的过 程。在这个过程中无论是形成解题思路还是编写程序,都是 在实施某种算法。一个算法应具有五个重要特征:有穷性、 确切性、输入、输出、可行性。 下 面 介 绍 一 下 递 归 算 法。 递 归 算 法(Recursive Algorithn)是直接或间接地调用自身的算法,用函数自身给 出定义的函数称为递归函数。 首先先了解一下阶乘函数。阶乘函数可递归地定义为: 1 n=0(边界条件) 作者简介:李真真(1981-),女,江苏连云港人,硕士,图书馆馆员。研究方向:普适计算以及算法。 —   86   — 2016 年第 11 期 信息与电脑 China Computer&Communication 算法语言 cost n=7; type arr=array[1..n]of integer; var i:integer; procedure quicksort(var b:arr;s,t:integer); var i,j,x,t1;integer; begin i:=s;j:=t;x:=b; repeat while(b[j]>=x)and(j>i)do j:=j-1; if j>I then begin t1:=b;b:=b[j];b[j]:=t1;end; while (b<=x)and(i<j)do i:=i+1; if i<j then begin t1:=b[j];b[j]:=b;b:=t1;end until i=j; b:=x; i:=i+1;j:=j-1; if s<j then quicksort(b,s,j); if i<t then quicksort(b,I,t); end; begin write(‘input data:’); for i: =1 to n do read(a); write 1n; quicksort(a, 1, n); write(‘output data:’); for i:=1 to n do write(a:6); write1n; end. pbdemodb 添加表 bag,通过调用表内的结果来说明问题(省 略算法源代码)。 在调试中,当数目小于 10 时,时间几乎为 0,逐级增加 数目时,时间也呈指数型上升,当物品数值超过 22 时,会 等待很长时间,甚至死机。 4?高校图书馆期刊管理工作 期刊室图书馆是主要信息资源之一,也是图书馆馆藏的 重要组成部分。一般来说,期刊作为纸质文献(本校图书馆同


热文推荐
猜你喜欢
友情链接: 工作计划 总结汇报 团党工作范文 工作范文 表格模版 生活休闲