
Arithmetic
文章平均质量分 53
juunnry
学习是一种生活,工作是一种享受
展开
-
操作系统:读者-写者问题
读者写者问题:哲学家就餐问题对于互斥访问有限资源的竞争问题(如I/O设备)一类的建模过程十分有用。另一个著名的问题是读者-写者问题(Courtois 等人,1971),它为数据库访问建立了一个模型。例如,设想一个飞机订票系统,其中有许多竞争的进程试图读写其中的数据。多个进程同时读数据库是可以接受的,但如果一个进程正在更新(写)数据库,则所有的其他进程都不能访问该数据库,即使读操作也不行。所有等...原创 2018-11-18 15:04:58 · 1763 阅读 · 0 评论 -
算法二十五:可连接成的最长字符串(使用Floyd算法)
问题:有n个长为m+1的字符串,如果某个字符串的最后m个字符与某个字符串的前m个字符匹配,则两个字符串可以联接,问这n个字符串最多可以连成一个多长的字符串,如果出现循环,则返回错误。分析:使用Floyd算法,设图G的顶点为V={1,2,...,n},对某个顶点k考虑顶点的一个子集,对任意一对顶点i,j属于V,考虑从i到j且中间顶点皆属于{1,2,...,k}的所有路径,假设p是其中一条最小权值...原创 2018-11-18 15:02:14 · 505 阅读 · 0 评论 -
编程珠玑:位向量
位图或位向量图作为一个集合,表示的这样的一个数据结构: 用字符串 0 1 1 1 0 1 0 0 1 0 0 0 0 1 0 0 0 0 0 0 表示集合 {1,2,3,5,8,13}. 位图的应用需要数据有如下的特性: 1.输入数据限制在相对较小的范围内; 2.数据没有重复; 3.除了单一整数外,没有任何其他关联数据 假如只有大约1M内存,...原创 2018-11-18 14:55:45 · 1845 阅读 · 0 评论 -
算法二十四:最后胜出队伍
n支队伍比赛,分别编号为0,1,2。。。。n-1,已知它们之间的实力对比关系,存储在一个二维数组w[n][n]中,w[i][j] 的值代表编号为i,j的队伍中更强的一支。 所以w[i][j]=i 或者j,现在给出它们的出场顺序,并存储在数组order[n]中,比如order[n] = {4,3,5,8,1......},那么第一轮比赛就是 4对3, 5对8。.......胜者晋级,...原创 2018-11-18 14:53:49 · 361 阅读 · 0 评论 -
算法二十二:数组和之间差最小
有两个序列a,b,大小都为n,序列元素的值任意整数,无序;要求:通过交换a,b中的元素,使[序列a元素的和]与[序列b元素的和]之间的差最小。例如: var a=[100,99,98,1,2, 3];var b=[1, 2, 3, 4,5,40];分析:要是序列的和之差最小,考虑将两个序列组合成一个序列1,对序列求和sum,选取一个数组,使得这个数组的和最接近sum/2,对合成...原创 2018-11-18 14:48:19 · 1227 阅读 · 0 评论 -
段页式存储管理方式
基本分页存储管理方式(1)页面与页表:页面将一个进程的逻辑地址空间分成若干个大小相等的片,分页地址中页号和页内地址的计算P=INT[A/L],d=[A] MOD L;页表:系统为每个进程建立了一张页面映像表简称页表;(2)地址变换机构:实现从逻辑地址到物理地址的转换 请求分页存储管理方式页表中增加了状态位、访问字段位、修改位增加了缺页中断机构,与一般的中断有明显区别:(...原创 2018-11-18 15:08:39 · 1738 阅读 · 0 评论 -
操作系统:银行家算法避免死锁
银行家算法是用来避免死锁的,该方法将系统的状态分为安全和不安全,只要系统处于安全状态,便可避免死锁的发生。之所以成为银行家算法,是由于该算法能用于银行系统现金贷款的发放而得名。安全状态的定义为:系统按照某种进程顺序,如,来为进程分配资源,直到最大需求,使每个进程都能顺序完成,此时称系统处于安全状态。银行家算法是由大牛Dijkstra提出的,为实现银行家算法,系统中应该设置若干数据结构:...原创 2018-11-18 15:07:36 · 1359 阅读 · 0 评论 -
数据结构基础:拓扑排序
对一个有向无环图G进行拓扑排序,是将G中所有的顶点排成一个线性序列,使得图中任意一对顶点u和v,若<u,v>属于E(G),则u在线性序列中出现在v之前。方法:1. 在有向图中选取一个没有前驱的顶点输出值2. 从图中删除该顶点和所有以它为尾的弧3. 重复上述过程,直到所有顶点均输出代码:TopoSort.h#ifndef TOPOSORT#define T...原创 2018-11-18 15:03:31 · 363 阅读 · 0 评论