算法分析与设计

以下是为您整理出来关于【算法分析与设计】合集内容,如果觉得还不错,请帮忙转发推荐。

【算法分析与设计】技术教程文章

南邮算法分析与设计实验4 密码算法

南邮算法分析与设计实验4 密码算法实验目的 了解现代密码学的基本原理和数论的基础知识,掌握非对称密码体制的著名代表RSA加密算法的工作原理和流程,并设计实现一个简单的密钥系统。实验内容 了解加/解密的基本原理和工作过程,用公开密钥对明文进行加密,并用私人密钥对密文进行解密,构造一个简单的 RSA 公开密钥系统。实验原理 1、RSA算法是由麻省理工学院的 Ron Rivest,Adi Shamir 和Len Adleman 于 1977 年研制并于...

--算法分析与设计--课程作业--【顺序统计】--【采用链表法散列表】--【开放地址法(双重散列)】

本次作业大力感谢以下量 参考信息经典算法总结之线性时间做选择 http://www.cnblogs.com/javaspring/archive/2012/08/17/2656208.html11.4 双重散列法 : http://blog.csdn.net/zixiawzm/article/details/6746946 【未完待续】原文:http://www.cnblogs.com/wushuaiyi/p/4433378.html

算法分析与设计第二章作业

1、浅谈一下对二分发思想的体会: 我认为二分法实际是一个对数据进行切分细化的方法。例如对于一个需要与数列比较的数字,我们将其与数列中间的数字进行比较,若其大于中间数,则以中间数为起点,原数列终端为终点,“建立”新数列,再次将该数与此数列中间数比较,以此类推。这样对于有序数列而言,可以较为快速地寻找所需数值。然而该方法需要数列为有序数列,对于无序数列需先排序后才可使用。 2、结对编程情况汇报: 结对编程对...

快速排序(算法分析与设计)c++

#include <iostream> using namespace std;void Swap(int a,int b) //a,b交换位置 {int c=a;a=b;b=c;} int Partition(int a[],int p,int r)//Partition的作用是将基准元素置于本应在序列中的位置, { // 并保存该基准在数组中的下标(位置),还让其前面的元素 // 均小于该基准,后面的元素均大于该基准 int i=p,j=r+1; //i为基准位置,r为要排序的数组中最后一个元素下标 int x=a[p]; //x为选取的基准 ,p为基准...

算法分析与设计:搜索(最少步数)【代码】

题目描述 这有一个迷宫,有0~8行和0~8列: 1,1,1,1,1,1,1,1,1 1,0,0,1,0,0,1,0,1 1,0,0,1,1,0,0,0,1 1,0,1,0,1,1,0,1,1 1,0,0,0,0,1,0,0,1 1,1,0,1,0,1,0,0,1 1,1,0,1,0,1,0,0,1 1,1,0,1,0,0,0,0,1 1,1,1,1,1,1,1,1,1 0表示道路,1表示墙。 现在输入一个道路的坐标作为起点,再如输入一个道路的坐标作为终点,问最少走几步才能从起点到达终点? (注:一步是指从一坐标点走到其上下左右相邻坐标点,如:从(3,1)到(4,1...

算法分析与设计——最近点对问题【代码】【图】

算法分析与设计——最近点对问题题目输入输出样例问题分析代码 题目 这个题目目前对于大家会有点难度,有兴趣的同学可以研究一下,这种题目才是分治的精髓所在。 前段时间 partychen 到吴泾去买东西,发现在步行街有一个赌博游戏,一个商人在地面上摆放了很多的小礼品,然后准备了很多大小相同的圆环,玩家可以到商人处花 5 块钱买一个圆环。然后站在一根白线外使用圆环套住自己想要的礼品。圆环套住的东西就归玩家所有。我这里描述...

算法分析与设计(二)

动态规划编辑距离(Levenshtein距离)比较两个字符串时,若字符串xxx长度为m,字符串yyy长度为n。 假设这两个字符串之间的编辑距离为E(m,n)E(m,n)E(m,n)。 要通过动态规划的方式解决它,那就需要将这样一个问题划分为子问题E(i,j)E(i,j)E(i,j),子问题表示串xxx中前iii个字符与串yyy中前jjj个字符之间的编辑距离。 当计算子串的编辑距离时,子串的最右边一列对齐时有以下三种情形: _x[i]x[i]y[j]_y[j]\ \_ \qquad \qquad x[i] \q...

算法分析与设计(一)时间与空间复杂度【代码】【图】

**算法(Algorithm)**是指用来操作数据、解决程序问题的一组方法。对于同一个问题,使用不同的算法,也许最终得到的结果是一样的,但在过程中消耗的资源和时间却会有很大的区别。通常,对于一个给定的算法,我们要做 两项分析。第一是从数学上证明算法的正确性,这一步主要用到形式化证明的方法及相关推理模式,如循环不变式、数学归纳法等。而在证明算法是正确的基础上,第二部就是分析算法的时间复杂度。算法的时间复杂度反映了...

算法分析与设计1.1Prim算法构造最小生成树【代码】【图】

1. 问题 设G=(V,E)是无向联通带权图,E中的每一条边(u,v)的权为w(u,v);如果G的一个子图G1是一颗包含G中所有顶点的树,则称G1为G的生成树。生成树上各边权的总和称为该生成树的耗费。在G的所有生成树中,耗费最小的生成树称之为最小生成树。2. 解析3. 设计 void Prime(int Vnum, int start){for(i = 1; i <= Vnum; i++){lowcost[i] = Vi到Vstart的权值;visited[i] = -1;//标记点的访问状态,-1为未访问,1为访问过}visited[start...

算法分析设计(Floyd算法)【代码】【图】

1. 问题 用Floyd算法求解下图各个顶点的最短距离。写出Floyd算法的伪代码和给出距离矩阵(顶点之间的最短距离矩阵),按实验报告模板编写算法。 2. 解析 3.设计 void Floyd(int n ,int m ,int path[][1000]) {for(int k = 1 ; k <= n ; ++ k) //枚举中转点,通过中转点对i,j进行松弛操作{for(int i = 1 ; i <= n ; ++ i) //枚举起点{for(int j = 1 ; j <= n ;...

算法分析 - 相关标签