
算法
文章平均质量分 66
萌哒哒白小羊
hellow
展开
-
银行家算法
银行家算法(Banker's Algorithm)是一个避免死锁(Deadlock)的著名算法,是由艾兹格·迪杰斯特拉在1965年为T.H.E系统设计的一种避免死锁产生的算法。它以银行借贷系统的分配策略为基础,判断并保证系统的安全运行。介绍:我们可以把操作系统看作是银行家,操作系统管理的资源相当于银行家管理的资金,进程向操作系统请求分配资源相当于用户向银行家贷款。为保证资金的安全,银行原创 2017-06-25 11:16:49 · 638 阅读 · 0 评论 -
KMP算法
推荐这篇文章,图文并茂,讲解清晰,十分适合不了解者点击打开链接总结:目标串:a b c d a b f模式串:a b f模式匹配时,模式串首先比较目标串的0位。及之后两位,不成,直接切换到4位继续比较如:目标串:a b c d a b f模式串: a b f这样是最省时间的,朴素暴力法,通过逐一比较实现这一过程(模式串每次整体后原创 2017-07-15 14:41:15 · 280 阅读 · 0 评论 -
回溯法
回溯法按深度优先策略搜索问题的解空间树。首先从根节点出发搜索解空间树,当算法搜索至解空间树的某一节点时,先利用剪枝函数判断该节点是否可行(即能得到问题的解)。如果不可行,则跳过对该节点为根的子树的搜索,逐层向其祖先节点回溯;否则,进入该子树,继续按深度优先策略搜索。 回溯法的基本行为是搜索,搜索过程使用剪枝函数来为了避免无效的搜索。剪枝函数包括两类:1. 使用约束函数,剪去不满足约束条件的路原创 2017-07-10 10:06:50 · 611 阅读 · 0 评论 -
求最大公约数-辗转相除法-更相减损术
辗转相除法两个正整数a和b(a>b),它们的最大公约数等于a除以b的余数c和b之间的最大公约数。直至可以整除#include#includeusing namespace std;int test (int a,int b){ int temp; if(a { temp=a; a=b;原创 2017-07-31 20:55:09 · 650 阅读 · 0 评论