摘要:
图的四种存储结构 邻接矩阵 有一个存储顶点的顺序表和一个存储边/弧的二维数组。 存储结构 #define MaxInt 32767 #define MVNum 100 //最大顶点数 typedef struct { VerTexType vexs[MVNum]; //顶点顺序表 ArcType a 阅读全文
摘要:
线性表的查找 顺序查找 技巧:设置哨兵,放在下标为0的位置。 int Search_Seq(SSTable ST, KeyType key) { ST.R[0].key = key; for(int i = ST.length; ST.R[i].key != key; i--); return i; 阅读全文
摘要:
十字链表 每个稀疏矩阵非零元素都是一个结点,数据域存储的是所在行、所在列和元素值,有两个指针域,分别存储的是指向与该元素同行的下一个非零元素和同列的下一个非零元素的指针。 所以一个m行n列的稀疏矩阵,(最多)总共有(m + n)个链表,即(在每行每列都有非零元素的情况下,当然这样可能并不算是一个“好 阅读全文
摘要:
插入排序 直接插入排序 算法描述 将一条记录插入到有序表中,得到新的有序表。 将需要调整位置的元素暂存在r[0]处,然后再进行插入。 算法实现 void InsertSort(SqList &L) { for(i = 2; i <= L.length; i++) if(L.r[i].key < L. 阅读全文
摘要:
BF 一种暴力的串匹配算法。 指定主串中查找的起始位置。用两个指针分别遍历主串和子串,如果到达串尾就结束。 当遇到子串与主串不匹配时,通过把主串指针回溯到当前起始字符的下一个字符来重新开始匹配。 实现代码如下。 #include<iostream> using namespace std; #def 阅读全文
摘要:
古典密码 替代密码 单表替代 每个字母对应的密文字母固定。 一般单表替代 密钥空间n = 26! 移位密码 凯撒密码就是密钥为3的移位密码。 仿射密码 加密:k1*m + k0 (mod 26) 要求k1与26互素,避免出现多个明文对应同样的密文。 密钥短语密码 密钥是一个短语(单词),写在替代表最 阅读全文