下面10组题目中任选其一完成。【难度系数:10】
1. 文件压缩及解压缩程序。
题目:设计一种压缩格式的压缩及解压缩程序。
提示:调用已有的压缩及解压缩函数库实现。
参考:下面格式选择一种实现
CAB格式:libmspack,http://www.kyz.uklinux.net/libmspack/
ZIP格式:http://www.zlib.net/,ZLIB Compression Library (PKZIP/GZIP Compression)
UNRAR:http://www.rarlab.com/rar_add.htm
2. 数据加密程序
题目:编写一种加密算法的程序
提示:调用已有的加密函数库或利用算法原理实现。http://www.cryptopp.com/
参考:下面算法选择一种实现
已知的加密算法有许多种,例如:RC6, MARS, Rijndael, Twofish, Serpent, IDEA, DES, Triple DES (DES-EDE2 and DES-EDE3), DESX (DES-XEX3), RC2, RC5, Blowfish, Diamond2, TEA, SAFER, 3-WAY, GOST, SHARK, CAST-128, Square, CBC padded, CBC ciphertext stealing (CTS), CFB, OFB, counter mode, ARC4, SEAL, WAKE, Sapphire, BlumBlumShub, RSA, DSA, ElGamal, Nyberg-Rueppel (NR), BlumGoldwasser, Rabin, Rabin-Williams (RW), LUC, LUCELG, Elliptic Curve Cryptosystems, PKCS#1 v2.0, OAEP, PSSR, IEEE P1363 EMSA2, Diffie-Hellman (DH), Unified Diffie-Hellman (DH2), Menezes-Qu-Vanstone (MQV), LUCDIF, SHA-1, MD2, MD5, HAVAL, RIPEMD-160, Tiger, MD5-MAC, HMAC, XOR-MAC, CBC-MAC, DMAC, Luby-Rackoff, MDC, ANSI X9.17 appendix C, PGP's RandPool
3. 位校验程序
题目:编写数据通信中位校验程序
参考:下面方法选择一种实现
位校验方法有:CRC16、CRC32、CRC8等
4. 常用算法演示程序
题目:编写常用算法的演示程序
参考:下面算法选择一种实现
矩阵旋转算法
Prim算法
拷贝链表的O(n)算法
随机算法
大数阶乘源码
格雷码算法
算术表达式的计算
寻找链表中间节点算法
模式匹配的KMP算法
最小堆/哈希表/二叉树/平衡二叉树/红黑树
最小生成树
Kruskal算法:(贪心)
最短路径Dijkstra 算法
5. 排序算法程序
题目:编写七种排序算法的演示程序
快速排序;
插入排序;
选择排序;
冒泡排序;
堆排序;
归并排序;
基数排序;
6. 高精度计算
题目:高精度计算是指位数较长(超出C语言数据类型范围)的计算问题。
参考:下面要求选择一种实现
高精度加法
高精度减法
高精度乘以低精度
高精度乘以高精度
高精度除以低精度
高精度除以高精度
7. 查找算法
题目:编写查找算法的演示程序
参考:下面算法选择一种实现
顺序查找
折半查找
树形查找
8. 数据结构相关算法
题目:编写链表处理程序
参考:
链表的定位函数
单链表的插入操作
单链表的删除操作
双链表的插入操作(插入新结点q)
双链表的删除操作
9. 用链表实现有序线性表
题目:用链表实现有序线性表
参考:实现的功能
(1)有序线性表的元素是按值从小到大的顺序排列的。本题要求用带表头结点的单链表实现有序线性表。
(2)用户界面要求设计为菜单方式。程序运行后,显示如下功能菜单:
1. 置空表
2. 插入
3. 删除
4. 查找
5. 输出
0. 退出
10. ACM/ICPC试题
题目:编写http://acm.uva.es或http://icpc.baylor.edu/icpc/上的ACM问题集程序
参考:试题自选,要求英文试题内容,全英文程序摘要、基本结构及算法讲解。