软考知识点
不吃带叶的
[唯有勤者留其名]
展开
-
设计模式及适用场景
一、命令模式定义:命令将一个请求封装为一个对象,从而使得可以使用不同的请求对客户进行参数化,对请求排队或记录请求日志,以及可撤销的操作。适用情况:1、抽象出待执行的动作以参数化某对象,此模式是过程语言中的回调机制的一个面向对象的替代方法;2、在不同的时刻指定、排列和执行请求;3、支持取消操作;4、支持修改日志,这样当系统崩溃时,这些修改可以重新被做一遍;5、用构建在原语操作上的高层操作构造一个系统;二、责任链模式定义:责任链是多个对象都有机会处理请求,从而避免请求的发送者和接受者之间的原创 2020-10-19 18:56:53 · 395 阅读 · 0 评论 -
二叉树深度优先遍历
在二叉树的深度优先遍历中分为前序遍历、中序遍历和后序遍历,其中根据前序遍历和中序遍历或后序遍历和中序遍历可以推算出完整的二叉树。三种遍历方式为:前序遍历:根节点->左子树->右子树中序遍历:左子树->根节点->右子树后序遍历:左子树->右子树->根节点由上述三种遍历方式可知中序遍历最为重要,因为中序遍历可以确定哪些节点在根节点的左侧,哪些节点在根节点的右侧。首先根据前序或后序遍历找到根节点,然后根据中序遍历将其他节点分配到根节点两侧,以此方式使用递归的方式可以原创 2020-10-13 16:54:49 · 393 阅读 · 0 评论 -
数据库关系(1)
例题:给定关系R(U,Fr) 其中属性集U={A,B,C,D},函数依赖集Fr={A->BC,B->D};关系S(U,Fs),其中属性集U={A,C,E},函数依赖集Fs={A->C,C->E},R和S的主键分别为();关于Fr和Fs的叙述正确的是();以上为题干,先不看答案,数据库关系的考题一般是两问,第一问考主键,第二问考依赖关系;主键:若满足该属性即可遍历全图,就是使用该属性可以推出其他属性,首先看Fr中A->BC,A可以推出BC,此处亦可写为 A->B,A-&原创 2020-10-13 16:00:39 · 952 阅读 · 0 评论 -
共享锁与排它锁
在多用户共享的系统中,多用户对同一数据进行操作可能会带来数据不一致的情况,因此在并发操作中需要加锁操作,以此控制事务的并发执行。共享锁:从名字可以看出,该锁可共享,写操作肯定不可共享,一共享数据就被写乱了,便没有“锁”可言了,所以共享锁为读操作“共享”,即本锁加上之后不可再进行写操作,但是可以读,也可称为只读锁。排它锁:排它锁就比较霸道了,只要我加上这个锁,其他操作均不可进行,为啥呢?因为我要对该数据进行修改了,既然我要修改必然不能让别人再来修改,也必然不能加只读锁,因为加上只读锁,我就无法进行写操作了原创 2020-10-12 08:12:40 · 411 阅读 · 0 评论 -
哈夫曼树,哈夫曼编码
一、哈夫曼树(最优二叉树)定义:给定N个权值作为N个叶子结点,构造一棵二叉树,若该树的带权路径长度达到最小,称这样的二叉树为最优二叉树,也称为哈夫曼树(Huffman Tree)。哈夫曼树是带权路径长度最短的树,权值较大的结点离根较近。首先搞清楚基本术语:1、路径和路径长度在一棵树中,从一个结点往下可以达到的孩子或孙子结点之间的通路,称为路径。通路中分支的数目称为路径长度。若规定根结点的层数为1,则从根结点到第L层结点的路径长度为L-1。在哈夫曼树中,只需要关注根节点与叶子节点之间的路径即可。原创 2020-08-28 17:00:09 · 444 阅读 · 0 评论 -
标准与知识产权
1、商标法规定:同一天申请的,初步审定并公告使用在先的。驳回其他人的申请,均未使用或无法证明的,各自协商,不愿协商或者协商不成的,抽签决定,不抽签的,视为放弃。2、专利权:专利的发明创造是无形的,必须经过专利机关审查确定,未审批之前任何一项发明创造都不得成为专利,两个以上申请人就同样的发明申请专利的,谁先申请授予谁,同日申请的应当在收到国务院专利行政部门的通知后自行协商确定申请人。总结:谁先申请谁获得,同日申请协商协定3、...原创 2020-08-27 09:32:10 · 149 阅读 · 0 评论 -
进程管理PV操作
含义:PV操作是一种实现进程互斥与同步的有效方法。PV操作与信号量的处理相关,P表示通过的意思,V表示释放。具体定义:P(S):①将信号量S的值减1,即S=S-1;②如果S30,则该进程继续执行;否则该进程置为等待状态,排入等待队列。V(S):①将信号量S的值加1,即S=S+1;②如果S>0,则该进程继续执行;否则释放队列中第一个等待信号量的进程。考点:释放、等待真题:分析:首先,有顾客和收银员两进程,所以这个应该有同步的关系,要协作完成工作。顾客进程的主要工作是进入超市,在进原创 2020-08-26 17:01:59 · 1554 阅读 · 0 评论 -
死锁
进程管理–死锁含义:所谓死锁,就是进程推进顺序不当或者同类资源分配不当导致无法继续运行的现象。考点:n个进程互斥并发执行,每个进程需要r个资源,计算可以避免死锁现象的最少资源m公式:m = n * (r - 1) + 1举例:若在系统中有6个互斥并发进程,每个进程需要2个资源,那么使系统不发生死锁的资源的最少数目为多少?其中 n = 6;r = 2;m = n * (r - 1) + 1 = 6 * (2 - 1) + 1 = 7所以,需要最少的资源数数为7真题:系统中有R类资源m个,现有原创 2020-08-26 13:59:03 · 5313 阅读 · 0 评论 -
浮点数
1.浮点数的定义:浮点数,是属于有理数中某特定子集的数的数字表示,在计算机中用以近似表示任意某个实数。2.浮点数的表示:其中S是符号位,P是阶码(或者E),M是尾数。其中,阶码的长度决定浮点表示的范围,尾数长度决定浮点表示的精度3.浮点数的加减运算(掌握步骤就行):两个浮点数相加时,首先要进行对阶。设两个浮点数 X=M2Ex ,Y=My2Ey实现X±Y要用如下5步完成:(1)对阶(阶码)操作:小阶向大阶看齐。对阶:小阶向大阶(小数向大数)对齐,同时将尾数右移N位。(N为阶差)。(2)进原创 2020-08-26 13:56:30 · 1666 阅读 · 0 评论 -
最短路径问题(迪杰斯特拉)算法
定义所谓最短路径问题是指:如果从图中某一顶点(源点)到达另一顶点(终点)的路径可能不止一条,如何找到一条路径使得沿此路径上各边的权值总和(称为路径长度)达到最小。Dijkstra(迪杰斯特拉)算法他的算法思想是按路径长度递增的次序一步一步并入来求取,是贪心算法的一个应用,用来解决单源点到其余顶点的最短路径问题。Dijkstra(迪杰斯特拉)算法示例:第1步:初始化距离,其实指与D直接连接的点的距离。dis[c]代表D到C点的最短距离,因而初始dis[C]=3,dis[E]=4,dis[D]=0,原创 2020-08-26 13:53:04 · 1255 阅读 · 0 评论 -
页面置换算法
页面置换算法:1、 最佳置换算法:这是一种理想化的算法,既选择哪些是永不使用或者最长时间内不会被访问的页面置换出去。这种方法性能好,但是难于实现。例题:假定系统为进程p1分配了3个物理块,该进程访问页面的顺序为“0,7,6,5,7,4,7,3,5,4,7,4,5,6,5,7,6,0,7,6”,利用最佳置换算法的结果如图所示,图中x标识产生缺页终端,求缺页次数、页面只换次数和缺页率根据题意,系统为进程分配了3个物理块,开始为空,所以前三次访问均产生缺页中断,第4次访问时需要找到一个物理块进行清除,根据原创 2020-08-26 13:50:04 · 435 阅读 · 0 评论