自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(39)
  • 资源 (3)
  • 收藏
  • 关注

原创 Go Mod的使用以及在github上发布使用

1.介绍在Go 1.11之后go的包管理工具就已经开始转向使用Go Module而不是GOPATH了,输入go env就可以看到自己的go 版本以及GO111MODULE是否打开,如下:上面GO111MODULE表示 GO mod是否打开,GOPATH是go get后包的存放路径,GOPROXY则是设置的代理。2.GO Mod的使用尝试在本地新建一个hello项目并初始化,如下:得到目录结构如下:新建hello.go文件:package helloimport ( "rsc.io/q

2021-01-21 21:25:03 2975 1

原创 Go自定义包并安装(GOPATH)

介绍go语言工具箱具有十分强大的功能,支持我们编译,安装与下载包。使用命令go env就能查看当前go的所有环境:本文中只讨论传统的GOPATH配置自定义包的模式,不过现在已经支持GO MOD了,可以很好的解决包之间的依赖与构建问题,若要采用GOPATH配置包则需要关闭GO111MODULE:Windows:set GO111MODULE=offLinux:export GO111MODULE=offGOPATH是我们go语言的工作目录,go get下载的依赖包会下载到该目录下,该目录结

2021-01-20 19:10:37 1429 1

原创 Process finished with exit code -1073741819 (0xC0000005)

这几天在使用pytorch的时候训练网络总是会出现这个问题Process finished with exit code -1073741819 (0xC0000005),定位过问题代码后发现是下面这一句出错了:loss.backward()一直没有找出具体的原因,后来发现只要去掉这句话就可以正常运行,但是网络要训练肯定没办法去掉,另外一个就是可以去掉model.cuda()和data....

2020-04-02 23:13:34 1391 3

原创 记录Win10连接Linux上使用Samba配置的共享盘连接不上的问题

在同一个局域网内使用其它的电脑可以连接上,账号与密码也没问题,但是总是提示密码错误,很是无解,后来在网上看到了一个解决办法,先记录下来,以免下次遇见同样的问题。1.win10系统运行secpol.msc 打开本地安全策略 ;2.安全策略->本地策略->安全选项 ;3.右侧找到“网络安全:LAN管理器身份验证级别”打开,选择“仅发送NTLMv2响应,拒绝LM和NTLM”点确定...

2020-03-30 13:43:59 919

原创 LeetCode判断两个二叉树的值与结果是否相同(isSameTree)

题目描述Given two binary trees, write a function to check if they are equal or not.Two binary trees are considered equal if they are structurally identical and the nodes have the same value.二叉树结构的定义:s...

2019-04-25 19:40:15 249 3

原创 python实现快速排序

def one_division(data , start , end): temp_value = data[start] while start < end: while data[end] >= temp_value and start < end: end -= 1 if data[end] <...

2019-03-18 10:36:19 139

原创 System V进程间通信--共享内存

一、共享内存IPC原理共享内存进程间通信机制主要用于实现进程间大量数据的传输,共享内存是在内存中单独开辟的一段内存空间,这段内存空间有自己特有的数据结构,包括访问权限、大小和最近访问时间。 数据结构定义如下:struct shmid_ds { struct ipc_perm shm_perm; /* operation perms */ int shm_

2017-04-10 19:55:04 445 1

原创 System V进程间通信--信号量机制(生产者消费者问题)

一、问题描述: 生产者消费者问题(Producer-consumer problem),也称有限缓冲问题(Bounded-buffer problem),是一个多线程同步问题的经典案例。该问题描述了两个共享固定大小缓冲区的线程——即所谓的“生产者”和“消费者”——在实际运行时会发生的问题。生产者的主要作用是生成一定量的数据放到缓冲区中,然后重复此过程。与此同时,消费者也在缓冲区消耗这些数据。该问题

2017-04-09 19:30:57 674

原创 System V进程间通信---消息队列

一、消息队列模型 消息队列是消息的链式队列,下图即为消息队列模型… 1、消息队列的基本属性struct msqid_ds { struct msqid_ds { struct ipc_perm msg_perm; struct msg msg_first; / first message on queue,unused */ struct

2017-04-09 17:51:36 374

原创 Linux下的ls命令详解以及C语言实现

一、众所周知,ls是linux下最常用的命令之一,使用起来也相当的快捷与方便,ls 命令将每个由 Directory 参数指定的目录或者每个由 File 参数指定的名称写到标准输出,以及您所要求的和标志一起的其它信息。如果不指定 File 或 Directory 参数, ls 命令显示当前目录的内容。使用语法如下:ls (options) (参数)1、options即为选项,常见的选项有

2017-04-09 15:50:14 8152 5

原创 Linux下解决/boot分区不足

一、问题:本来装了Linux的Ubuntu没有多久,都是按照教程来弄,安装时大多提示/boot分区100M足够,但最近每次开机都会提示/boot分区不足的问题,虽然用起来没感觉到有什么问题,但着实令人难受,于是百般搜索,大概都是这样描述的,Linux内核版本会经常更新,但是更新之后老版本的内核并非会自动删除,而是一直死皮赖脸的呆着不走,这个时候,为了还我们的系统一片净土,就要手动去卸载了。二、我们可

2017-04-09 11:20:40 8321 1

原创 Linux下运用C/C++实现txt文件的读写

一、基于ANSI标准的I/O函数实现文件的读写 在ANSI标准下,进行文件的读写操作会在用户空间中自动为正在使用的文件开开辟内存缓冲区。如下图所示: ANSI标准的C库函数建立在底层的系统调用之上,即C函数库额文件访问函数的实现中使用了低级文件I/O系统调用。ANSI标准的C库函数是为了减少使用系统调用的次数,提高效率,根据应用的不同采取缓冲机制,这样,在对磁盘文件进行读操作时,可以一次性的

2017-03-14 21:06:30 16563 1

原创 选择排序之简单选择排序与堆排序C/C++

一、简单选择排序 简单选择排序即每次选出最小或最大的元素与当前长度数组的最末尾进行交换,进行n-1次交换即可得到有序序列。1、平均时间复杂度为O(n^2) 2、最好与最坏时间复杂度都为O(n^2) 3、空间复杂度为O(1)代码实现/* *进行简单的选择排序 */#include<stdio.h>#define MaxSize 100/* *进行选择排序 */void selectSo

2017-03-11 12:37:37 355

原创 交换排序之冒泡与快排C/C++

一、冒泡排序 相信冒泡排序大家都知道,无非是每一趟排序时将相邻两个元素进行交换,根据从大到小或从小到大的顺序,交换起来略有不同,如此进行n-1次排序即可得到整个数组有序。1、平均时间复杂度为O(n^2) 2、最好情况下时间复杂度为O(n),此时设置标志为,元素有序时直退出 3、最坏之间复杂度为O(n^2) 4、空间复杂度为O(1)代码实现:/* *进行数组的冒泡排序 */#include

2017-03-11 11:13:27 444

原创 插入排序的三种算法C/C++

一、直接插入排序 1、平均时间复杂度为O(n^2) 2、最好情况为O(n) 3、最坏情况下为O(n^2) 4、空间复杂度为O(1)算法实现为:/* *直接插入排序 */#include<stdio.h>#define MaxSize 100/* *a为待排序的数组,length为数组长度 */void inSort(int a[] , int length) ;/* *进行数组元

2017-03-10 20:51:09 749

原创 Java中的回调机制

一、Java中的回调机制个人的大致理解:设有两个类A与B,A继承了接口CallBack,并实现了CallBack中的抽象方法x(),在类A中拥有类B的对象b,即在A中通过对象b对类B中的方法进行调用,B中含有A的对象a,在类B中对类A实现的方法x()进行调用。概念很枯燥并且很是绕口,还是举个栗子进行讲解吧。1、假设在一场战争中,士兵既负责放哨又负责开火,但士兵不知道开火的具体坐标,所以每当士兵发现敌

2017-03-08 21:16:20 256

原创 Ubuntu下进行JDK的配置

一、JDK的下载 登录JDK的官方网站http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html 32位机选择x86,64位选择x64,选择对应的软件安装包或压缩包下载即可,我这里选择的是后缀为.tar.gz的压缩包。二、下载完成后对包内文件提取出来即可三、创建Java目录文件,我们将

2017-02-26 17:11:44 347

原创 Java虚拟机运行时数据区域

Java虚拟机在执行Java程序时会把它所管理的内存划分为若干个不同的数据区域。这些区域都有各自的用途,以及创建和销毁的时间,有的区域随着虚拟机进程的启动而存在,有些区域则依赖用户线程的启动和结束而建立和销毁。* 1、程序计数器 Java虚拟机中的程序计数器是Java运行时数据区中的一小块内存区域,但是它的功能和通常的程序计数器是类似的,它指向虚拟机正在执行字节码指令的地址。具体点儿说,当

2017-02-26 16:15:15 570

原创 简单的文件系统模拟C/C++(操作系统)

一、目的与要求目的文件系统是操作系统的一个重要组成部分,也是与用户关系极为密切的部分。学生应独立的用高级语言编写和调试一个简单的文件系统,模拟文件管理的工作过程,从而对各种文件操作命令的实质内容和执行过程有比较深入的了解,掌握它们的实施方法,加深对教材中有关内容的理解。‘要求 (1) 设计一个n个用户的文件系统,每个用户最多可保存m个文件。(2) 限制用户在一次运行中只能打开一个文件。(3

2016-12-30 23:23:55 37205 6

原创 请求式分页存储管理算法(操作系统)C/C++

一、先进先出算法(First in First out) 算法描述: 该算法的实质是选择作业中在主存驻留时间最长的一页淘汰,这种算法容易实现,例如分配一个作业的存储块数为m,则只需建立一张m个元素的队列表Q(0)、Q(1)、…、Q(m-1)和一个替换指针。这个队列是按页调入主存的一页。如图4-1所示,某时刻调入主存四个块,(即m=4),它们按页进入主存的先后顺序为4、5、1、2,当需要置换时,总

2016-12-29 14:29:35 23337 4

原创 分区匹配算法(操作系统)C/C++

一、首次适应算法(First Fit) 算法描述:以空闲分区为例,FF算法要求空闲分区链以地址递增的次序链接,在分配内存时,从链首开始顺序查找,直至找到一个大小能满足要求的空闲分区为止。然后再按作业的大小,从该分区中划出一块内存空间,分配给请求者,余下的空闲分区仍留在空闲链中,若从链首直至链尾都不能找到一个能满足要求的分区,则表明系统已没有足够大的内存分配给该进程,内存分配失败,返回。该算法倾向于

2016-12-29 14:21:04 1016 1

原创 通过TCP/IP协议进行客户端与服务端的通信C/C++

服务端程序:#include<stdlib.h>#include<stdio.h>#include<Winsock2.h>#include<windows.h>#pragma comment(lib , "ws2_32.lib")/* *定义线程接收的结构体 */typedef struct{ SOCKET client ; int id ;} Client_So

2016-12-16 19:50:21 2740 1

原创 实现简单的端口连接程序C/C++

程序原理: 当指定了需要扫描的IP地址和端口信息后,程序便创建一个Socket,然后向指定的IP地址和端口发起建立连接的请求,如果能成功建立连接,则说明该端口处于工作状态,否则说明端口已经被关闭无法建立连接。程序源码:/* *简单的端口扫描程序 */#include<stdio.h>#include<Winsock2.h>#pragma comment(lib , "ws2_32.lib

2016-12-14 21:20:17 3094

原创 银行家算法避免死锁C/C++

一、数据结构的定义 1)可利用资源向量Available 是个含有m个元素的数组,其中的每一个元素代表一类可利用的资源数目。如果Available[j]=K,则表示系统中现有Rj类资源K个。2)最大需求矩阵Max 这是一个n×m的矩阵,它定义了系统中n个进程中的每一个进程对m类资源的最大需求。如果Max[i,j]=K,则表示进程i需要Rj类资源的最大数目为K。3)分配矩阵Allocation

2016-12-14 14:02:06 6045

原创 通过本地DNS域名服务器寻找域名对应IP地址C/C++

输入域名即可获取IP地址/* *模拟DNS协议的工作 */#include<stdlib.h>#include<stdio.h>#include<Winsock2.h>#include<Iphlpapi.h>#include<windows.h>#include<string.h>#pragma comment(lib , "ws2_32.lib")#pragma comment(

2016-12-14 10:31:58 4987 2

原创 进程调度算法(优先数法和简单轮转法)C/C++

一、算法描述 用优先数调度算法或简单轮转法对五个进程进行调度,每个进程处于运行(Run)、就绪(Ready)和完成(Finish)三种状态之一,并假定起始状态为就绪状态。二、进程控制块结构 进程控制块的链结构 其中:Run——表是当前运行进程指针 Ready——就绪队列头指针 Tail——就绪队列尾指针 Finish——完成队列指

2016-11-27 18:42:56 37394 3

原创 运用Floyd算法求得带权有向图任意两点间的最短路径C/C++

一、 算法过程1,从任意一条单边路径开始。所有两点之间的距离是边的权,如果两点之间没有边相连,则权为无穷大。2,对于每一对顶点 u 和 v,看看是否存在一个顶点 w 使得从 u 到 w 再到 v 比已知的路径更短。如果是更新它。把图用邻接矩阵G表示出来,如果从Vi到Vj有路可达,则G[i][j]=d,d表示该路的长度;否则G[i][j]=无穷大。定义一个矩阵D用来记录所插入点的信息,D[i][j]

2016-11-26 17:30:35 9177 1

原创 运用Dijkstra算法求得单源最短路径C/C++

额…,最近博客有一段时间没有更新了,本来打算每周两篇的打算被打断了,不断的意识到坚持一件事长久的做下去是多么的不易,当然也不是说上周什么事情都没有做,只是计算机图形学的作业确实是花了一段时间,虽然最终的效果可能没有那么理想,但确实是自己想要做好的一件事,所以觉得花的时间也是值得的,学一些新的技术固然不错,但个人觉得计算机系的必须要有着坚实的基础,所以数据结构与算法一定是我坚持的方向,好了,先展示下我

2016-11-26 11:22:03 1938

原创 Windows下C语言实现计算机网络底层Ping功能

一、在Windows环境下,实现ping(即发送一个ICMP的echo报文并对目标返回的回应报文进行正确的解析)二、ICMP(Internet Control Message Protocol,网际控制协议),它允许主机或路由器报告差错情况和提供有关异常情况的报告。ICMP提供的功能:错误诊断、拥塞控制、路径控制和查询服务如当一个分组无法到达目的站点或TTL超时后,路由器就会丢弃此分组,并向源站点返

2016-11-14 21:05:07 9370 11

原创 Prim与Kruskal求解带权图的最小生成树C/C++

一、图的最小生成树 由生成树的定义可知,无向连通图的最小生成树不是唯一的,连通图的一次遍历所经过的边的集合及图中所有顶点的集合构成了该图的一棵生成树,对连通图的不同遍历,可能的到不同的生成树。 如果无向连通图是一个网,那么,它所有生成树中必有一棵边的权值总和最小的生成树,我们称这棵生成树为最小生成树,简称最小生成树。二、构造最小生成树的Prim算法 假设G(V,E

2016-11-07 19:16:11 3698

原创 图的生成树算法C/C++

一、图的生成树 设E(G)为连通图G中所有边的集合,则从图中任意顶点出发遍历图时,必将E(G)分成两个集合T(G)和B(G),其中T(G)是遍历过程中经历边的集合;B(G)是剩余的边的集合。显然T(G)和图G中所有顶点一起构成连通图G的极小连通子图,即可知它是连通图的一颗生成树。 二、生成树的构造方法 1、通过深度优先遍历构建图的生成树 2、对于非连通图,通过这样的遍历得到的是生成森林

2016-11-06 16:52:31 3378

原创 图的创建以及深度与广度优先遍历C/C++

一、图的存储结构 图有几种最常见的存储结构:邻接矩阵、邻接表和十字链表。 下面仅以邻接表表示法进行图的操作 邻接表: 邻接表(Adjacency List)是一种顺序存储结构与链式存储相结合的图的存储方法。邻接表类似于树的孩子链表表示法。就是对于图G中的每个Vi,将所有邻接于Vi的顶点Vj链成一个单链表,这个单链表就称为顶点Vi的邻接表,再将所有点的邻接表表头放到数组中,就构成了图的邻接表。

2016-11-05 20:25:00 8033 11

原创 构造哈夫曼树算法C/C++

一、哈夫曼树的基本概念 最优二叉树也称哈夫曼树,是指对于一组带有确定权值的叶节点,构造的具有最小带权路径长度的二叉树。二、哈夫曼树的结构 假设有n个权值,则构造出的哈夫曼树有n个叶子结点。 n个权值分别设为 w1、w2、…、wn,则哈夫曼树的构造规则为:(1) 将w1、w2、…,wn看成是有n 棵树的森林(每棵树仅有一个结点);(2) 在森林中选出两个根结点的权值最小的树合并,作为一棵新树的

2016-10-30 10:24:57 3315 1

原创 线索二叉树的建立与遍历C/C++

dzfdsf

2016-10-29 23:13:58 3130

原创 二叉树的建立以及遍历C/C++

一、 二叉树的定义 二叉树(Binary Tree)是个有限元素的集合,该集合或者为空,或者由一个称为根(root)的元素及两个不相交的、分别被称为左子树和右子树的二叉树组成。当集合为空时,称该二叉树为空二叉树,在二叉树中,一个元素也成为一个节点。 二、 二叉树的数据结构 下面为二叉树链式存储结构的定义: /* *定义二叉树的数据结构 */typedef ch

2016-10-23 15:34:07 937

原创 在myeclipse中运用JDBC连接桥进行SQLServer数据库的连接

一、JDBD的定义 ———JDBC(Java Data Base Connectivity,java数据库连接)是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口组成。JDBC提供了一种基准,据此可以构建更高级的工具和接口,使数据库开发人员能够编写数据库应用程序,同时,JDBC也是个商标名。 二、工具 JDBC目前有四个版本,分别

2016-10-22 18:09:37 2557 4

原创 广义表的建立与一般操作C\C++

广义表的建立与一般操作C\C++一、广义表的概念        广义表是线性表的推广,但线性表的元素仅限于原子项,原子作为结构上不可分割的成分,它可以是一个数或一个结构,若放松对表元素的这种限制,允许它们具有自身独立类型结构,就产生了广义表的概念。       广义表是n(n>=0)个数据元素a1,a2,......ai,......,an的有序序列,一般记作:         

2016-10-20 20:41:24 7412 1

原创 实现稀疏矩阵相乘C/C++

实现稀疏矩阵相乘C/C++1、问题描述:已知稀疏矩阵A(m1,n1)和B(m2,n2),求乘积C(m1,n2)。A=|3 0 0  7|    B=|4  1|   C=|12 17|     |0 0 0 -1|         |0  0|        |0    -2|     |0 2 0  0|         |1 -1|        |0      0|   

2016-10-14 20:34:44 21032 1

原创 运用栈求解迷宫问题C/C++

用栈解决基本的迷宫问题C/C++1、问题描述:设置迷宫为m*n的二维数组,起点坐标为(1,1),中点坐标为(m,n),0为通路,1为死路,为防止数组越界将四周设置边界1,即数组变为(m+2)*(n+2)数组,迷宫如下....    迷宫11111111111011101111

2016-10-07 16:18:39 23949 17

libtiff库,内含lib静态库与dll动态连接文件

libtiff图像处理库,libtiff是处理tiff图像较为方便的一个库,可以使用。

2018-07-07

OenGL实现炫酷的太阳系

在VS2010的环境下配置OpenGL后,运用OpenGL中的函数库实现炫酷的太阳系效果,主要设计纹理贴图,光源设置以及球体的绘制和运动。

2016-11-26

math3d_library

2016-11-19

空空如也

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

TA关注的人

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