- 博客(25)
- 收藏
- 关注
原创 任意进制之间的转换 C语言
目录进制转换通常来说,常见的进制转换都是二进制,八进制,十进制,十六进制之间进行转换。不同的进制之间各有各的转换方法。但是,当我们写代码来实现进制转换功能时,如果每两个进制之间都写一个函数就太麻烦了。所以,为了方便,我们在进制转换过程中,不过是几进制转换几进制,统统把原数据转换为十进制,然后再转换为目标进制。这样我们就可以通过两个函数就可以实现进制转换功能。对于任意进制数转换为十进制数,只需要按权展开相加即可。对于10进制转任意进制,只需要除以任意进制的基数,然后将每一步的余数倒叙输出即可。具体的
2020-07-30 18:33:26
1443
原创 链栈的实现 C语言
目录链栈结构在链栈的结构体中,我们设置一个存储数据的位置和一个指向下一个结构体的指针。然后我们把这个结构体名字设置为stacknode和一个指向这个结构体的指针。StackNode *S和ListStack S的效果是一样的。只不过新创一个链的时候用前面那个,ListStack S特殊的用来指向链栈头结点。typedef struct StackNode{ ElemType data; struct StackNode *next;}StackNode,*ListStack;创建
2020-07-30 18:31:54
835
1
原创 顺序栈的实现 C语言
目录顺序栈的定义SElemYType代表着任意的数据类型,比如int,char,float之类的。我们可以根据具体情况代换,这里我是用typedef语句将SElemType表示为int。typedef int SElemType;。在SqStack结构体中,我们定义了两个指针top和base分别指向栈顶和栈底,定义了一个int变量来存储栈的最大容量。typedef struct { SElemType *base; SElemType *top; int stacksize
2020-07-30 18:30:04
590
原创 数据结构 个人博客目录
前言因为要考研,所以在复习数据结构这本书的同时,写下这些东西,一方面是总结总结知识,顺便分享一下自己的理解。本人菜鸡一个,可能有些东西会说错,望见谅,指正一下,也算帮我复习。就是这本书。注意点这本书说的是C语言版,但是还是多多少少用到了一些c++的东西。有啥地方没看懂,可以查查是不是c++的东西。最好看这本书之前稍微了解一点c++。一点点就够用了。由于这本书给的代码都是关键部分的伪代码,所以我就自己实现了一下完整代码,大家可以对照看一下。章节目录第一章时间复杂度和空间复杂度第二章顺序表实
2020-07-30 18:27:32
205
原创 顺序表实现稀疏多项式 完整代码
顺序表实现稀疏多项式原文链接由于书上给的代码都是只有核心的代码,没法直接实现,所以我就尝试将书上提到的函数都用c语言实现了一下。仅供参考,用来对照一下书中的代码,加深理解。如果有错误的话,希望大家指出来。注意点书中说是给的C语言的伪代码,但是给的代码还是用到了一些c++的东西,比如说status InitList(SqList &L),这个地方就是用到了c++的引用。具体c语言的指针和c++的引用的区别,这里就不过多赘述,想要了解可以查其他资料。书中所有提到的函数基本上我都实现了,亲测可以
2020-07-16 20:52:29
1844
原创 图书信息管理系统 数据结构 C语言版
图书信息管理系统原文链接本代码是为了实现数据结构书上的案例2.3。由于书中对于代码功能的描述太过简单,很难理解他到底具体的要求是什么,所以我只能根据自己的理解来实现查找,插入,删除,修改,排序和计数功能。为了方便查看我们的代码功能是否成功实现,我创建了一个可以输出整个单链表存储的图书信息的函数TraverseList(LinkList L);。结构体结构对于图书的基本信息的存储,我们采用结构体来实现。由于书中只说了图书的基本信息包括ISBN,书名,定价,所以我们只需要存储这三条信息就行。我们的整个管
2020-07-13 21:29:21
15258
6
原创 单链表实现稀疏多项式 完整代码
原文链接单链表单链表是由一个个结点构成的,上一个结点指向下一个结点的位置。与顺序表不同,单链表的结点除了存储数据元素外,还有一个指针域,用来指示下一个节点的位置。根据这一特性,虽然单链表多储存了一个指针域,存储密度没有顺序表大,但是更加灵活,多少个数据就创建多少个结点。根据链表结点所含指针的个数,指针指向和指针连接方式,可将链表分成单链表,循环链表,双向链表,二叉链表,十字链表,邻接表,邻接多重表。其中,这里只简单介绍单链表。LNode 和 LinkList对于LNode和LinkList,可能大
2020-06-21 20:38:49
737
原创 计算机方面电子书
计算机方面的电子书c语言c primer plusC语言经典编程282例pythonDjango企业开发实战高效pythonpython3网络爬虫开发实战流畅的pythonpython cookbookpython编程:从入门到实践python算法教程phpPHP经典实例(第3版)PHP从入门到精通(第3版)Modern PHP 中文版前端html5权威指南JavaScript权威指南(第6版)(中文版)LinuxLinux入门教程:Linux入门命令篇Linux入
2020-06-09 21:46:51
423
原创 C语言 数据结构 结构体 LinkList
C语言结构体结构体的定义结构体是c编程中一种用户可自定义的数据类型,它允许你存储不同的数据类型的数据项。为了定义结构,必须使用struct语句。struct语句定义了一个包含多个成员的新的数据类型。struct tag{ Elemtype name1; Elemtype name2;}variable-name;其中tag为结构体标签,Elemtype代表数据类型,比如说int,float,char等,name是变量名,variable-name代表这个结构体的变量名称。定义
2020-06-07 21:56:01
4836
原创 第一章 时间复杂度和空间复杂度
时间复杂度和空间复杂度第一章并没有什么很难的内容,大部分都是一些比较晦涩的定义,多看看背背就行。唯一的重点就是算法的时间复杂度和空间复杂度这里。对于比较算法的效率来说,最重要的两个指标就是时间复杂度和空间复杂度。其中用到时间复杂度的情况更多一点。衡量算法效率主要有两种方法:事前估计法和事后统计法。一般来说,由于事后统计法缺陷太大,所以很少使用。在这里我们只考虑事前估计法。时间复杂度算法的...
2020-05-07 16:19:53
364
原创 DCG的简单介绍
DCG,即衡量搜索引擎质量指标(Discounted Cumulative Gain),它是一个衡量搜索引擎算法的指标。搜素引擎一般采用PI(per item)的方式进行评测,简单地说就是逐条对搜索结果进行分等级的打分。假设我们现在在Google上搜索一个词,然后得到5个结果。我们对这些结果进行3个等级的区分:Good(好)、Fair(一般)、Bad(差),然后赋予他们分值分别为3、2、1,假定...
2019-09-16 16:50:39
10422
1
原创 pandas的基本使用
下载下载pandas在命令行中输入conda install pandas,如果想要查看自己下载的版本,在jupyter notebook中输入!conda list pandas,在命令行中输入conda list pandas,就可以返回版本号。pandas seriesPandas series是一个带标签的一维数组,或者说像是一个字典。与NumPy不同,pandas可以有不同类型的数...
2019-08-27 20:00:00
2537
原创 Numpy的基本使用
下载numpuy和其他python库一样,可以在命令行中输入下面命令下载。conda install numpy你可以输入下面的命令检查自己下载的numpy的版本。conda list numpy #在命令行中 !conda list numpy #在jupyter notebook中对于numpy,其核心就是ndarray。ndarray就是n维数组(矩阵),其中的数据必须是相同类型。...
2019-08-27 19:56:24
286
原创 kaggle电话验证一直显示您没有输入正确的验证码响应。请再试一次的问题。
首先,电话填写格式为 “+860 你的电话号”,记得有个空格。然后,为什么一直显示您没有输入正确的验证码响应。请再试一次。那是因为Google被墙了,没有办法加载出来一个人机验证码,翻墙,一切就解决了。...
2019-08-25 16:31:18
4097
原创 Jupyter Notebook的基本使用方法
下载Jupyter NotebookJupyter Notebook最简单的下载方法就是使用Anaconda。conda install jupyter notebook使用这条命令就可以下载jupyter notebook。当然也可以使用pip下载。启动jupyter notebook服务器如果想要打开jupyter notebook。可以输入下面的命令。jupyter notebo...
2019-07-11 16:42:46
828
原创 Anaconda安装教程及其基本使用
安装anaconda使用anaconda可以很方便的管理python的软件包和环境。既然大家都已经在搜素怎么使用了,也不用我多介绍。官方下载地址选择合适的版本下载,下载的网速很慢,没办法,只能慢慢等。下载以后双击,然后就是正常的安装步骤。下一步,我同意。然后建议选择Just Me,如果你的电脑有多个用户的话,就选第二个好了。选择安装的目标文件夹,如果没什么特殊的原因的话,建议不要乱换...
2019-06-28 16:12:03
1942
原创 基本的shell命令简述
下载git由于window和Linux与Unix的命令不太一样,所以为了更加方便,建议下载git。下载以后,可以通过右键打开git bash,这样就打开了一个终端窗口。each首先,单词前面的$符号表明这是一个shell变量。each的作用就是将输入的值标准输出。比如说echo $COLUMNS*$LINES将会打印出终端窗口的大小。列出文件使用ls命令会显示所有当前文件夹下面的文件...
2019-06-27 12:15:07
283
原创 使用hexo+next搭建个人博客(二)进阶设置
1.使用Mist风格把侧栏放在左边具体参考这个大佬写的博客。2.博客文章阅读量设置官方给的文档另一个大佬写的博客3.搜索服务具体参考官方文档建议使用Local Search,更省事。4.侧边栏实现QQ临时会话增加这行代码在侧边栏设置那里。QQ: http://wpa.qq.com/msgrd?v=3&uin=你的QQ号&site=qq&menu=yes...
2019-06-27 12:13:53
323
原创 使用hexo + next搭建个人博客 (一)
使用hexo + next搭建个人博客 (一)1. 下载hexo博客框架1.安装node和gitHexo 是一个快速、简洁且高效的博客框架。Hexo 使用 Markdown(或其他渲染引擎)解析文章,在几秒内,即可利用靓丽的主题生成静态网页。这是官方的介绍。具体点这里参考hexo官方文档使用hexo之前,默认你已经安装了Git和Node.js.如果没有安装的话点击下面自己安装。1.N...
2019-06-11 22:09:56
375
1
原创 DVWA 第二章 输入漏洞 Command Ijection
首先只有一个框界面,让输入一个ip地址。输入后发现出现的界面和命令行直接ping ip 地址相似。所以可以判断这个地方存在命令注入漏洞。输入127.0.0.1 && net user出现调到medium等级。发现当继续输入127.0.0.1 && net user时出现这个情况。所以可以尝试用&一个这个符号。查看源代码...
2018-12-19 17:32:01
176
原创 南京邮电大学网络攻防训练平台 web题 1——10 详解
本人萌新,有错误的话可以指出。1、签到题key在哪里?点击右键,查看网页源代码。会发现key就在代码中。2、md5 collision这一题考的是md5碰撞和PHP的一些基本知识。首先PHP是一门弱类型语言。PHP 会根据变量的值,自动把变量转换为正确的数据类型。MD5加密的一个网站<?php$md51 = md5('QNKCDZO'); /...
2018-11-25 14:21:17
1085
原创 sort函数与结构体
对于排序来说,c++的sort函数用着还是相当方便的,比什么冒泡排序,快速排序简单方便了很多。sort函数的头文件是#include<algorithm>sort函数默认的排序方式是升序排序,即从小到大。 sort函数的使用简单来说就是sort(begin,end,cmp);对于cmp函数一会再说,begin就是开始排序的数字,end就是排序最后那个数;如:...
2018-08-23 11:11:52
4329
原创 快速幂问题求解
快速幂问题在一开始的ACM题还是很常见的。其中有一个很重要的数学公式:(a*b)%c=(a%c*b%c)%c。从这个公式中也可以推出(a*a)%c=(a%c*a%c)%c;所以,对于求解A^B Mod C这样的问题,可以用这个公式来解决。最重要的容易错的一点就是记得要用long long型,防止溢出。对于求解A^B Mod C;long long t=1;while(b){...
2018-08-02 22:48:59
295
原创 素数问题
素数又称为质数即除了1和本身,不能够被其他数整除.1不是素数。判断一个数n是否为素数,只需要判断n是否能够被2和 之间的数整除。当然,这个过程可以进一步优化步骤,比如说判断到 就行了是一个优化。当然可以先判断这个数是不是大于2的偶数,如果是的话就可以直接输出不是质数了。对于为什么可以运算到 即可判断这个数是不是偶数,原因可能有点麻烦。设d> ,并且n%d=0;那么n/d<...
2018-07-23 22:10:48
538
原创 求最大公约数和最小公倍数的算法
在刷题的过程中,经常会遇到很多关于最小公倍数和最大公约数的问题。以下是用C语言写的求最大公约数和最小公倍数的算法。最大公约数。求最大公约数有三种算法。1、辗转相除法。 辗转相除法又称为欧几里德算法。这个方法大家已经都已经在数学上学过了。具体的步骤就是:用较小数除较大数,再用出现的余数(第一余数)去除除数,再用出现的余数(第二余数)去除第一余数,如此反复,直到最后余数是...
2018-07-23 15:33:48
77583
11
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人