
算法学习
ILES
这个作者很懒,什么都没留下…
展开
-
回溯法--八皇后问题
实验题目4:8-皇后问题乘法 (11.8日实验)要求:(1)设计解决8皇后问题的暴力穷举法,写出代码,并调试成功;(1)设计解决8皇后问题的回溯法,写出代码,并调试成功;(2)分别用暴力法和回溯法,找到所有的皇后放置方案,并比较运行时间。#include<iostream>#define max 9#include<ctime>usi...原创 2019-11-17 20:06:13 · 274 阅读 · 0 评论 -
动态规划--矩阵链相乘
实验题目3:矩阵链乘法 (11.1日实验) 要求:(1)设计暴力法,产生所有矩阵链相乘以组合情况,写出代码,并调试成功;(2)设计动态规划算法,写出代码,寻找最小乘法次数和对应相乘的顺序,并调试成功;(3)随机产生由10个矩阵,测试(2)的代码,输出最小乘法次数和相乘的顺序。from random import *def matchain(c,n,path,r): for d i...原创 2019-11-17 20:01:12 · 312 阅读 · 0 评论 -
动态规划--最长公共子序列
实验题目2:寻找最大公共子序列 (10.25日实验) 要求:(1)分别设计暴力法和动态规划算法,(2)写出代码,并调试成功(3)随机产生由A,C,G,T四种字符组成的两条序列,运行(1)两种算法,输出结果(长度和子序列),比较运行时长import randomimport timedef LCS(str1,str2,len1,len2,path): #产生len1*len2的矩...原创 2019-11-17 19:59:13 · 964 阅读 · 0 评论 -
不相交集应用--kruskal算法
【问题描述】已知含有n个顶点的带权连通无向图,采用邻接矩阵存储,邻接矩阵以三元组的形式给出,只给出不包括主对角线元素在内的下三角形部分的元素,且不包括不相邻的顶点对。分别采用prim算法和kruskal算法,求该连通图的最小生成树的权值之和。【输入形式】第一行给出结点个数n和三元组的个数count,以下每行给出一个三元组,数之间用空格隔开。(注意这里顶点的序号是从1到n,而不是0到n-1...原创 2019-11-17 19:48:57 · 1103 阅读 · 1 评论 -
不相交集
不相交集元素被分为几个不相交的集合,集合可由其中一个元素作为名字。Find(x)找到x所属的集合,返回集合名字,即根Union(x,y)把两个元素放在一个集合里通常用p[ ]一个数组来表示结点的父亲rank秩基本相当于树高,但是!!!!在后续操作中,rank有不发生改变的情况,不能完全说就是树高。按秩合并如果直接合并的话,极有可能会形成一条很长的链,甚至树会退化到时候搜索的时候...原创 2019-11-17 19:21:49 · 209 阅读 · 0 评论 -
实验一:寻找多数元素
实验一:寻找多数元素原创 2019-11-17 17:51:54 · 250 阅读 · 0 评论