- 博客(32)
- 资源 (1)
- 收藏
- 关注
原创 python permutations 与C++ next_permutation 区别
根据python文档:Elements are treated as unique based on their position, not on their value. So if the input elements are unique, there will be no repeat values in each permutation.可见python中itertool库中permutations()函数是根据初始参数存放次序决定的,而不是根据值的大小,而c++的stl库中的ne
2022-04-08 22:37:52
1266
原创 蓝桥杯刷题总结---第一周
一.题目 1110: 2^k进制数设r是个2^k 进制数,并满足以下条件:(1)r至少是个2位的2^k 进制数。(2)作为2^k 进制数,除最后一位外,r的每一位严格小于它右边相邻的那一位。(3)将r转换为2进制数q后,则q的总位数不超过w。在这里,正整数k(1≤k≤9)和w(k〈w≤30000)是事先给定的。问:满足上述条件的不同的r共有多少个?我们再从另一角度作些解释:设S是长度为w 的01字符串(即字符串S由w个“0”或“1”组成),S对应于上述条件(3)中的q。将S从右起划分为若干个长度为k 的
2022-02-01 22:42:11
972
原创 主成分分析 MATLAB
clc,clearsn=[7 26 6 60 78.5 1 29 15 52 74.3 11 56 8 20 104.3 11 31 8 47 87.6 7 52 6 33 95.9 11 55 9 22 109.2 3 71 17 6 102.7 1 31 22 44 72.5 2 54 18 22 93.1 21 47 4 26 115.9 1 40 23 34 83.8 11 66 9 12 113.3 ...
2022-01-25 16:41:10
1267
原创 支持向量机 Matlab
clc, cleara0=[8.35 23.53 7.51 8.62 17.42 10.00 1.04 11.219.25 23.75 6.61 9.19 17.77 10.48 1.72 10.518.19 30.50 4.72 9.78 16.28 7.60 2.52 10.327.73 29.20 5.42 9.43 19.29 8.49 2.52 10.009.42 27.93 8.20 8.14 16.17 9.42 1.55 9.769.16 27.98 9.01 9.32 15..
2022-01-24 20:44:38
1700
原创 Maylab图论
1.Dijkstra求最短路径road=zeros(3,3);%存有向图的邻接矩阵,自己随意输入road(1,2)=3;road(2,3)=1;road(road==0)=inf;flag=zeros(1,length(road));%存遍历过的结点标记flag(1)=1;while sum(flag)<length(road) fmin=inf; j=-1; for z=1:length(road(1,:)) if road(1,z)<f
2022-01-19 21:11:47
462
原创 力扣572. 另一棵树的子树
给你两棵二叉树 root 和 subRoot 。检验 root 中是否包含和 subRoot 具有相同结构和节点值的子树。如果存在,返回 true ;否则,返回 false 。二叉树 tree 的一棵子树包括 tree 的某个节点和这个节点的所有后代节点。tree 也可以看做它自身的一棵子树。示例 1:输入:root = [3,4,5,1,2], subRoot = [4,1,2] 输出:true# Def...
2022-01-18 16:18:53
148
原创 LeetCode162. 寻找峰值
峰值元素是指其值严格大于左右相邻值的元素。给你一个整数数组 nums,找到峰值元素并返回其索引。数组可能包含多个峰值,在这种情况下,返回 任何一个峰值 所在位置即可。你可以假设 nums[-1] = nums[n] = -∞ 。你必须实现时间复杂度为 O(log n) 的算法来解决此问题。示例 1:输入:nums = [1,2,3,1]输出:2解释:3 是峰值元素,你的函数应该返回其索引 2。示例2:输入:nums = [1,2,1,3,5,6,4]输出:1 或 5解释..
2022-01-13 11:31:16
142
原创 力扣136. 只出现一次的数字
给定一个非空整数数组,除了某个元素只出现一次以外,其余每个元素均出现两次。找出那个只出现了一次的元素。说明:你的算法应该具有线性时间复杂度。 你可以不使用额外空间来实现吗?示例 1:输入: [2,2,1]输出: 1示例2:输入: [4,1,2,1,2]输出: 4class Solution: def singleNumber(self, nums: List[int]) -> int: a=0 for i in nums:.
2022-01-12 21:57:49
149
原创 汇编语言课程设计---统计数
统计数1. 需求说明1.1设计要求:进一步理解和掌握较复杂程序的设计方法,掌握子程序结构的设计和友好用户界面的设计。具体的设计任务及要求:1.输入若干个十进制字数据;2. 统计其中最高6位全为1的数的个数;3. 输出满足要求的数的个数和具体的数4.程序采用子程序结构或宏指令,结构清晰;5.友好清晰的用户界面,能识别输入错误并控制错误的修改。1.2设计说明本程序首先需要输入一个0到9的数字并将其保存到cx中,用来确定需要输入数字的数量,首先,每次输...
2022-01-11 16:52:58
1453
原创 Java五子棋课程设计
一 .项目简介本项目主要设计了一款五子棋对战小游戏,主要实现的功能有人机对战,双人同机对战和双人联网对战,其中双人联网对战实现了类似于qq的聊天功能.二 .工作重点本项目主要运用swing绘图组件进行绘图,采用双缓冲技术使画面流畅. 运用多线程实现倒计时和QQ聊天功能,可以在下棋的过程中同时实现倒计时 采用五元组赋分法来实现人机对战的功能 采用面向对象的方法实现五子棋的功能,如人机对战棋盘和人人对战棋盘均继承自双人同机对战. 采用TCP网络通信协议实现人人功能的对战,确保了通信的稳定性和
2022-01-11 16:33:13
7506
3
原创 最小生成树
1)包含任务或问题描述和分析最小生成树其实是最小权重生成树的简称。我们称求取该生成树的问题成为最小生成树问题。一个连通图可能有多个生成树。当图中的边具有权值时,总会有一个生成树的边的权值之和小于或者等于其它生成树的边的权值之和。2)设计与实现利用prim算法实现最小生成树,该算法思路与Dijsktra算法大致相同,不过Prim算法的最短是相较于整体而言的,所以我将Dijsktra算法稍作改进得到Prim算法3)测试例子与结果分析测试例子:(图片从网上找的,当做例子,非常直观)测.
2022-01-11 16:13:37
324
原创 C语言快速排序
1)包含任务或问题描述和分析快速排序的基本思想:通过一趟排序将待排记录分隔成独立的两部分,其中一部分记录的关键字均比另一部分的关键字小,则可分别对这两部分记录继续进行排序,以达到整个序列有序。2)设计与实现1. 在数组中选一个基准数(通常为数组第一个);2. 将数组中小于基准数的数据移到基准数左边,大于基准数的移到右边;3. 对于基准数左、右两边的数组,不断重复以上两个过程,直到每个子集只有一个元素,即为全部有序。3)测试例子与结果分析4)带注释的源代码#includ.
2022-01-11 16:10:49
297
原创 有向图最短路径的Dijsktra算法
1)包含任务或问题描述和分析如果存在一条从i到j的最短路径(Vi.....Vk,Vj),Vk是Vj前面的一顶点。那么(Vi...Vk)也必定是从i到k的最短路径。为了求出最短路径,Dijkstra就提出了以最短路径长度递增,逐次生成最短路径的算法。譬如对于源顶点V0,首先选择其直接相邻的顶点中长度最短的顶点Vi,那么当前已知可得从V0到达Vj顶点的最短距离dist[j]=min{dist[j],dist[i]+matrix[i][j]}。根据这种思路,假设存在G=<V,E>,源顶点为V0
2022-01-11 16:08:52
1150
原创 霍夫曼编码
1)包含任务或问题描述和分析霍夫曼编码(Huffman Coding)是一种编码方法,霍夫曼编码是可变字长编码(VLC)的一种。霍夫曼编码使用变长编码表对源符号(如文件中的一个字母)进行编码,其中变长编码表是通过一种评估来源符号出现机率的方法得到的,出现机率高的字母使用较短的编码,反之出现机率低的则使用较长的编码,这便使编码之后的字符串的平均长度、期望值降低,从而达到无损压缩数据的目的。2)设计与实现设计一个带父指针的二叉树,将节点排序后放入一个堆中保存,循环构造二叉树,最后遍历二叉树,再用
2022-01-11 16:05:21
4110
原创 最小编辑距离
1)包含任务或问题描述和分析UNIX系统下有一个行编辑器ed,它每次只对一行文本做删除一个字符、插入一个字符或替换一个字符三种操作。现在给你两个任意字符串(不包含空格),请帮忙计算它们的最短编辑距离。2)设计与实现利用动态规划先比较最后一位字母,若一样则最小编辑距离为前几个字母的最小编辑距离,若不一样则分三种情况,最终最小编辑距离为这三种最小单位距离加一3)测试例子与结果分析测试例子:结果:4)带注释的源代码#include<stdio.h>#inc.
2022-01-11 16:03:16
151
原创 图的拓扑排序
1)包含任务或问题描述和分析设计一个排序算法来求有向图是否存在环路2)设计与实现输入一个有向图的邻接矩阵,按列遍历,找出入度为0的结点,并对其标记和删除以该节点为尾的边,循环直到找不出没有被标记的入度为0的点,比较标记点的个数判断是否出现环路3)测试例子与结果分析测试用例:结果:4)带注释的源代码#include<stdio.h>#include<stdlib.h>#define MAX_SIZE 4#define MAXROAD 9.
2022-01-11 16:00:55
133
原创 AVL 树的插入
1)问题描述和分析设计一个二叉排序树,使其每个节点的左右子树的高度差小于2,使其平均查找长度最小2)设计与实现为二叉排序树增加左单旋转,右单旋转,左右双旋转,右左双旋转等功能,来实现平衡二叉树功能3)测试例子与结果分析测试用例;0 1 2 3 4 5结果:3 1 0 2 4 54)源代码#include<stdio.h>#include<stdlib.h>#define MAX(a,b) a>b?a:btypedef struct {
2022-01-11 15:58:12
209
原创 基于磁盘的带替换选择的合并排序
1)问题描述和分析我们计算机的内存是有限的,当我们需要处理的数据超出我们的内存的时候就需要我们借助磁盘来进行排序,这种排序被称为外部排序,外部排序通常由归并排序实现.2)设计与实现我们将所需要处理的数据放入存入txt文件,假设要处理50000个数据,将这些数据分为100个文件,每个文件500个数据,利用内部排序使这些文件中的数据有序,之后利用队列对这些数据进行归并排序.3)测试例子与结果分析排序前的部分数据为:利用随机数生成50000个数据排序后的部分数据为:4)源.
2022-01-11 15:54:37
268
原创 Matlab数值微积分与方程求解
一.数值微分与数值积分1.向前差分的函数diffdx=diff(x) 一阶向前差分dx(i)=x(i+1)-x(i)dx=diff(x,n)计算向量x的n阶向前差分dx=diff(A,n,dim)计算矩阵A的n阶差分dim=1按列计算dim=2按行计算2.数值积分1)基于自适应辛普森方法[l,n]=quad(filename,a,b,tol)2)基于自适应Gauss-Lobatto方法[l,n]=quadl(filename,a,b,tol)filename.
2021-09-12 11:57:14
933
原创 Matlab数据统计分析与多项式计算
一.数据统计分析1.求最大最小元素y=max(X)X为向量,若x为复数则按模取最大值[y,k]=max(X)k为序号X为矩阵时1)Y=max(X)返回行向量,向量Y第i个元素为X第i列最大值2)[Y,U]=max(X)U为每列最大值的行号3)Y=max(X,[],dim)当dim=1时同max(X)当dim=2时返回一个列向量,返回每行最大值2.求平均值和中值(用法同上)mean()求算数平均值median() 求中值sum() 求和prod()...
2021-09-12 11:17:49
884
原创 Matlab绘图
一.二维曲线的绘制1.plot函数plot(x,y) x,y分别为x坐标和y坐标当x为向量,y为矩阵时,以向量x为横坐标,以y的每个行向量为纵坐标(y的列数等于x的长度),否则以y的每个列向量为纵坐标(y的列数等于x的长度)plot(x) 横坐标为x的下标,纵坐标为x的值(当x为虚数时,实部为横坐标,虚部为纵坐标)含选项的plot函数plot(x,y,选项)选项:1)线型'-'实线 ':'虚线 '-.'点划线 '--'双划线2)颜色...
2021-09-12 09:55:39
647
原创 Matlab程序流程控制
一.顺序结构1.输入A=input('text')2.输出fprintf('text%*',a)3.暂停pause(延迟秒数)若不加秒数则用户按任意键后再继续运行强行中止程序用ctrl+c命令二.if语句的选择结构if 条件语句end当条件为标量时非零表示条件成立,为矩阵时矩阵非空且不包含零元素则为真if 条件1语句1elseif 条件2语句2...else语句nend三.switch语句的选择结构switch ..
2021-09-11 21:11:57
215
原创 Matlab矩阵处理
一.通用的特殊矩阵zero(m) zeros(m,n) zero(size(A)) 产生全为零的矩阵(格式下同)ones() 产生全为一的矩度阵eye() 产生单位矩阵rand() 产生在[0,1]区间均匀分布的矩阵randn()产生均值为0,方差为1的标准正态分布随机矩阵二.专门用于学科的特殊矩阵1)魔方阵 每行每列主副对角线上的各元素和相等magic(n)只产生一个特定的魔方阵2)范德蒙矩阵vander(A) 产生一个以向量A为基础的...
2021-09-11 20:45:46
790
原创 Matlab 基础知识
一. 系统环境(1)设置当前文件夹 使用cd命令:cd+绝对路径 (文件夹必须存在)(2)变量的搜索路径(优先顺序)变量-->内部函数-->程序文件(当前文件夹下的程序文件和文件搜索路径下的程序文件)在定义变量时不要使用在MATLAB中已有特定含义的值(3)设置文件搜索路径1.用path命令设置文件搜索路径>>path(path,'e:\work')2.在上方的对话框中设置文件搜索路径二.数据的表示方法(1)整数分为有符和无符,...
2021-09-11 19:52:03
3135
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人