自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 树5.5——赫夫曼树(链式)

找了一圈发现网上大部分赫夫曼树都是顺序存储,记录一下使用指针的赫夫曼树。#include<stdio.h>#include<stdlib.h>#include<string.h>#define MAXSIZE 1000 typedef struct huffNode{ char data; int weight; struct huffNode *lch,*rch,*parent;}huffNode,*huffTree;typedef struct

2021-08-13 18:14:42 81

原创 数据库1——概述

一、基本概念数据库:长期存储在计算机内,有组织的、可共享的大量数据的集合。数据库中的数据按一定的数据模型组织、描述和储存,具有较小的冗余度、较高的数据独立性和易扩展性,并可为各种用户共享数据库管理系统DBMS:位于用户和操作系统之间的一层数据管理软件数据库系统:由数据库、数据库管理系统(及其应用开发工具)、应用程序和数据库管理员组成的存储、管理、处理和维护数据的系统说实话,有点佶屈聱牙,但是考试要考,没办法。二、数据库的历史60年代末之前没有商用数据库管理系统,一般用的是文件系统,就像我们

2021-03-28 10:31:36 135 1

原创 分数化小数

题目:输入正整数a,b,c,输出a/b,保留c位小数思路:按竖式除法的方式来#include<iostream>#include<stdio.h>#include<stdlib.h>#include<math.h>using namespace std;int main(){ int a,b,digit,c; cin>>a>>b>>digit; c=a/b; cout<<c<&l

2021-01-23 09:03:06 159

原创 猴子分桃

题目:五只猴子分桃。半夜,第一只猴子先起来,它把桃分成了个数相等的五堆,多出一只;于是,它吃掉了一个,拿走了一堆。第二只猴子起来一看,只有四堆桃,于是把四堆合在一起,分成相等的五堆,又多出一个;然后,它也吃掉了一个,拿走了一堆。剩下的三只猴子也都是这样分的。问:这堆桃至少有多少个?思路:递归+暴力#include<iostream>#include<stdio.h>#include<stdlib.h>#include<math.h>using

2021-01-22 12:58:43 89 1

原创 最次方数

题目:输入x,a,求x的a次方最后三位思路:前面都去掉,只是最后三位反复乘,结果和真正乘起来一样#include<iostream>#include<stdio.h>#include<stdlib.h>#include<math.h>using namespace std;int main(){ int x,a,temp; cin>>x>>a; temp=x; for(int i=0;i<a-1;i++

2021-01-22 12:56:24 210

原创 是该年的第几天

题目:给出年月日(格式:yyyy-mm-dd),计算是该年的第几天#include<iostream>#include<stdio.h>#include<stdlib.h>using namespace std;int main(){ int y,m,d,a=0; bool run=false; int days[12]={31,28,31,30,31,30,31,31,30,31,30,31}; scanf("%d-%d-%d",&y,&

2021-01-22 12:53:29 66

原创 找幸运数

#include<iostream>#include<stdio.h>#include<stdlib.h>using namespace std;int getDigit(int number);int main(){ int num,digit; bool sign = true; cin>>num; digit = getDigit(num); int each[digit]; for(int i = 0;i <.

2021-01-22 11:48:57 163

原创 Python——文件、异常

一、文件1.读取文件①一般读取with open('xxx.txt') as file_object: contents = file_object.read() print(contents)解释:with:在不再需要访问这个文件后关闭open:打开文件‘xxx.txt’:open括号内的字符串可以是相对路径,也可以是绝对路径,'xxx.txt’这个格式是相对路径②逐行读取with open('xxx.txt') as file_object: for line in file_

2021-01-20 17:57:31 46

原创 Python——类

一、创建、使用1.创建class Computer(): #构造方法 def __init__(self,Price,CPU,GPU,RAM): self.Price = Price self.CPU = CPU self.GPU = GPU self.RAM = RAM self.Disk = "1T" #普通函数 def Work(self): print("I'm working.") def Game(self): print("I'm playing

2021-01-20 16:27:00 44

原创 Python——函数

一、使用def getBook(bookOrder): if(bookOrder == 1): bookOrder = 2 return "高等数学" else: return "线性代数" bookOrder = 1print(getBook(bookOrder))print(getBook(bookOrder))注意:①def和缩进确定函数范围②传入形参不需要声明数据类型③和C中同样,在函数中修改传进去的数值,不会影

2021-01-20 15:06:03 48

原创 Python——循环与条件

一、循环1.list_1 = ['q','a','e','r']for skill in list_1: print("Please "+skill+"\n") print("Great")print("You have done all")注意:①按这种格式来写,在遍历list_1中每一个元素时,将每个元素都赋值给skill,然后进入这一轮循环(Java中有一种差不多的遍历方式)②冒号别忘了③注意缩进,Python靠缩进区分代码块,就比如上面,前两个有缩进的代码是在for范围内的,而

2021-01-20 12:15:15 142 5

原创 Python——列表和字典

一、列表1.元素myList = ["C","Java","Python","PHP"]#初始化列表print(myList)#打印整个列表,不过形式可能不是想要的print(myList[2])#访问打印列表元素myList[3] = "JavaScript"#修改列表元素#增myList.append("PHP")#在列表尾部添加元素myList.insert(0,"Lisp")#在第0个位置插入元素,其余元素右移一格#删del myList[0]#删除第0个位置的元素,其余左

2021-01-20 11:02:17 87

原创 Python——基础语法

(本文需要C语言基础)零、Hello,world!Python中想输出字符串到控制台极为简单,不需要头文件,不需要int main,每行结尾分号可有可无print("Hello,world!")相对来说,C要写整个程序框架,确实有点多#include <stdio.h>int main(){ printf("Hello,world"); return 0;}一、输入输出这里简单介绍一下怎么输入输出到控制台1.输出就如上面写的,用print即可,输出括号内的内容

2021-01-19 19:27:36 90

原创 Java8——设计模式

(上课讲的几个设计模式,期末考试复习用。。。)零、基本原则找出可能需要变化之处,把它们独立出来,不要和那些不需要变化的代码混在一起。针对接口编程,针对超类型(泛型)编程多用组合,少用继承类应该对修改关闭,对扩展开放,允许系统在不修改代码的情况下,进行功能扩展一、单例模式背景:很多时候都需要保证一个类仅有一个实例例如:操作系统只需要一个时钟实现:public class Singleton{ private Singleton(){ ... } public static

2020-12-06 23:08:14 107

原创 Java7——JavaIO

0.1输入/输出流:可以从中读入/写入字节序列的对象(想象你是一个水坝,河水流经你,你全部解析接收。把河水换成数据,河水的源头换成文件或网络,就可以直观地想象输入/输出流了)0.2为什么要强调字节呢?字节是8位ASCII码,无法表示汉字。因此每个面向字节的操作都有对应的面向字符(两个字节的Unicode)形式的操作0.3 I/O操作的基础是两个抽象类InputStream和OutputStream0.4 只有三种读写:文件、控制台、串一、读写字节InputStream和OutputStream

2020-11-03 20:55:58 61

原创 Java6——抽象类和接口

壹、抽象类有些时候,父类是不存在于这个世界上的。就比如你找不到单纯是水果而不是水果,香蕉…这种东西,或者白马非马,世界上存在白马,但不存在是“马”而不是“白马”“黑马”…的马。不存在这种概括性的概念。因此,抽象类应运而生。在日常需要中,不需要用到 吃水果,骑马 这些函数(而是 吃苹果,骑白马 这些更具体的内容)如果此时还在水果,马两个父类里写这些函数,那就浪费时间空间了,此乃其一不同的子类可能有同名但作用略有不同的方法,继承抽象父类的方法,就可以分别写了。一、抽象方法加abstract关键字

2020-11-02 23:03:29 54

原创 Java5——泛型和关联关系

壹、泛型意思:声明变量的时候,暂时不声明它们是什么类型的变量,实际用到的时候根据情况确定一、泛型类使用步骤①写出一个实际的类②把可能改变类型的属性前面的类型换成自己指定的“虚拟类型名”③在类名后面加<类型参数>,可以有多个,用逗号分隔*除了静态方法,其他普通的都可以把这些类型作为自己的类型){④实际使用:通过为类型参数代入实际的类型名来创建泛型类class Pair<A,B>{ private A element1; private B element2;

2020-11-02 22:05:32 118

原创 Java4——多态

壹、变量的多态性指父类对象可以指向父类,也可以指向子类。贰、方法的多态性指通过父类对象调用方法时,要根据父类指向的具体变量,调用具体的方法体。

2020-11-02 18:55:26 40

原创 Java3——继承

壹、继承关系的实现一、基本语法如何构建一个子类/**author me*version 1.0.0*/public class Person{ private String name; private String address; /** *构造函数 *@param setName 设置名字 *@param setAddress 设置地址 */ public Person(String setName,String setAddress){ name=setName

2020-11-02 18:40:26 357

原创 Java2——封装

壹、类与对象一、类的定义类包括类声明和类体,类体包括属性和方法public class ThisIsClass{//类声明 //类体}属性的定义:访问权限 数据类型 属性名字byte 8位,short 16位,int 32位,long 64位float 8位,double 64位char 16位boolean 1位//举个例子public class Point2D{ private float x; private float y;}public class T

2020-11-01 22:28:51 224

原创 Java1——面向对象

壹、面向对象基础一、面向对象1.一个对象包括属性(或叫数据/状态)、方法(或叫操作/行为/服务)2.类是对象的模板,对象是类的实例。定义了一个类,里面未必有数据,且不占内存;但是定义了一个对象,里面就要赋值。想象写了一个结构体,在主函数中声明。3.定义:对象:一个拥有属性、行为和标示符的实体。面向对象的基本单位类:一组对象的描述,这组对象有相同的属性和方法。面向对象最基本的程序单元3.消息机制:一个对象 调用 另一个对象的方法 叫做对象发消息。本质上就是一个对象与其他对象互操作二、性质1

2020-10-30 11:45:14 97 1

原创 图1——图的五种存储结构及其初始化

零、说明本文中,V代表Vertex,即顶点,E代表Edge,即边。什么Vnum,Enum,firstE都按照这个来理解。原理我是按《大话数据结构》来的,我也解释不好这个原理,就不献丑了存储方式还远不止这些,有个好像叫前向星,我现在还不会(流下了菜鸡的眼泪)一、邻接矩阵数据类型typedef struct { char Vertex[MAXSIZE]; int Edge[MAXSIZE][MAXSIZE]; int Vnum,Enum;}MGraph;//叫MGraph是因为矩阵

2020-09-08 11:38:29 1137

原创 Python——urllib爬虫库

零、补充爬虫英文名:crawlerformat函数补充:format函数用于格式方面,替换字符串中的某个元素例一:翻页网址生成,可以知道某一页内容,就比如贴吧网页版一般是要翻页的,这样的话,它的网址中就相应的有变化for num in range(0,251,50) url = 'https://tieba.baidu.com/f?kw=%E5%AE%AB%E6%BC%AB&ie=utf-8&pn={}'.format(num) print(url)上面三行代码可以打印

2020-09-01 19:15:39 107

原创 Python——分支循环函数

一、分支单项分支:一个ifNum = 1if Num == 1: print('单项分支')注意点有三个:①if后面可以用括号也可以不用②if这一行结束时要用冒号③下面if内的行开头都要缩进,哪一行不缩进,if就在它前一行结束。缩进标志着哪些行在if内双项分支一个if一个else注意,分支和循环语句的行尾都要冒号,因为不像C有大括号来标志范围多项分支:相当于C中else if的是其减缩elif可以 有elif而无elseif score == 750: prin

2020-09-01 17:17:17 518

原创 去除CSDN文章的水印

在编辑模式中,将图片下面那一大串网址中的?及?后面的东西删掉例如可以看到右下角有水印在编辑模式中是这样的。删除划红线的部分即可

2020-08-21 15:43:56 163

原创 树5——赫夫曼树

零、说明这个程序包括①通过输入建立赫夫曼树(哈夫曼树)②输入一串字符串,能得到其赫夫曼编码,输入一串赫夫曼编码,也能得到其原始字符串,有能实现这两个功能的两个函数思路是下面这个博主的,在此表示感谢:NOJ-哈夫曼编/译码器原题目:不过为了以后复习时看得懂,我修改了输入方式:并且由于中间步骤不同,最后输出的编码序列也不同,是由于同编码的赫夫曼树不止有一棵,如果两个节点权值相同,两个的左右位置可以交换一、数据类型上学期写这个实验的时候我用的是指针*lch,*rch,非常费

2020-08-21 15:23:46 319

原创 树4——二叉树的线索化

零、说明线索化有点复杂,仔细看,画图线索化意义在于充分利用空置指针,以提高遍历的效率完成后,遍历二叉树相当于遍历一个双向循环链表(以下说的是是中序遍历)①头节点左指针 指向 树的根节点,右指针 指向 遍历的最后一个节点。②树中,遍历的第一个节点的左指针 指向 头节点,③原来的左空指针指向上一个遍历到的节点,右空指针指向下一个遍历到的节点④最后一个遍历到的节点的右指针指向头节点头节点->根节点->…中序遍历到的第一个节点->…遍历的最后一个节点 ↑-----------

2020-08-19 17:51:18 148

原创 树3——二叉树(链式)

零、说明

2020-08-18 23:06:20 52

原创 树2——二叉树(顺序)

零、说明顺序存储结构最好用于完全二叉树(普通树也可以,把空节点数据设为^即可),链式存储结构任何二叉树都可以性质:①第i层最多有2i-1个节点,前i层最多有2i-1个节点②零度顶点=二度顶点+1③n个顶点的完全二叉树深度为[log2n]+1④对一棵完全二叉树编号为i的节点,(i)若i=1,则无双亲,否则双亲是[i/2](ii)i<=(n-1)/2    有左有右(n-1)/2<i<=n/2  有左无右i>n/2      无左无右一、数据类型顺

2020-08-18 21:08:57 129

原创 树1——树的几种存储结构

零、说明只包括初始化代码,其他功能有待后续再写不知道正不正确,不过没有error和warning一、双亲表示法(Parent)每个树的节点存储它的双亲节点的下标,这样就能一层一层上溯。下列是Pro版,还加上了firstchild和rigntsibling,可以更轻易地得到某个想要的节点。不过原始的双亲表示法可以只有int parent纯用顺序结构,叠了两层结构体typedef struct { int data; int parent,firstchild,rightsibli

2020-08-16 10:17:20 273

原创 字符串1——常用函数

零、说明字符串就是用数组存储一连串用字符表示的信息操作和其他数据结构不同,字符串的每个单位不是其他数据结构的节点,而是字符数组的每位,所以算法理解起来有一点难度。有些函数看起来还挺长的,不过慢慢理解之后会发现其实不难由于并非必须,下列函数没有检测输入数据是否正确符合规范没有越界,需要输入自行确定一、数据类型typedef char String[MAXSIZE+1];使用《大话数据结构》中的做法,String的第0位存储字符串长度,第1到第MAXSIZE位存储数据String[MAXS

2020-08-14 21:34:42 138

原创 栈和队列5——链队列

零、说明在链队列中,head指向头节点,但是实际的head是head指向的节点,即第一个有元素的节点tail在循环队列中指向空位置,但是在链队列中,tail指向最后一个节点一、数据类型和链栈一样采取两个结构体的形式typedef struct Queuenode{ int data; struct Queuenode *next;}Qqueuenode,*Queueptr;typedef struct Linkqueue{ Queueptr head,tail; int nu

2020-08-06 17:36:42 66

原创 栈和队列4——循环队列

零、说明队列就是一种只能尾进头出的线性表,想象在排队注意:由于队头指向元素,队尾指向队列最后一个元素后面的空位置空间,所以一个大小为n格的顺序队列,其真实可以存储的大小为n-1而不能存n个数据一、数据类型typedef struct Linequeue{ int data[MAXSIZE]; int head,tail;}Linequeue;二、初始化void Initial(Linequeue *Q){ Q->head=0; Q->tail=0; }三、入

2020-08-06 10:49:06 128

原创 栈和队列2——两栈共用空间

零、说明两栈共用空间是为了解决顺序栈未满时只能利用部分空间的现象,让两个栈分别以数组头部和尾部作为栈底,向中间延伸,直到在中间相遇,即相当于两个栈都满了事实上和顺序栈没什么两样,不过是要新增一个函数参数用于识别在哪个栈进行操作和顺序栈一样,为了在函数中修改结构体内容,函数参数为结构体指针一、数据类型typedef struct Doublestack{ int data[MAXSIZE]; int top1,top2;}Doublestack;二、初始化void Initial(

2020-08-06 09:57:52 174

原创 栈和队列3——链栈

零、说明与顺序栈相比优点在于空间不受限注意:栈的每一层指向它的下面的一层一、数据类型由于第一个结构体只是栈的每一层,没法加入top,所以采用两个结构体,下面包含上面typedef struct Stacknode{ int data; struct Stacknode *next;}Stacknode,*Stackptr;typedef struct Linkstack{ Stackptr top;//指向栈顶 int num;//栈中元素的数量 }Linkstack;

2020-08-05 21:22:31 60

原创 栈和队列1——顺序栈

零、说明栈是一种特殊的线性表:相当于一个桶,先进去的东西在下面,后出来注意,顺序栈使用结构体,结构体做函数参数时函数不能修改结构体内容,所以用指针一、数据类型typedef struct Linestack{ int stack[MAXSIZE]; int top;}Linestack;二、初始化top指向栈顶元素,现在栈中没元素,指向0也不行,所以指向-1void Initial(Linestack *S){ S->top=-1;}三、入栈出栈入栈voi

2020-08-05 20:20:33 99

原创 线性表3——静态链表

零、说明产生原因:某些早期语言没有指针,同时想使用链表的功能

2020-08-04 23:48:54 179

原创 线性表2——双向循环链表

一、数据类型typedef struct Node{ int data; struct Node *prev,*next;}Node,*llist;

2020-07-23 16:56:37 53

原创 线性表1——顺序表

...

2020-07-18 18:29:51 58

转载 Devc++调试时出现缺失zlib1.dll的提示

1.下载zlib1.dll:http://www.pc6.com/softview/SoftView_81060.html2.解压后放到系统目录中32位系统:放到C:\Windows\System32(此处为系统目录)64位系统:放到C:\Windows\SysWOW64然后再次点击“调试”即可。...

2020-04-13 17:44:12 1271

空空如也

空空如也

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

TA关注的人

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