自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(47)
  • 收藏
  • 关注

原创 动态规划法设计求解子集和

动态规划法设计求解子集和问题的算法,并分析算法时间和空间复杂度。子集和问题:给定有n个不同正整数的集合A={a1,a2, …,an}和一个整数W,要求找出A的一个子集S,使得S中的所有元素之和为W.// 算法.cpp : 此文件包含 "main" 函数。程序执行将在此处开始并结束。//#include "pch.h"#include<stack>#include <iostream>// A Dynamic Programming solution f...

2020-05-20 12:44:37 1764 2

原创 背包问题:0-1背包以及完全背包的动态规划解决

0-1背包问题【问题描述】有n个重量分别为{w1,w2,…,wn}的物品,它们的价值分别为{v1,v2,…,vn},给定一个容量为W的背包。 设计从这些物品中选取一部分物品放入该背包的方案,每个物品要么选中要么不选中,要求选中的物品不仅能够放到背包中,而且重量和为W具有最大的价值。 即要确定x1、x2、…、xn的值( 0或1 ),使 w1,w2,…,wn £W,且 v1x1+v2x2+…+vnxn 取得最大值。f[i][j],其中i代...

2020-05-20 12:31:54 675

原创 汇编实现100以内素数之和

指导老师 实验日期 2020 年4 月 3 日实验项目名称: 用汇编实现100以内素数之和 实验目的 用汇编实现100以内素数之和实验仪器计算机:Windows 10 家庭版软件: Keil μVision 5.代码展示(原理)首先要实现求100以内的素食之和我们要先...

2020-04-06 22:58:11 2149

原创 均值滤波和中值滤波

均值滤波:利用卷积核kernel来实现像素均值的操作,通过这种操作来实现降噪中值滤波:和均值差不多,只是实现的方法变成了去中值​import cv2 as cvimport numpy as np''' 均值模糊 中值模糊 自定义模糊'''def blur_demo(image): dst = cv.blur(image, (2, 1)) c...

2020-04-05 23:38:42 539

原创 求图像补色和反色

import cv2 as cvimport numpy as npdef inverse_color(image): height, width, temp = image.shape img2 = image.copy() for i in range(height): for j in range(width): im...

2020-04-05 23:31:55 548

原创 运行代码实现图像的处理(平移)

刚学习opencv,来试试对图像的简单处理,先来实现图像的简单平移import cv2import mathimport numpy as npdef move(img): height, width, channels = img.shape emptyimage2=img.copy() x = 20 y = 20 for i in ran...

2020-04-05 23:29:42 461

原创 蛇形矩阵算法实现(C++ and java)

蛇形矩阵:非常直接就是像蛇一样的矩阵,不过在算法题里面,这条蛇的扭曲方法不一样,就此诞生了很多各种各样的算法题。然后有一个sample...

2020-04-05 23:19:35 797

原创 磁盘驱动调度

#include<iostream>#include<string>#include<algorithm>using namespace std;void display(int path[],int length){ int sum=0; cout << "路径为:" << endl; cout << "P...

2019-06-09 23:50:24 564

原创 内存分配模拟

#include<iostream>#include<algorithm>#include<string>using namespace std;int src[20] = { 7,0,1,2,0,3,0,4,2,3,0,3,2,1,2,0,1,7,0,1 };char status[20];int stay;int showArray[7][2...

2019-06-09 23:49:27 462

原创 进程调度模拟

#include<iostream>#include<stack>#include<string>#include<iomanip>using namespace std;//enum status{ready,run,finish};struct PCB { string process_tag; PCB* next; int ...

2019-06-09 23:46:50 1563

原创 Linux实验报告三(   Linux的程序设计环境  )

湖南师范大学信息科学与工程学院实验中心 LINUX 课程实验报告老师 实验日期 2019 年 5 月 31 日实验项目名称: Linux的程序设计环境 ...

2019-06-09 23:27:57 835

原创 Linux实验报告二(   Linux的常用服务   )

湖南师范大学信息科学与工程学院实验中心 LINUX 姓名 指导老师 实验日期 2019 年 5 月 17 日实验项目名称: Linux的常用服务 ...

2019-06-09 23:25:25 531

原创 LINUX实验报告一( Linux的常用命令)

信息科学与工程学院 LINUX 课程实验报告实验基本原理(原理/源程序)一.CATcat命令用于连接文件并打印到标准输出设备上面;语法格式:cat [-AbeEnstTuv] [--help] [--version] fileName参数设置-n 从一开始对所有的输出行编号-b 和-n相似,只是对于空白行不编号...

2019-06-09 23:07:31 7909

原创 Linux Redhat 安装libreoffice

在windows中有office等实用的办公软件但是在linux中我们并没有很多办公的软件,使用起来很不方便,所以今天我就分享一下来下载办公软件libreoffice的方法。 1、卸载系统当前的libreoffice yum remove libreoffice-* 2、安装依赖yum -y install wget 3、下载3个文件...

2019-03-30 09:36:54 1382

原创 Linux RedHat6.5 安装yum源

学习了一段时间的linux但是在学习指令的时候发现有很多指令时没有的,所以给我们带来了很多不便,可是老师上课又要你使用这些指令,所以今天给大家带来了我的解决方法。实现原理: 首先来了解一下为什么Redhat中yum指令没有,这是因为Redhat中yum是需要用户注册的,并不是对所有人开放的,所以我们需要把centos中开放的yum来替换Redhat中的yum。 代码...

2019-03-30 09:13:06 4255 1

原创 二分查找

int BinarySearch(int arr[], int num,int length){ int low = 0; int high = length - 1; while (low &lt;= high) { int mid = (low + high) / 2; cout &lt;&lt; low &lt;&lt; mid &lt;&lt; high &lt;...

2019-01-06 16:15:07 93

原创 二叉搜索树

 二叉查找树(英语:Binary Search Tree),也称为二叉搜索树、有序二叉树(ordered binary tree)或排序二叉树(sorted binary tree),是指一棵空树或者具有下列性质的二叉树:若任意节点的左子树不空,则左子树上所有节点的值均小于它的根节点的值; 若任意节点的右子树不空,则右子树上所有节点的值均大于它的根节点的值; 任意节点的左、右子树也分...

2018-12-27 23:43:59 134

原创 Ni Multisim中规模集成电路设计

中规模集成电路设计 日期:2018.12.22    指导老师:   年级班级:学生信息   院系:      实验要求1、熟悉典型芯片的功能,灵活使用各类芯片如四位二进制加法器、编码器译码器、多路选择器和分配器;同步或异步可逆计数器、寄存器。2、采用典型芯片设计例题或习题,并通过软件仿真实现其功能。实验说明为了帮助大家更好的理解中规模集成电路设计,本实验实现了...

2018-12-22 11:51:20 6627

原创 RadixSort(基数排序)

基数排序(英语:Radix sort)是一种非比较型整数排序算法,其原理是将整数按位数切割成不同的数字,然后按每个位数分别比较。由于整数也可以表达字符串(比如名字或日期)和特定格式的浮点数它是这样实现的:将所有待比较数值(正整数)统一为同样的数字长度,数字较短的数前面补零。然后,从最低位开始,依次进行一次排序。这样从最低位排序一直到最高位排序完成以后,数列就变成一个有序序列。 ...

2018-12-12 22:28:22 602

原创 MergeSort(归并排序)

 MergeSort(归并排序) 归并排序就是通过不断的归并来实现的,将数组用一个固定的长度实现各个部分的归并后,实现了各个部分的有序,再将长度改变,实现各个部分之间的有序,就这样一步步实现整个数组的有序。#include&lt;iostream&gt;using namespace std;void MergeSortbefore(int arr[], int start, int...

2018-12-08 22:55:46 165 2

原创 NI multism 设计单脉冲发生器实验报告

                                                              实验要求     项目名称:异步电平时序电路设计与分析,实验名称:单脉冲发生器(例6.11)功能验证实验 实验步骤:a电路原图手绘或截图b仿真实验设计方案,包括采用哪些元器件,还有字发生器序列的设计方案;c仿真实验电路图(截图)d实验现象与数据分析,实验中必须有2...

2018-12-08 16:10:30 6658 2

原创 SelectSort(选择排序)

SelectSort(选择排序)选择排序与冒泡排序的思想有点像,就是交换,找到一个min,然后不停的swap,直到小的数全部交换到前面,这样数组就完成了排序。算法思想与冒泡很像,感兴趣的可以看看我的BubbleSort。代码如下:#include&lt;iostream&gt;#include&lt;cmath&gt;#include&lt;vector&gt;using ...

2018-12-06 19:57:21 2167

原创 HeapSort(堆排序)

 HeapSort(堆排序)排序(英语:Heapsort)是指利用堆这种数据结构所设计的一种排序算法。堆是一个近似完全二叉树的结构,并同时满足堆积的性质:即子结点的键值或索引总是小于(或者大于)它的父节点。在堆的数据结构中,堆中的最大值总是位于根节点(在优先队列中使用堆的话堆中的最小值位于根节点)。堆中定义以下几种操作: 最大堆调整(Max Heapify):将堆的末端子节点作调整,...

2018-12-05 20:02:48 201

原创 CountingSort(计数排序)

 CountingSort计数排序就是用一个count数组来储存每一个数据的比自己小的数的个数,然后根据这个来判断这个数据在新的数组newarr[],中的顺序。 #include&lt;iostream&gt;using namespace std;void CountingSort(int arr[],int length){ int *newarr=new int [...

2018-12-05 19:55:31 166

原创 冒泡排序(BubbleSort)

冒泡排序(bubblesort) 冒泡排序(英语:Bubble Sort)是一种简单的排序算法。它重复地走访过要排序的数据,一次比较两个元素,如果他们的顺序错误就把他们交换过来。走访数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成。这个算法的名字由来是因为越小的元素会经由交换慢慢“浮”到数列的顶端。冒泡排序,可以原地排序。尽管这个算法是最简单了解和实现的排序算法之一...

2018-12-01 22:55:22 453

原创 ShellSort(希尔排序)

希尔排序(ShellSort)又叫缩小增量排序,它也是一种插入排序,但是在时间效率上面与前面的几种有着明显的提升基本思想:将整个待排的记录序列分割为若干个子序列,分别将这些进行直接插入排序,待整个序列基本有序的时候,在对整体进行一次直接插入排序。例如,假设有这样一组数[ 13 14 94 33 82 25 59 94 65 23 45 27 73 25 39 10 ],如果我们以步长为5开...

2018-12-01 22:39:02 168

原创 折半排序(插入排序)

 折半排序(binary insert sort )也是插入排序的一种,只是这种适合于数据很少的时候的一种排序方法,相比于直接的插入排序,折半排序减少了“比较”,和“移动”这两种步骤.算法思想还是二分法 #include &lt;iostream&gt;using namespace std;void BinarySort(int a[],int length){ ...

2018-12-01 22:26:26 432

原创 InsertSort(插入排序)

 插入排序(Insertion Sort)是一种简单直观的排序算法。它的工作原理是通过构建有序序列,对于未排序数据,在已排序序列中从后向前扫描,找到相应位置并插入。插入排序在实现上,通常采用in-place排序(即只需用到{\displaystyle O(1)}的额外空间的排序),因而在从后向前扫描过程中,需要反复把已排序元素逐步向后挪位,为最新元素提供插入空间。算法思想就是不断与前面的数据比...

2018-12-01 21:30:07 7228 1

原创 表排序(插入排序)

#include&lt;iostream&gt;#include&lt;string&gt;using namespace std;void insert_sort(int R[],int size){//第一次排序 将T数组排序 int* T; T = new int [size]; for (int i = 0;i &lt; size-1;i++) { ...

2018-11-29 23:21:46 1807

原创 CriticalPath(关键路径)

  用顶点表示事件,弧表示活动,弧上的权值表示活动持续的时间的有向图叫AOE(Activity On Edge Network)网 。AOE网常用于估算工程完成时间。例如:  图1 是一个网。其中有9个事件v1,v2,…,v9;11项活动a1,a2,…,a11。每个事件表示在它之前的活动已经完成,在它之后的活动可以开始。如 v1表示整个工程开始,v9 表示整个工程结束。V5表示活动,a4和a5...

2018-11-26 23:12:59 3944

原创 Ni Multisim 101序列检测器实验报告

实验报告日期:2017.11.26                          指导老师:窦老师 院系:信息院, 年级班级:17计算机实验课程名称:数字逻辑实验项目名称:设计‘101’序列检测器(可重复)实验要求:验证RS/D/JK/T触发器的功能; 熟悉逻辑分析仪,字发生器的使用; 一. 实验步骤:(这里没有不确定的状态,所以是完全确定的同步时序电路...

2018-11-26 14:32:43 10000 3

原创 Topological Sort

在计算机科学领域,有向图的拓扑排序是其顶点的线性排序,使得对于从顶点{\displaystyle u}到顶点{\displaystyle v}的每个有向边{\displaystyle uv},{\displaystyle u}在排序中都在{\displaystyle v}之前。 例如,图形的顶点可以表示要执行的任务,并且边可以表示一个任务必须在另一个任务之前执行的约束; 在这个应用中,拓扑排序只是...

2018-11-19 11:00:21 280 2

原创 最短路径Floyd

                                            Floyd-Warshall算法的原理是动态规划。设{\displaystyle D_{i,j,k}}为从{\displaystyle i}到{\displaystyle j}的只以{\displaystyle (1..k)}集合中的节点为中间节点的最短路径的长度。若最短路径经过点k,则{\displa...

2018-11-19 10:48:10 140

原创 最短路径Dijkstra

戴克斯特拉算法(英语:Dijkstra's algorithm,又译迪杰斯特拉算法)由荷兰计算机科学家艾兹赫尔·戴克斯特拉在1956年提出。戴克斯特拉算法使用了广度优先搜索解决赋权有向图的单源最短路径问题。该算法存在很多变体;戴克斯特拉的原始版本找到两个顶点之间的最短路径,但是更常见的变体固定了一个顶点作为源节点然后找到该顶点到图中所有其它节点的最短路径,产生一个最短路径树。该算法常用于路由算法或...

2018-11-19 10:39:02 344

原创 Huffman

 在计算机数据处理中,霍夫曼编码使用变长编码表对源符号(如文件中的一个字母)进行编码,其中变长编码表是通过一种评估来源符号出现机率的方法得到的,出现机率高的字母使用较短的编码,反之出现机率低的则使用较长的编码,这便使编码之后的字符串的平均长度、期望值降低,从而达到无损压缩数据的目的。例如,在英文中,e的出现机率最高,而z的出现概率则最低。当利用霍夫曼编码对一篇英文进行压缩时,e极有可能用一...

2018-11-19 10:23:21 588 3

原创 用邻接链表来储存Graph

 计算机科学中,邻接表描述一种紧密相关的数据结构,用于表征图。在邻接表的表示中,对于图中的每个顶点,我们将保存所有其它与之相连的顶点(即“邻接表”)。例如,由吉多·范罗苏姆提出的,使用哈希表将每个顶点和该顶点的邻接点数组关连起来,就可以看作是上述表示方法的一种实现。又如,在Cormenetal中,顶点数组的每个元素都指向一个邻接点单链表。邻接表结构的困难之一是无法明确在什么地方保存相关边的...

2018-11-08 17:14:10 261 1

原创 Threaded Binary Tree

“一个二叉树通过如下的方法“穿起来”:所有原本为空的右(孩子)指针改为指向该节点在中序序列中的后继,所有原本为空的左(孩子)指针改为指向该节点的中序序列的前驱。”[1]线索二叉树能线性地遍历二叉树,从而比递归的 中序遍历更快。使用线索二叉树也能够方便的找到一个节点的父节点,这比显式地使用父亲节点指针或者栈效率更高。这在栈空间有限,或者无法使用存储父节点的栈时很有作用(对于通过深度优先搜索来...

2018-11-08 16:54:22 526

原创 最小生成树的代码实现(Prim)

                                        Minimum Cost Spanning Tree一个平面图和它的最小生成树。在该图中,边的长度正比于权值A。最小生成树是一副连通加权无向图中一棵权值最小的生成树。在一给定的无向图 G = (V, E) 中,(u, v) 代表连接顶点 u 与顶点 v 的边(即 {\displaystyle (u,v)...

2018-11-08 16:47:13 529

原创 多项式类的复杂实现

#include&lt;iostream&gt;#include &lt;cstdlib&gt;#include &lt;cmath&gt;using namespace std;class CPolynominal{public:struct Node{ double coef; int exp; Node * next; Node(dou...

2018-10-31 18:33:59 491

原创 迷宫问题的DFS解决(非最短)

#include &lt;iostream&gt;#include&lt;stack&gt;#include&lt;queue&gt;using namespace std;int a[7][7]={{1,1,1,1,1,1,1}, {1,0,0,0,0,0,1}, {1,0,1,0,1,0,1}, {1,0,1,1,0,0,1}, {1,0,1,1,0,1,1}, {1,0...

2018-10-24 12:23:19 156

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除