学习笔记
文章平均质量分 56
寂静丿星空
一名普通的职场人
展开
-
visdom安装及使用vsidom实现pytorch训练过程可视化
去年考研,成功上岸。有一年没写博客了,今天可以重新开始写了。(我胡汉三又回来了!)这篇博客写一下原创 2021-05-09 21:42:30 · 1002 阅读 · 2 评论 -
数据结构与算法:排序(分类)
一、分类概述1.排序:它是计算机内经常进行的一种操作,其目的是将一组“无序”的记录序列调整为“有序”的记录序列。具体定义为:假设含n个记录的序列为 { R1, R2, …, Rn } , 其相应的关键字序列为 { K1, K2, …,Kn }, 这些关键字相互之间可以进行比较,即在它们之间 存在着这样一个关系:Kp1≤Kp2≤…≤Kpn 按此固有关系将记录序列 { R1, R2, …, Rn } 重新排列为 { Rp1, Rp2, …,Rpn } 的过程称作 分类。2.内部分类和外部分类原创 2020-05-21 17:03:56 · 1098 阅读 · 0 评论 -
数据结构:图(三) 图的应用
这篇文章讲一下图的一些应用。一、最小连通代价问题无向连通图的生成树有很多,如果图的边具有权值,那么各个生成树的边的权值之和大小就不同。在所有生成树中,权值之和最小的一棵成为最小生成树。1.最小生成树:假设图是一个加权连通图,具有最小权值之和的生成树称为最小代价生成树。Minimum Cost Spanning Tree (MST)举一个例子:假设有一个网络,用以表示n个城市之间假设通信线路,边上的权值代表架设通信线路的成本。如何架设才能使线路架设成本达到最小?这个问题的答案:原创 2020-05-16 21:39:38 · 7462 阅读 · 0 评论 -
数据结构:图(二) 图的重要操作——遍历
图的重要操作——遍历1.图的广度遍历:BFS(1)遍历方式:假设图为G=(V,E),从v0开始广度优先遍历图。大致的访问过程是:访问v0,作为以访问的标志——>依次访问与v0邻接但未访问的各个顶点——>再依次访问这些顶点的未被访问的邻接点。。。(2)特点:类似于树的层次遍历。尽可能先在横向上访问邻接点,即由远及近,依次访问和出发点有路径相通且路径长度为1,2....的顶点。举个例子:上面这个是无向图的,下面再举一个有向图的例子:(3)需要注意的问题①在没有原创 2020-05-15 21:05:26 · 873 阅读 · 0 评论 -
数据结构:图(一) 图的基本知识
现实世界中,事物之间的关系是错综复杂的,最简单的是线性关系(线性表,至多有一个前驱一个后继),稍微复杂一些的是树关系(每个元素至多有一个前驱,可能有零个或多个后继)。这片博客我讲一种更为复杂的数据结构——图结构。特征是:每个元素可以有多个前驱、多个后继。1.图逻辑结构(1)定义:图是一种数据结构,它由顶点(Vertex)集合(即数据元素)及顶点间的边(Edge)集合(即元素之间的关系)...原创 2020-05-14 22:15:13 · 3048 阅读 · 0 评论 -
数据结构:树与二叉树(三) 特殊二叉树
这片博客讲一下二叉树中的几种特殊二叉树。一、二叉排序树1.定义2.递归定义3.特点4.二叉排序树的构建(创造)二、堆1.定义2.特点3.堆的用途4.堆的构造(创建)一、二叉排序树(Binary Sort Tree,BST)1.定义:二叉树中,任何结点均满足条件:“大于其左子树上的所有结点,小于其右子树上的所有结点(若存在的话)”。又称为二...原创 2020-05-07 12:22:16 · 852 阅读 · 0 评论 -
数据结构:树与二叉树(二) 二叉树
这篇文章讲一下二叉树ADT。1.二叉树数据结构(1)二叉树(Binary Tree)是一个有限元素的集合(可以空),它或者是空(空二叉树),或者由一个称为根的元素以及分别称为左子树和右子树的两个互不相交的集合组成,这个两个集合又都是二叉树。上面这个定义太绕口了,我读了好几遍才明白,二叉树,说白了就是每个结点最多只有两个孩子结点(即孩子结点数量<=2)。(2)二叉树有五种形态,...原创 2020-05-05 22:33:08 · 483 阅读 · 0 评论 -
数据结构:树与二叉树(一) 树的基本知识
这篇文章给大家简单讲一下树与二叉树。1.树逻辑结构(1)树(Tree)是一个非空的有限元素的集合,元素之间有如下关系:有且仅有一个特殊元素,它没有前驱(称为树根Root),其余元素都有且仅有一个前驱元素,所有的元素(报货树根元素)可以有零个或多个后继。(2)树的递归定义:树T是一个非空数据元素的有限集合,其中有且仅有一个 特定元素称为树T的根,剩余的元素(若有的话)可被划分为 m 个互...原创 2020-05-05 16:34:14 · 537 阅读 · 3 评论 -
数据结构:字符串ADT
这片文章给大家讲解一下字符串。1.字符串的逻辑结构字符串(String)这个东西 ,相信大家都不陌生。字符串,简单来说,是有限字符集中的零个或多个字符组成的有限序列。它是一种特殊的线性表,(数据集为字符集,元素之间具有线性关系)。字符串的特点:数据元素都是字符,使得它的操作的对象一般不再是点那个数据元素,而是一组数据元素(字符子串)。2.字符串结构上定义的操作①字符...原创 2020-05-03 20:13:04 · 1178 阅读 · 0 评论 -
数据结构:数组ADT
数组,相信大家对这个名词不陌生,他在高级语言中都已经物理实现为数组数据类型。数组是一个特殊的线性表,特殊在元素受多个线性关系约束。因为数组的特殊性,所以其定义的操作非常少。接下来我将讲一下数组的一些知识以及利用数组实现一种特殊的数据结构——矩阵。(我结合我们老师的PPT给大家讲解,其中会夹杂一下我本人对某些问题的理解和看法,说的不对的地方,还请大家不吝赐教。)一、数组的基本知识...原创 2020-04-24 17:54:12 · 3296 阅读 · 0 评论 -
数据结构:队列ADT的实现
队列是一种特殊的线性表,数据元素之间是线性关系,其插入和删除操作分别在两边进行,一端只能插入,另一端只能删除。队首(front):进行删除操作的一端;队尾(rear):进行插入操作的一端;入队:在队尾插入一个元素;出队:在队首插入一个元素;特性:元素的操作顺序符合“先进先出(FIFO)”或“后进后出(LILO)”。我以链式队列为例子讲解队列的一般操作。链式队列的存储方式...原创 2020-04-19 18:54:51 · 1707 阅读 · 0 评论 -
数据结构:栈ADT的实现
栈是一种特殊的线性表,是一种线性数据结构,其特殊性是表现在操作定义上:插入和删除操作只能在两端进行(不允许在线性表的中间插入和删除)。栈(Stack):数据结构————线性关系操作————一端固定,只允许一端插入删除特性————“先进的先出,后进的后出”栈有两种存储方式,一种是顺序存储(顺序栈),另一种是链式存储(链式栈)。这里我以链式栈为例子给大家讲解栈ADT的定义。...原创 2020-04-18 22:08:55 · 1581 阅读 · 0 评论 -
数据结构:链式表ADT的实现
链表适用于插入或删除操作频繁,存储空间需求不定的情形。链表分很多种,有单链表、双链表、循环链表等,这里我以单链表为例,实现单链表的ADT。 单链表是一种最简单的链表表示,也叫作线性链表。用它来表示线性表时,用指针表示节点间的逻辑关系。因此单链表的一个存储节点包含两部分: ...原创 2019-09-23 20:03:13 · 1505 阅读 · 0 评论 -
数据结构:顺序表ADT的实现
线性结构是简单且常用的数据结构,而线性表是一种典型的数据结构。 一般情况下,如果需要在程序中存储数据,最简单、最有效的方法是把它们存放在线性表中。只有当需要组织和搜索大量数据时,才会考虑使用更复杂的数据结构。 在所有的数据结构中,最简单的是线性表。通常,定义线性表为n(n>=0)个数据元素的一个有限的序列。记为: ...原创 2019-09-23 18:28:50 · 3190 阅读 · 0 评论 -
Python爬虫爬取网页实例二:BeautifulSop应用模拟登录人人网
今天写一下利用BeautifulSop模拟登陆人人网的爬虫。目前有很多网站需要用户名和密码来进行登录,有些浏览器在你第一次输入用户名和密码后,会保存你输入的用户名和密码,即Cookie值,BeautifulSop可以爬取Cookie值并保存,然后利用Cookie来登录相关的网站。首先我们要用抓包工具来抓取网站的相关信息,即我们需要知道输入的用户名和密码发送给哪个网站进行了处理,以及需要传递...原创 2019-08-10 15:13:00 · 435 阅读 · 0 评论 -
Python爬虫爬取静态网页实例一:爬取内涵段子吧上的段子
最近在学爬虫,这里用实例来与大家分享一下我学习的经验。这里讲一个爬取静态网页内容的实例,Python一般利用正则表达式爬取静态静态网页的内容,而且因为静态网页源代码固定,不会发生变化,所以比较简单,这里选内涵段子吧作为例子。内涵段子吧里的段子分为很多页,大家可以点击每一页,观察一下网址的变化,最后会发现每一页的url地址都遵循一个规则:https://www.neihan8.com/a...原创 2019-08-07 18:02:30 · 792 阅读 · 1 评论 -
Python实现SQL Server 2008的增删查改+连接过程中出现的问题以及解决方法
Python操作SQL Server 2008需要一个名为pymssql的库,如果没有这个库可以通过在cmd中输入如下命令来安装:pip install pymssql闲话少说,直接贴代码:# -*- coding: utf-8 -*-"""Created on Sat Jan 19 11:11:17 2019@author: DELL"""import pymssql...原创 2019-01-20 10:12:39 · 1026 阅读 · 1 评论 -
解决PyCaharm的ImportError:cannot import name 'get_cache_token'问题
因为要学习相关的课程,所以下载了PyCharm,可是在使用的时候提示ImportError: cannot import name 'get_cache_token',如下图所示:上网查了很多办法,都没有的到解决,最后逼得实在没有办法,新建了一个文件夹,把程序放在了里面,发现问题被解决了,这之后上网查了一些资料,发现可能是当前文件夹下有一些文件名和python标准库里的模块名重合了,而Py...原创 2019-02-09 21:09:01 · 3671 阅读 · 0 评论 -
Linux一些常见命令及解释
本人最近看了一些Linux的教学视频,学了一些Linux的常见命令,所以写篇博客将知识分享给大家,希望对各位朋友有所帮助。ls 显示当前路径下的文件和文件夹ls -a 显示当前路径下的所有文件和文件夹(包括隐藏文件)ls-l 以列表方式显示当前路径下文件和文件夹的详细信息ls -h 以列表方式显示当前路径下文件和文件夹的详细信息,并用合适...原创 2019-02-28 09:33:12 · 539 阅读 · 1 评论 -
安装scrapy报错(Command "D:\Anaconda3\python.exe -u -c "import setuptools...)的解决办法
最近上网学习python爬虫,在安装scrapy时遇到了如下的错误:仔细看发现时缺少了一个名叫twisted 的库,这个库不能用pip install twisted来安装,如果这样安装的话会报类似的错误,上网查阅相关资料,有人说要去官方网站下载安装包,本人尝试了一下,发现这个办法行不通,因为它的官方网站不太“友好”,根本找不到安装的链接,还有人说需要将windows installer服...原创 2019-02-13 10:52:31 · 8072 阅读 · 0 评论 -
Linux vim编辑器常用命令及解释
首先,请大家看一幅图片:这是vim常见的三个模式,在命令行输入:vim xxx(xxx为某个文档或程序)即可进入vim编辑器的命令模式。命令模式下:i 在光标前面输入字符I 光标移到行首插入a 在光标后面输入字符A 光标移到行末插入o 在光标的下一行输入字符O 光标移到上一行插入以上命令输入后会直接进入编辑模式...原创 2019-02-28 13:28:34 · 544 阅读 · 0 评论 -
C++练习题(求两个数的阶乘相减、链表问题)
一、阶乘相减问题【问题】已知一块靶场大小为m*n(m行n列),每个点上都有一面旗子,我们的炮兵发射炮弹,炮弹一次只能炸掉一面旗子,每次炮弹的落点坐标都有记录,问你几炮过后,靶场还剩下几面旗子呢?【输入】有若干行,第一行为两个整数m,n,以空格分隔,都是整数,且1<=m<=n<=100; 接下来有若干行,每行有两个整数x,y,代表炮弹落点的坐标(行、列坐标,编号从0开...原创 2019-03-30 23:34:27 · 1069 阅读 · 0 评论 -
数据结构:线性表练习题(1)
最近好忙,好长时间都没更新博客,唉,罪过罪过。这次博客做一个练习题,是我们学校的C++练习题,题目如下:问题描述:1)实现链表的排序(升序)2)实现两个有序链表的合并:A=A∪B,要求合并后仍然有序。提交前请将所有的提示信息去掉,只保留最后的输出结果。例如运行时:从键盘直接输入:2 1 23 1 2 3输出结果为:123 分别表示第一个链...原创 2019-05-04 20:59:26 · 765 阅读 · 1 评论 -
数据结构:线性表练习题(2)
一道线性表练习题,有点麻烦,题目描述如下:实验内容:实现一元多项式的加法、减法、乘法和求导。即:C(x)= A(x)+B(x);C(x)= A(x)-B(x) C(x)= A(x)*B(x) C(x)= A’(x)菜单:1)C :分别创建两个多项式A(x)和B(x),其中 输入时按照 指数的升序顺序输入,遇到系数为0则停止。例如:输入 :1 2 3 4 5 6 7 82 3...原创 2019-05-04 21:15:47 · 996 阅读 · 0 评论 -
数据结构:特殊矩阵的处理
一道简单的数据结构题目。题目描述如下:特殊矩阵在采用二维数组存储时,尽管矩阵操作的算法都很简单,但是其空间的利用率很低。 系数矩阵就是一种应用很广泛的特殊的矩阵。现要求稀疏矩阵采用“压缩”存储,实现矩阵的常用操作,如输出、转置、求和等。矩阵的输入:有多行,第1行包括三个整数,分别是矩阵的大小m,n及非零元素的个数r。 后面r行分别输入各个非零元...原创 2019-05-05 15:44:01 · 1203 阅读 · 4 评论 -
Python:用type创建类
Python不仅可以自己写类,还可以用内置的type函数创建类,但是这样是很不好的,因为大家都知道,type函数通常是用来获取一个变量的类型的,对于一门编程语言来说,一个函数,最好让他只有一个作用,获取类型就是获取类型,创建类就是创建类,不过Python为了和其他版本兼容,写了这个功能,下面给出用Python内置type函数创建类的代码。#用普通的方法创建一个类class T...原创 2019-05-21 00:44:59 · 934 阅读 · 0 评论 -
Python pdb调试
Python的调试方法有三种,一种是执行时调试,一种是交互调试,一种是程序里埋点调试,其中,最常用的是执行时调试,也就是pdb调试,这个调试在命令行中键入python -m pdb some.py即可进入Python pdb调试,(这行命令在Linux系统下进入的是Python2的调试,如果要进入Python3的调试需要在python的后面加一个3,即python3 -m pdb s...原创 2019-05-24 17:44:28 · 768 阅读 · 0 评论 -
LeetCode算法题:字符串转换整数(atoi)
题目描述如下:请你来实现一个atoi函数,使其能将字符串转换成整数。首先,该函数会根据需要丢弃无用的开头空格字符,直到寻找到第一个非空格的字符为止。当我们寻找到的第一个非空字符为正或者负号时,则将该符号与之后面尽可能多的连续数字组合起来,作为该整数的正负号;假如第一个非空字符是数字,则直接将其与之后连续的数字字符组合起来,形成整数。该字符串除了有效的整数部分之后也可能会存在多余...原创 2019-05-27 21:26:57 · 249 阅读 · 1 评论 -
python浅拷贝与深拷贝
最近看了一些Python的教学视频,其中看到一个关于Python拷贝(浅拷贝与深拷贝)的知识点,老师说这是重点,所以在这里分享一下我对浅拷贝与深拷贝的理解。 Python的拷贝方式分为两种,一种是浅拷贝,另一种是深拷贝,所谓浅拷贝,通俗点说就是把一个变量的值赋给另一个变量,Python对变量赋值的处理方式和C、C++不同,对于某个赋值语句如a=100,C、C++是开辟...原创 2019-05-23 21:08:29 · 524 阅读 · 0 评论 -
python实现MySQL的增删查改
表结构:利用python操作数据库需要导入pymysql数据库,如果没有这个库可以利用cmd进行安装,打开cmd然后输入:pip install pymysql即可成功安装。python实现数据库的增删查改:# -*- coding: utf-8 -*-"""Spyder EditorThis is a temporary script file."""#导...原创 2019-01-19 10:03:39 · 486 阅读 · 0 评论