自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Jeaten

Talk is cheap, show me your code.

  • 博客(104)
  • 收藏
  • 关注

原创 数据结构教程(详细又简单——C语言实现)

数据结构简单教程(C语言实现)先验知识C语言1. Hello World程序数组指针结构体链表单链表正在完善ing先验知识为了更好地使用C语言学习数据结构,本节我们介绍实现数据结构我们应该掌握的一些基础知识。C语言C语言0基础的童鞋,建议先学习C语言,笔者推荐谭浩强的《C语言程序设计》,不过很多人可能会说这本教程并不是很好,作为0基础的我们而言,学会C语言的一些基本知识已经够了,而且该书作为很多学校的教材,因此可以一读以了解C语言。对于稍微有基础或者不想找教材的童鞋,建议使用《菜鸟教程》,过一遍之

2020-07-25 11:08:34 19682 5

原创 利用卷积神经网络实现手写字识别

本文我们介绍一下卷积神经网络,然后基于pytorch实现一个卷积神经网络卷积神经网络介绍让我们先复习一下神经网络的工作流程:搭建一个神经网络将要训练的数据(如图片)转换为神经网络能够识别的向量训练神经网络并实现预测然而,以上过程中,如果训练的是图片,而图片非常大(像素),则将图片转换成向量后的向量的维度将会非常大,这样会导致在训练网络的时候所需的神经元非常多,需要涉及到非常多参数的更新,也就导致了训练效果不好。计算机中,图片是以矩阵的形式存的,以以下mnist手写字为例,卷积神经网络实现

2021-11-15 16:44:41 14195 13

原创 利用神经网络实现手写字识别

神经网络介绍神经网络即多层感知机如果不知道感知机的可以看博主之前的文章感知机及Python实现神经网络实现及手写字识别关于数据集:从http://yann.lecun.com/exdb/mnist/下载,下载后将文件解压将main函数中的path改为下载文件的存储路径即可如果对数据集有问题,可以私信博主关于实现:基于pytorch实现,包括神经网络的构建,激活函数的选择归一化使用了像素值/255的方式实现,可以尝试用别的方式进行归一化处理import numpy as npi

2021-11-13 22:03:26 3548 3

原创 如何写一个神经网络

本文我们介绍如何利用python自己手写一个神经网络神经网络介绍神经网络其实很简单 —— 多层感知机,不懂感知机原理得可以看博主之前写的感知机及Python实现。正如感知机及Python实现中所描述的,感知机的权重 www 和偏置 bbb 很容易更新,但多层感知机的权重就更新就得靠求导工具了。这里我们使用pytorch中的求导工具来实现,至于神经网络权重更新的过程,还是和感知机一样。神经网络python实现我们用神经网络来模拟 y=x2y=x^2y=x2 的计算过程,以下为代码:import

2021-11-12 21:05:34 1964

原创 计算机网络的使命

江山多娇弯弓射雕童真的试探烽火戏诸侯有内鬼,终止交易信息的重要性还看今朝信息表示二进制计算机网络江山多娇儿行千里母担忧~今天我们想妈妈的时候拨一个微信视频就可以了,实在太想坐个飞机,高铁,火车,几十小时甚至几十分钟就可以抱到妈妈了。弯弓射雕古人可没我们今天这么幸福啊,先说说自己小时候玩过的一个小游戏吧~童真的试探在两个一次性纸杯中钻一个洞,中间拉一条绳子,我将纸杯盖在自己的耳朵上,小伙伴在那一端说话。即使他说的很小声,依然能听到。当然,这一现象在绳子拉直的时候越明显。多么美妙的现象,它曾占据.

2021-10-04 21:58:08 251

原创 最小化最大链路利用率

最小化最大链路利用率最小化最大链路利用率(minimizing the maximum link utilization in the network),也被称为minimax问题,是流量工程(Traffic Engineering,TE)中涉及的概念。让我们先看个图:3个节点1,2,3c为每条链路的容量有2条链路x132x_{132}x132​和x12x_{12}x12​以图中的2条链路x132x_{132}x132​和x12x_{12}x12​为例,假设:链路x132x_{132}

2021-09-22 17:12:14 2847 2

原创 Python TCP套接字编程

Python TCP套接字编程使用两台机器建立基于TCP的通信,其中客户端的地址为192.168.1.1,服务端的地址为192.168.1.2与UDP不同,TCP是面向连接的服务,在发送数据之前首先需要进行连接 —— 三次握手过程,为此TCP套接字编程与UDP套接字编程有所区别使用Python语言实现接下来我们分别建立客户端和服务端的python代码代码实现客户端代码(client_tcp.py):from socket import *server='192.168.1.2'port=1

2021-09-09 21:17:50 1089

原创 Python UDP套接字编程

Python UDP套接字编程

2021-09-09 20:46:10 905

原创 计算机网络方向 CCF推荐会议及期刊

中国计算机学会(China Computer Federation,CCF) 推荐国际学术期刊及会议 —— 计算机网络方向A类期刊刊物简称刊物全称网址JSACIEEE Journal of Selected Areas in Communicationshttp://dblp.uni-trier.de/db/journals/jsac/TMCIEEE Transactions on Mobile Computinghttp://dblp.uni-trier.de/db

2021-09-08 09:42:49 3837

原创 Pycharm使用远程服务器解释器

Pycharm使用远程服务器解释器设想这样一个场景,手里有一台轻薄本,需要跑大型程序,使用服务器跑又本地显示不太方便,可不可以使用服务器的资源跑程序,显示在我本地的pycharm软件上呢?当然可以以下我们来看具体如何操作首先创建一个python项目(server.py)import osprint(os.path)—— 本地运行结果为(尚未配置服务器):F:\Python\3.7.2\python.exe F:/0implement/server/main.py<module

2021-08-02 16:13:48 1551

原创 ssh如何后台运行程序

ssh后台运行程序设想这样一种情况:你使用ssh客户端(如putty或xshell),正在使用Linux服务器跑一个程序或下载一个东西,突然你网线被人动了一下或网络环境发生了不稳定现象,甚至电脑突然没电了...

2021-08-01 20:35:50 3170

原创 python命令行传递参数

python命令行参数传递本文介绍python的两种参数传递方式,第1种为sys的参数传递,第2种为argparse的参数传递1. 使用sys的sys.argv来获取命令行参数import sysprint (sys.argv)python debug.py para1 para2['debug.py', 'para1', 'para2']可以看到传入了参数,要使用具体参数的时候得我们自己去解析、识别2. 使用parser.add_argument()方法传递参数parser.add

2021-07-28 12:52:15 7113

原创 word如何在一个节面操作不同页

有时在写word文档时候我们会有这样的需求在操作当前页的时候同时需要操作距离当前页很远的页面的内容,若我们操作一点再跳到很远的某一页去操作的话会很影响体验如果可以在同一个word界面操作不同页的话就再好不过了:首先打开word文档,然后选择视图,再在窗口区域选择拆分即可 /* 其实不用辣么麻烦,直接点左边新建窗口即可 */ 然后就可以在同一个界面看到同一文档的不同页啦...

2021-03-10 20:14:18 382

原创 Python 日期字符串转为时间戳

在实际应用中,我们有时需要将日期格式的字符串转为时间戳的格式,以方便我们的使用以下我们以2011/04/26 11:58:21为例子进行说明,如何使用Python将其转为时间戳日期字符串转为时间戳需要用到time包,首先将其转为时间数组的格式,再将时间数组转为时间戳import timestr='2011/04/26 11:58:21'timearray=time.strptime(str,"%Y/%m/%d %H:%M:%S")print(time.mktime(timearray))运

2021-01-16 13:42:45 1649

原创 分类问题和回归问题

本文中涉及到的概念都是基于二分类问题在了解精确率和召回率之前,我们先了解几个概念TP(True Positive):实际为正,预测为正FN(False Negative):实际FP(False Positive)TN(True Negative)精确率召回率

2020-12-30 17:20:28 1003

原创 精确率和召回率

以下以二分类为例子进行说明在了解精确率和召回率之前,我们先了解几个概念TP(True Positive):实际为正,分类器预测为正FP(False Positive):实际为负,分类器预测为正TN(True Negative):实际为负,分类器预测为负FN(False Negative):实际为正,分类器预测为负精确率P=TPTP+FPP=\frac{TP}{TP+FP}P=TP+FPTP​其表示分类器预测为正确的分类中究竟有多少是正确的召回率R=TPTP+FNR=\frac{TP}{T

2020-12-30 17:19:12 319

原创 生成模型和判别模型

生成模型判别模型

2020-12-03 22:08:04 618

原创 损失函数

本篇我们来学习一下在机器学习中常用的损失函数文中我们用YYY表示实际值,f(X)f(X)f(X)表示预测值常用的损失函数有:0-1损失函数(0-1 loss function)L(Y,f(X))={1,    Y≠f(X)0,    Y=f(X)L(Y,f(X)) = \left\{ \begin{array}{l}1,\;\;Y \ne f(X)\\0,\;\;Y = f(X)\end{array} \right.L(Y,f(X))={1,Y​=f(X)0,Y=f(X)​实际值和预测值相

2020-11-27 18:41:30 379

原创 三位正整数根据个位输出 — C++实现

题目描述输入一个三位正整数,根据个位上的数输出格式如下:输出格式:十位 百位 个位(个位上的数<2)百位 个位 十位(2<=个位上的数<5)个位 十位 百位 (5<=个位上的数)解题思路对于这样一个问题,我们应首先得到个位的数,然后进行判断对于一个三位数,可通过用这个数去除以10取余数得到个位数由于显示跟十位和百位有关,我们还需要求出一个三位数的十位和百位求三位数的百位直接拿这个数除以100即可对于三位数获得十位数的方法,

2020-11-12 17:38:36 2735

原创 Pycharm如何调Linux服务器代码

有时候我们需要让服务器运行本地代码,如果我们每次将本地代码拷贝到服务器的话效率会很低,本期博主分享Pycharm如何调Linux代码端的代码这里以Python3的代码为例进行说明文章目录准备工作Linux账号密码Pycharm代码环境环境配置调通示例准备工作Linux账号密码先准备一个可以登录服务器的账号和密码下图中博主创建了一个名为Program的文件夹用于存放我们调试的代码Pycharm代码环境然后本地肯定代码是可以跑通的接下来我们让这段代码可以在服务器端跑环境配置只需要配置好

2020-10-09 21:16:47 734

原创 nextval数组如何求解

求解示例

2020-10-08 15:36:41 10132 4

原创 next数组如何求解

next数组示例我们先来看两个next数组的例子示例1j123456模式串abcdexnext[j]011111示例2j123456模式串abcabxnext[j]011123求解方式初始next[1]=0,next[1]=1j逐步递增,在由j前面的字符组成的子串中进行查找,计算next[j]的规则为:子串中最大对称相等的字符个数+1求解图示我们以示例2中的

2020-10-08 11:32:17 1842

原创 回文数判断 — Python实现

题目描述判断一个整数是否是回文数。回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。示例 1:输入: 121输出: true示例 2:输入: -121 输出: falseLeetCode链接解题思路使用python解决非常简单首先将数组转为字符串两个指针,一个从左往右遍历字符串,一个从右往左遍历,如果遇到两个不相等的情况,则不为回文数,直到两个指针相等代码实现class Solution: def isPalindrome(self, x: int)

2020-09-30 17:13:16 3745

原创 反序数字 — Python实现

题目描述秘密电报由数字和空格组成,破解密电前需要获取完整的数字电报,将电报里的数字反序同时还需要去除掉多余的空格(子串之间只保留1个空格,其余均算作多余空格)如” 1 5721 23”需要反序成 "23 5721 1 ”输入描述带空格分隔的数字字符串输出描述去掉多余空格后的反序数字字符串样例输入3542 3 422 51272样例输出51272 422 3 3542解题思路将连续输入的字符保存在数组里,如果输入空格则不保存,当输入完成时

2020-09-24 23:51:02 3409

原创 战术遮挡 — Python实现

题目描述人的视力不能看到掩体之后的事物,在一场战争中,我们希望对方尽可能的低估我方的战斗力这样才能出其不意。某个军事参谋效仿孙膑,把某些小规模队隐藏在大规模部队中,这样,就使得军队数量看起来变少了。已知,如果某部队A的人数小于等于另一支部队B人数的1/3, 则可以将A藏于B中,且不被人发现。不支持嵌套,例如A小于B的三分之一,可将A藏于B, 如果又存在B是C的三分之一,不可再将B藏于C。现在已知我方共有n支部队,且知道每支部队的人数,请问,在最优方案下,我们暴露给敌人的部队数量有几支。输入描述输

2020-09-24 23:35:07 591

原创 快速排序算法 — C++实现

#include <iostream>using namespace std;void swap(int *arr,int low,int high){ int tmp; tmp=arr[low]; arr[low]=arr[high]; arr[high]=tmp;}int partition(int *arr,int low,int high){ int piv; piv=arr[low]; while(low<high)

2020-09-24 15:26:53 322

原创 连续子数组的最大和 — C++实现

题目描述HZ偶尔会拿些专业问题来忽悠那些非计算机专业的同学。今天测试组开完会后,他又发话了:在古老的一维模式识别中,常常需要计算连续子向量的最大和,当向量全为正数的时候,问题很好解决。但是,如果向量中包含负数,是否应该包含某个负数,并期望旁边的正数会弥补它呢?例如:{6,-3,-2,7,-15,1,2,2},连续子向量的最大和为8(从第0个开始,到第3个为止)。给一个数组,返回它的最大连续子序列的和,你会不会被他忽悠住?(子向量的长度至少是1)牛客网题目链接解题思路1代码实现class Solut

2020-09-23 14:48:47 797

原创 数据流中的中位数 — C++实现

题目描述如何得到一个数据流中的中位数?如果从数据流中读出奇数个数值,那么中位数就是所有数值排序之后位于中间的数值。如果从数据流中读出偶数个数值,那么中位数就是所有数值排序之后中间两个数的平均值。我们使用Insert()方法读取数据流,使用GetMedian()方法获取当前读取数据的中位数。解题思路代码实现...

2020-09-22 19:09:51 445

原创 最小的k个数 — C++实现

题目描述输入n个整数,找出其中最小的K个数。例如输入4,5,1,6,2,7,3,8这8个数字,则最小的4个数字是1,2,3,4。牛客网题目链接解题思路代码实现

2020-09-22 15:49:00 777

原创 数组中出现次数超过一半的数字 — C++实现

题目描述数组中有一个数字出现的次数超过数组长度的一半,请找出这个数字。例如输入一个长度为9的数组{1,2,3,2,2,2,5,4,2}。由于数字2在数组中出现了5次,超过数组长度的一半,因此输出2。如果不存在则输出0。牛客网题目链接解题思路数组中有一个数字出现的次数超过数组长度的一半,意味着这个数出现的次数比其他数字出现的次数的总和还要多,为解决这个问题,我们需要保存两个值:数组中的一个数字、该数字出现的次数,操作为:我们遍历到下一个数字的时候,如果下一个数字和我们之前保存的数字相同,则次数+1

2020-09-22 08:57:37 887

原创 字符串的排列 — C++实现

题目描述输入一个字符串,按字典序打印出该字符串中字符的所有排列。例如输入字符串abc,则按字典序打印出由字符a,b,c所能排列出来的所有字符串abc,acb,bac,bca,cab和cba。输入描述:输入一个字符串,长度不超过9(可能有字符重复),字符只包括大小写字母。牛客网题目链接解题思路代码实现using namespace std;class Solution {public: vector<string> Permutation(string str) {

2020-09-21 23:17:17 684

原创 两个有序数组的公共部分 — Python实现

题目描述输入两个有序整型数组,输出两个数组的公共部分,公共部分要求为有序数组,实现最快算法。示例输入:[-5,0,6,8,9,10],[0,8,9,11,15]输出:[0, 8, 9]解题思路题目要求我们中出两个有序数组的公共元素,我们可以直接从两个数组中开始遍历,由于数组有序,只要数组中的元素不相等,则继续往后遍历,若相等则输出。代码实现def handle(arrayA,arrayB): res=[] i=0 j=0 while(i<ar

2020-09-21 23:05:50 1035

原创 插入排序算法 — C++实现

插入排序将一个记录插入到已经排好序的有序表中,得到一个新的、记录数增加1的有序表排序图示算法评价代码实现

2020-09-16 23:51:44 188

原创 选择排序算法 — C++实现

选择排序每次从待排序的元素中选出最小(或最大)的一个元素,然后将该数据放在序列的起始位位置。然后在剩下的未排序元素中重复这一过程,所有的数据都被排序。排序图示算法评价就时间复杂度而言,和冒泡排序相同,都为O(n2)O(n^2)O(n2),但性能上要优于冒泡排序代码实现源代码:#include <iostream>using namespace std;void selectionsort(int *arr,int len){ int i,j,tmp,loc_min;

2020-09-16 21:34:24 317

原创 冒泡排序算法 — C++实现

冒泡排序两两比较相邻记录的关键字,如果不符合顺序要求则交换,直到没有不符合顺序要求的为止。排序示意图代码实现源代码:#include <iostream>using namespace std;void bublesort(int *arr,int len){ int i,j,tmp; for(i=0;i<len;i++){ for(j=0;j<len-1;j++){ if(arr[j]>arr[j+1]){

2020-09-16 21:06:54 4146 1

原创 排序算法总结

本文主要讲解常见排序算法,文章目录排序排序算法的稳定性内排序和外排序内排序外排序冒泡排序选择排序插入排序希尔排序堆排序归并排序快速排序排序排序算法的稳定性在一组数中,如果存在两个数据相等,在排序完成后相等的两个数的相对位置不变, 则我们称该排序算法是稳定的。内排序和外排序内排序在排序的整个过程中,待排序的所有记录全部放置在内存中主要包括插入排序、交换排序、选择排序和归并排序外排序由于数据过多,排序过程需要借助外存的排序冒泡排序两两比较相邻记录的关键字,如果不符合顺序要求则交换,直到没

2020-09-16 21:01:57 120

原创 C语言指针

C语言指针C语言中指针具有非常重要的位置,在学习数据结构之前,我们必须得掌握指针的用法。在我们写代码的时候,程序中的每个变量都会存在内存的某个地址单元中,我们可以通过“&”符号来实现取地址操作:#include <stdio.h>void main(){ int a=0; printf("变量a的地址: %p\n",&a);}运行结果为:可以看到我们获得了整型变量a的地址,这与我们本节要讲的指针的关系如下:指针是一个变量,用来存储另一个变量的地

2020-09-12 14:29:30 121

原创 序列化二叉树 — C++实现

题目描述请实现两个函数,分别用来序列化和反序列化二叉树二叉树的序列化是指:把一棵二叉树按照某种遍历方式的结果以某种格式保存为字符串,从而使得内存中建立起来的二叉树可以持久保存。序列化可以基于先序、中序、后序、层序的二叉树遍历方式来进行修改,序列化的结果是一个字符串,序列化时通过 某种符号表示空节点(#),以 ! 表示一个结点值的结束(value!)。二叉树的反序列化是指:根据某种遍历顺序得到的序列化字符串结果str,重构二叉树。例如,我们可以把一个只有根节点为1的二叉树序列化为"1,",然后通过自己

2020-09-11 22:15:58 323

原创 二叉搜索树与双向链表的几种解法 — C++实现

题目描述输入一棵二叉搜索树,将该二叉搜索树转换成一个排序的双向链表。要求不能创建任何新的结点,只能调整树中结点指针的指向。解题思路代码实现

2020-09-09 10:33:43 171

原创 按规律输出矩阵 — python实现

题目描述已知矩形的行和列,请按如下的规律输出斜对角矩形。例1:输入:2 2输出:[[1,3],[2,4]]例2:输入:1 2输出:[[1,2]]例3:输入:4 3输出:[[1,3, 6], [2, 5, 9], [4, 8, 11], [7, 10, 12]]解题思路题目的意思是想让我们从左下角往右上角的方向放置数据,因此我们需要先找到这些数据的坐标,然后再将这些数据放进这些位置即可,第一个数和最后一个数分别放进第一个和最后一个格子里。这些格子的坐标分别为(0,0),(1,0

2020-09-08 22:30:01 1215

空空如也

空空如也

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

TA关注的人

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