中级软件设计师复习手抄(2)

来源:互联网 发布:java断点下载 项目报告 编辑:程序博客网 时间:2024/06/10 04:21

一、常用的溢出检测机制:

1.双符号位判决法

00表示正,11表示负 判断溢出即两个符号位不一致。

 

2.进位判决法

Cn-1表示最高数值位向最高位进位。Cn表示符号位的进位。Cn-1异或Cn=1表示溢出。

 

二、逻辑表达式

1.使用逻辑图进行表达;

2.使用真值表进行判断和表达;表达结果为各种取值的组合或;

3.逻辑位运算 与运算找0位, 或运算找1位。

 

三、命题逻辑

1.PQ当且仅当P真Q假时命题为假。

2.P←→Q当且仅当P Q同时为真时,命题才为真。

3.德*摩根律,~(A+B)<=>~A*~B;

4.AB<=>~A+B<=>~BA;

5. 自反的即对每个元素X都有关系<x,x>;反自反即对每个X都不存在<X,X>;

6. 反对称的即除了自反项,不同时存在<X,Y>与<Y,X>;

 

四、数据结构(模式匹配)

1. 字符串的模式匹配:在主串中寻找某字串t在主串s第一次出现的第一个字符的位置;需要定位的字串为模式串;

2. KMP模式匹配算法,不需要回溯主串的i指针,保持前进。利用已得到的“部分匹配”结果将模式串向右滑动至模式串的第K个字符与主串当前位置i对齐,然后继续执行比较。

3. KMP的next[]函数是关系模式串本身的,next[j]=k表示模式串中当前第j个字符与主串中的第i个字符失配的时候,需要重新确定模式串中准备继续进行比较的字符位置。

4. next[j]=k具体定位为,j=1 时,k=0;

    max {1<k|k<j} 当模式串中存在两个相等真字串的时候,即存在t[1,k-1]=t[j-k+1,j-1]共k-1长度的字串。范围尾部在j-1;即匹配失败的前一个字符。

    k=1; 其他情况

5. 当t[k]=t[j],即再次发生失配,需进一步调整为nextval[j]=next[k];

    当不等时,nextval[]=next[];

6. 辅助理解KMP模式匹配算法:主串s[i],模式串t[j];

    next[i]=0,即匹配失败,主串i++,j=1;

    next[i]=1,即当前匹配失败,i--,从模式串重头开始匹配;

    next[i]=k>1,即缩进进行匹配,模式串第K个字符对齐主串j继续匹配。

    如果匹配成功,i++,j++,直到主串或者模式串达到串结束位置。后者可以导出匹配成功的第一字符位置,i-j(length)

   

1、数据结构:广义表的TAIL必然也是广义表,可以是空表;但HEAD函数需要非空广义表做参数;

2、数据结构:树的叶结点数目与度的关系与边的关系。

边的数目=总结点数-1=树中各结点的子树目之和=各个结点的度之和。(度对应于子树目)

3、数据结构:二叉树计数性质:

      第i层最多2^(i-1)结点;

      k层树总计最多2^k-1个结点;

      叶子结点n0,度2的结点n2,n0=n2+1;

      完全二叉树深度[log2n]+1;

     

4. 平衡二叉树 平衡因子(左-右 -1,0,1)

    平衡树的调整:决策选择以ABC三类根节点形态为依据。

    A结点:离插入点最近的同时也是受插入影响变得不平衡的结点;

    B结点:A结点的某个子树结点,靠插入结点方向;

    C结点:是B结点的子树结点,新插入的叶子结点是以B或者C的子树上的叶子结点。由ABC相对关系判断。

     LL 右旋转调整后平衡因子变-1;RR左旋转调整后平衡因子变1;

     LR调整:在左子树的右子树插入,先左后右调整。

     RL调整:在右子树的左子树插入,先右后左调整。   

     其中包含子树的嫁接:左旋转成为根的左结点变为某右结点,右旋转成为根的右结点变为某左结点。

 

5. 堆 也是树结构 堆顶冒最小最大数 子树堆(递归定义);

6. 霍夫曼树只包含度为0和2的结点。两者差1。

7. 一般树孩子兄弟转换法对应到唯一的二叉树,原树的后根遍历对应于二叉树的中序遍历。

图论:

1. 无向图的生成树特征:所有顶点都是连通的;不构成回路。

2. AOE(Activity on Eage)求关键路径、关键活动、活动的最早(最长)最晚(不推迟)发生时间。活动具有持续时间。

原创粉丝点击