![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
算法
TinyLittleGeek
这个作者很懒,什么都没留下…
展开
-
第1次实验——NPC问题(回溯算法、聚类分析)
(1)八皇后及N皇后问题 八皇后问题,是一个古老而著名的问题,是回溯算法的典型案例。该问题是国际西洋棋棋手马克斯·贝瑟尔于1848年提出:在8X8格的国际象棋上摆放八个皇后,使其不能互相攻击,即任意两个皇后都不能处于同一行、同一列或同一斜线上,问有多少种摆法。 高斯认为有76种方案。1854年在柏林的象棋杂志上不同的作者发表了40种不同的解,后来有人用图论的方法解出92种结果。计算机原创 2014-06-10 19:00:03 · 492 阅读 · 0 评论 -
编写计算“两个整数的最大公约数”程序
要求通过键盘输入两个整数、检查输入整数是否符合要求,并计算出其最大公约数。====原创 2014-06-07 15:41:32 · 977 阅读 · 0 评论 -
第2次实验——算法基本功 与 综合思考
实验内容(4选2即可,推荐多完成一些)(1)算法基本功——快速排序 对文件 largeW.txt(下载链接)中的数据,应用快速排序算法进行排序,并与冒泡排序、归并排序进行时间比较。体验算法复杂度对设计算法的影响。(2)经典算法面试题(至少选择其中1道题并作答,有自己的思考与理解) 收集一些top软件公司经典算法面试题(有很多公司的经典面试题,可供选择)原创 2014-06-10 19:41:49 · 538 阅读 · 0 评论 -
第五周作业——有向图邻接表表示及反向图构造
1. 有向图中反向图构造。对tinyDG.txt(http://pan.baidu.com/s/1o6jWtcA)文件所表示的图,输出其邻接表表示 与 反向图的邻接表表示。类名:GraphReverse。邻接表表示示例如下:0:1 51:2:0 3……====package alsys5_1;import原创 2014-06-07 15:49:19 · 641 阅读 · 0 评论 -
第四周作业——图的表示
1. 图的表示:给定图数据文件(tinyG.txt),计算得到图的邻接矩阵,并把邻接矩阵保存到文件(tinyG_matrix.txt)中。类名:GraphRepresentation。摘自《Algorithms, 4th Edition》P522。博文标题:第四周作业——图的表示====package SYS4;import java.io.*;import java.u原创 2014-06-07 15:48:26 · 443 阅读 · 0 评论 -
随机生成一个n bit位的长质数
随机生成一个n bit位的长质数。函数前面如下 long createRndPrime(int n) 输入:随机质数的bit位长度为n 输出:nbit位长度的质数 关键为使用随机化算法判断一个长整数是否为素数(P33)-----------------------------------------------------------原创 2014-06-07 15:45:40 · 918 阅读 · 0 评论 -
判断一个正整数是否为质数的算法
判断一个正整数是否为质数的算法。函数签名如下 int isPrime(long a) 输入:一个长整数a 输出:返回1(为质数),返回0(非质数)====public int main() { Scanner in=new Scanner(System.in); System.out.print("请输入一个正整数: ");原创 2014-06-07 15:44:32 · 913 阅读 · 0 评论 -
关于《算法概论》的思维导图
附件地址:pdf文件:http://pan.baidu.com/s/1o6wgX6aXmind文件:http://pan.baidu.com/s/1c0rbGGS====原创 2014-06-07 15:43:32 · 495 阅读 · 0 评论 -
第六周作业1——利用哈夫曼编码英文字母表
哈夫曼编码。对教材P167中习题5.18,思考并完成问题a-d。====假设有n个权值,则构造出的哈夫曼树有n个叶子结点。 n个权值分别设为 w1、w2、…、wn,则哈夫曼树的构造规则为:(1) 将w1、w2、…,wn看成是有n 棵树的森林(每棵树仅有一个结点);(2) 在森林中选出两个根结点的权值最小的树合并,作为一棵新树的左、右子树,且新树的根结点权值为原创 2014-06-07 15:50:03 · 756 阅读 · 0 评论 -
第7周作业1——背包问题
背包问题。对上文中提到的背包问题提供的表1(数据文件下载Knapsack.txt,第一行为背包总重量15,物品数量5;第2-6行,分别为第1-5件物品的重量与价值),W=15,编程计算最终背包所装物品的编号、总重量与总价值。要求能够把构造的二维表格输出到文件KnapsackResult.txt中。====[java] view plaincopy原创 2014-06-07 15:50:37 · 507 阅读 · 0 评论 -
第三周作业——冒泡排序和归并排序
1. 排序。对文件 largeW.txt(下载链接)中的数据,编程实现冒泡排序(方法名:bubbleSort) 与 归并排序(mergeSort),把排序后的结果分别保存到largeW_bubble.txt 和 largeW_merge.txt 中,把两种排序结果的运行时间输出到屏幕中(发博文时把运行时间的截图作为运行结果提交)。====package SYS3_1;imp原创 2014-06-07 15:47:10 · 478 阅读 · 0 评论