自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

转载 数据库---主键、外键、超键、候选键

1.主键关系模式中用户正在使用的候选键称为主键(primary key)。一般,如不加说明,键是指主键。主键的取值不能缺失,也不能为空值(null)。2.外键在关系模式中,如果某属性值是其他模式的候选键,那么该属性集对模式R来说是外键。3.超键在关系模式中,能唯一标识元组的属性集称为超键。4.候选键如果一个属性集能唯一标识元组,且由不包含多余属性,那么这个属性集称为候选键。候选键是没有多余属性的超键。举例假设有如下两个表:学生(学号,姓名,性别,身份证号,教师编号)教师(教师编号

2021-07-07 17:16:51 6334

原创 MYSQL数据库(七)

TCL语言(事务控制语言)1.基本概念事务:一个或一组sql语句组成的一个逻辑执行单元,这个单元要么全执行,要么全不执行。存储引擎:INNODB2.事务的四大属性(ACID)1.原子性automicity事务是一个原子操作单元,其对数据的修改,要么全执行,要么全不执行。2.一致性consistent在事务开始和完成时,数据都必须保持一致状态这意味着所有相关的数据规则都必须应用于事务的修改,以保持数据的完整性,事务结束时,所有的内部数据结构也必须是正确的。3.隔离性isolation

2021-06-30 09:53:46 122

原创 MYSQL数据库(六)

DDL语言(数据定义语言)进行库和表的管理库的管理:创建、修改、删除表的管理:创建、修改、删除1.库的管理1.库的创建语法:create database 库名;例如:create database books;语法2:create database if not exists 库名;2.库的修改不安全,一般不修改3.库的删除语法:drop database if exists 库名;2.表的管理1.创建表语法:create table 表名(列名 列的类型 列的约束,列名 列

2021-06-29 17:49:57 123

原创 MYSQL数据库(五)

1.插入语法:insert into 表名 (列名…) values(值1,…);插入值得类型与列的类型一致例如:insert into beauty (id,name,phone)values(15,‘abc’,123456);语法: insert into 表名 set 列名=值1,…;2.修改1.修改单表记录updata 表名 set 列=新值,列2=新值…where 筛选条件;例如:updata beauty set phone = ‘12345’where name lik

2021-06-29 16:59:35 80

原创 MYSQL数据库(四)

1.子查询出现在语句中的select子句分类:select后面;from后面 ;where或having后面;相关子查询exists后面,查询是否存在标量:一行一列列子查询:一列多行行子查询:一行多列表子查询:多行多列where/having+标量子查询/列子查询特点:1.子查询放在小括号内2.子查询一般放在条件右侧3.标量子查询,一般搭配当行操作符(>< >= <= <>)4.列子查询,in any 使用例如:select * from empl

2021-06-29 15:51:03 55

原创 数据库MYSQL(三)

常用函数1.单行函数1.字符函数1.length(); #获取长度(即字节个数)2.concat(参数1,参数2,参数2…); #拼接3.upper();# 参数字符char 小写变大写4.lower(); #参数字符char 大写变小写5.substr(字符串,截取长度); 或者 substring(); #截取字符串6.instr(字符串,子串);#返回子串在字符串中的索引7.trim(字符串);#去掉字符串前后的空格8.lpad(str1,长度,str2); #左填充,用str2填

2021-06-29 15:26:58 51

原创 数据库MYSQL(二)

SQL语言(data query language)基础查询1.语法:select 查询列表 from 表名;注:查询列表可以是表中字段、常量值、表达式、函数等。如果查看表中所有字段可使用通配符*例如:select last_name, salary from employees;select * from employees;2.为某个字段起别名作用:起别名方便理解,结果可读性强,区分重名的情况关键字:AS 也可省略。例如:select 100%98 as result;select

2021-06-29 11:07:33 65

原创 数据库MYSQL(一)

文章目录基本概念基本命令常见命令注释写法基本概念MYSQL数据库是一种关系型数据库管理系统,由瑞典MYSQL AB公司开发,是开源的,支持大型数据库,使用标准的SQL语言,支持多系统使用,多编程语言,可定制,采用GPL协议。1.数据库(DB):数据库是一些关联表的集合,按照数据结构来组织、存储、管理数据的仓库。2.数据库管理系统:DBMS3.结构化查询语言:SQL4.关系数据库管理系统:RDBMS5.数据表:表是数据的矩阵,在一个数据库中的表类似于一个电子表格。6.列:一列数据元素包含相同的

2021-06-29 10:31:04 83

原创 七大排序算法(上)

排序算法1、冒泡排序2、直接插入排序3.希尔排序4.直接选择排序算法1、冒泡排序比较前后两个相邻的数据,如果前面的数大于后面的数,就交换位置void Bubblesort(int a[],int n){ int flag = n;//记录最后一次交换的位置 while(flag>0) { int k = flag; flag = 0; for(int j = 1;j<k;j++) { if(a[j-1]>a[j]) { swap(a[j-1

2021-06-07 15:48:15 51

原创 树---二叉树(二)

文章目录二叉树的定义二叉树的特点二叉树的对象数据类型二叉树的性质特殊二叉树二叉树的存储结构遍历二叉树二叉树的定义定义:每个结点最多只有两个分支的树。1.二叉树的结构最简单,规律性最强;2.所有书都可以转为唯一对应的二叉树,不失一般性。用一个根节点及两棵互不相交的分别称作这个跟的左子树和柚子树的二叉树组成。二叉树的特点特点:1.每个结点最多有两个孩子(不存在度大于2 的结点)2.子树有左右之分3.二叉树可以是空集合,根可以有空的左子树或右子树。二叉树的对象数据类型ADT Binary

2021-04-25 16:21:22 167

原创 树---基本概念(一)

定义树是n(n>=0)个结点的有限集。当n=0时,称为空树;当=>0时,有且仅有一个特定的称为根(root)的结点;其余节点可以分为m(m>0)个互补相交的优先级,T1,T2,…Tm.其中每个集合本身又是一棵树,并称为根的子树(subtree)。术语1.根节点:无前驱结点。2.结点的度:结点拥有的子树数量,或者分支数量。3.树的度:树内各节点的度的最大值;其中度为0的结点称为叶子结点。4.树的深度:树中结点的最深层次。5.有序树:树中结点的各子树从左至右有次序。6.无序

2021-04-25 15:20:33 168

原创 栈的表示与实现操作

1.顺序栈2.链栈顺序栈利用一组地址连续的存储单元依次存放栈底到栈顶的数据元素。1.顺序栈的表示栈有两个指针:top指向栈顶元素之上base指向栈底元素空栈:top == base满栈:top-base = stacksize入栈:top上移,出栈top下移特点:后进先出,方便简单,容易溢出# define MAXSIZE 100typedef struct{ SElem Type *base; SElem Type *top; int stacksize;}Sqstack;

2021-04-19 21:27:16 338

原创 栈和队列

栈和队列是限定插入和删除只能在表的“端点”进行的线性表。栈:只能在表尾进行插入和删除操作,遵循后进先出的原则。栈的应用:数值的转换、括号匹配的检验、迷宫求解、表达式求值、八皇后问题、函数调用、递归调用的实现栈分为栈顶(表尾top)和栈底(表头base)入栈push、出栈pop队列:只能在表尾插入,在表头删除,遵循先进先出的原则。队列的应用:排队问题队列分为队尾和队首...

2021-04-17 22:03:57 75

原创 线性表的应用

1.线性表的合并两个线性表La,Lb 分别表示两个集合,要求新的集合A=AUB。算法步骤:1.依次取出B中的每个元素;2.在La中查找该元素;3.如果不含,就插在La的末尾。void union(List &La,List &Lb){La-len = Listlength(La);Lb-len = Listlength(Lb);//获取表长for(i = 1;i<=Lb-len;i++) { GetElem(Lb,i,e);//获取元素 if(!Locat

2021-04-17 21:39:36 457 2

原创 串---BF算法

在主串中定位子串int Index(SString S,SString T,int pos){int i = pos;//主串中匹配的位置int j = 1;//子串中匹配的位置while(i<=S[0]&&j<=T[0])//串的长度存储在第一个位置{ if(S[i]==T[j]) { ++i; ++j;//如果两个值相等就继续比较 } else {i=i-j+2; j=1;//否则就回溯 }if(j>T[0]){ retur

2021-04-14 15:30:37 59

原创 单链表的操作

1.单链表的表示typedef struct Lnode {ElemType data;struct Lnode * next;}Lnode,*LinkList;2.单链表的初始化即如何构造一个空表。算法思想:1.生成新结点作为头结点,用头指针L指向头结点;2.将头结点的指针域置空。Status InitList(LinlList &L){L = new Lnode;L->next = NULL;return OK;}3.判断单链表是否为空算法思想:判断头结点

2021-04-13 11:46:28 162

原创 数据结构---链表

1.链表的定义定义:节点在存储器中的位置是任意的,即逻辑上相邻的数据元素在物理结构上不一定是相邻的。也叫作非顺序映像或者链式映像。2.结点构成与顺序表相比,链表出了存储数据,还要存储下一个结点的地址即它由两部分组成:数据域和指针域3.分类1.单链表:只有一个指针域的链表,也叫线性链表。一般指带有头结点的单链表,即头指针->头结点->首元结点优点:在处理首元结点的时候更方便,第一个位置与其他位置相同,无需特殊处理;也便于空表与非空表统一处理。2.双链表:有两个指针域的链表,分别存

2021-04-12 22:21:08 630

原创 顺序表中的操作

1.在顺序表中获得第i个元素算法伪代码:status GetElem_L(LinkList L,int i,ElemType *e){if(L->length==0) //空表返回错误return ERROR;if(i<1||i>L->length)//获取位置不在表范围内返回错误return ERROR;*e=L.data[i-1];return OK;}2.在顺序表中插入元素算法伪代码:status ListInsert(LinkList *L,int

2021-04-05 17:24:44 188

原创 数据结构---顺序表

1.顺序表的定义把逻辑上相邻的数据元素存储在物理上相邻的存储单元上的存储结构。即逻辑上相邻的在物理上也必须相邻,地址必须连续。2.顺序表的特点1.利用数据元素的存储位置标示线性表中相邻数据元素之间的前后关系,即线性表的逻辑结构与存储结构一致;2.在访问线性表时可以快速地计算出任何一个数据元素的存储地址,因此可以粗略地认为访问每个元素所花时间相等;3.随机存取法,时间复杂度O(1)3.顺序表的优缺点1.优点:存储密度大;可以随机存取表中的任一元素2.缺点:插入、删除时要大量移动;浪费存储空间

2021-04-05 15:52:05 237

原创 数据共享

1.对象的动态建立和释放2.对象的赋值和复制3.静态数据成员4.静态成员函数1.对象的动态建立和释放用new建立的动态对象一般是没有对象名的,而是通过指针访问的,它主要用于动态的数据结构一般形式:new 类名;例如:new Time;对象没有名字,就要靠起始地址进行访问,与是需要一个指针一般形式:类名 *pt;指针变量名 = new 类名;例如:Time *pt;pt = new Time;合写为:类名 *指针变量名 = new 类名(初始化参数列表);例如:Tim

2021-03-26 11:08:10 288

原创 对象指针

1.指向对象的指针2.指向对象成员的指针3.this指针1.指针可以指向一般的变量,也可以指向对象1.指向对象的指针定义:在建立对象时,编译系统会为每一个对象分配一定的存储空间,以存放其成员。对象空间的起始地址就是对象的指针。注:指针是个地址形式:类名 * 对象指针名例如:Time * pt;通过对象指针访问对象和对象成员:数据成员:(*pt).hour;或者p->hour;成员函数:(*pt).gettime();或者p->gettime();2.指向成员对象的指针定

2021-03-25 17:21:23 399

原创 例题----指针、数组、函数

题目:封装一个函数,利用冒泡排序,实现对整型数组的升序排序例如数组arr[10] = {4,3,6,9,1,2,10,8,7,5}思路:1.创建一个数组2.穿件一个函数实现冒泡排序3.打印排序后的结果 include<iostream>using namespace std;//冒泡排序函数void px(int * arr,int len){ for (int i = 0; i <len - 1; i++) {for (int j = 0;j<len-i-1;

2021-01-11 15:34:32 95

原创 C++指针

1.作用:可以通过指针间接访问内存(1)内存编号是从0开始记录的,一般用十六进制数字表示(2)可以利用指针变量保存地址2.语法数据类型 * 变量名;例如:int a = 10; int * p; p = &a;(&是取址符号)使用:解引方式,指针前加 *3.指针所占内存32位操作系统下,一个指针占用4个字节64位操作系统下,一个指针占用8个字节4.空指针指针变量指向内存中编号为0 的空间(0-255内存编号被系统占用)用途:初始化指针变量注:空指针指向的内存是不可以访

2021-01-11 15:29:59 35

原创 C++结构体

概念用户自定义的数据类型,允许用户存储不同的数据类型。语法struct 结构体名{成员列表};定义方式1.struct 结构体名 变量名;2.struct 结构体名 变量名{成员赋值};3.定义结构体时顺便创建变量struct 结构体名 {成员列表}变量名;应用#include<iostream>#include<string>using namespace std;//创建一个学生的数据类型//属性:姓名,年龄,分数struct student{

2021-01-11 11:11:40 55

原创 C++成绩统计

成绩统计(二维数组的应用)问题姓名语文、数学、英语张三100/100/100李四90/50/100王五70/80/90方法#include<iostream>#include<string>using namespace std;int main(){ int score[3][3] = { {100,100,100 }, {90,50,100}, {60,70,80} }; string name[3]

2020-12-16 18:26:55 1947

原创 C++跳转语句

跳转语句1.break语句2.continue语句3.goto语句1.break语句作用:跳出选择结构或者循环结构使用:1.出现在switch条件语句中,作用是终止case并跳出switch例如:switch(条件){case 1: 执行语句1; break;case 2: 执行语句2; break;}2.出现在循环语句中,跳出当前的循环语句for(int i=0;i<10;i++){if(i==5){break;}cout << i &lt

2020-12-14 20:26:26 816

原创 C++冒泡排序

冒泡排序作用:最常用的排序算法,对数组内元素进行排序步骤:1.比较相邻的元素,如果第一个元素比第二个元素大,就交换两个元素位置2.对每一个相邻元素做同样的工作,执行完毕后,找到第一个最大值3.重复以上步骤,每次比较次数-1,直到不需要比较规律:排序总轮数=元素个数-1每轮对比次数=元素个数-排序轮数-1例如升序:#include<iostream>using namespace std;int main(){ int arr[9] = { 4,2,8,0,5,7,1

2020-12-14 18:19:55 65

原创 C++循环结构

循环语句1.while语句2.do…while语句3.for语句4.嵌套语句1.while循环作用:满足循环条件,执行循环语句语法:while(循环条件){循环语句}解释:只要循环条件为真,就可以执行循环语句注意:在写循环语句时,一定要避免死循环出现2.do…while循环作用:满足循环条件,执行循环语句语法:do{循环语句}while(循环条件)与while的区别:do…while会先执行一次循环体再判断循环条件3.for循环作用:满足循环条件,执行循环语句语法:for(起

2020-12-11 21:40:53 190

原创 写博客的空格

问:写博客的时候会用到空格键,但是你会发现键盘上的空格键不起作用解:每个空格都用字符&nbsp;代替即可

2020-12-02 10:22:41 103

原创 如何在pycharm中导入自定义模块

问:如何导入自定义模块?解:将被导入模块和调用程序所在文件夹放在同一目录下例如scripts/train/few-shot/run-train.py程序想要导入自定义模块trainfrom train import main要将train模块和script文件放在同一目录下...

2020-12-02 10:17:41 1763

原创 c++数据类型

数据类型在创建变量或者常量时,必须指定相应的类型,否则无法给变量分配内存整型作用:表示的是整数类型的数据根据占用内存空间大小不同分为四种类型:1.short(短整型)           2字节 -2^15 ---- 2^15-12.int(整型)           &nbs

2020-11-19 18:19:03 118

原创 2020-11-18

c++基础笔记开始1.创建项目2.创建新文件3.编写代码4.运行程序通用结构体#include<iostream>using namespace std;int main(){system("pause");return 0;}注释注释有两种书写方式:1.单行注释://描述信息2.多行注释:/*描述信息*/变量意义:给一段指定的内存空间起名,方便操作这段内存语法:数据类型 变量名 = 变量初始值;例如:int a = 10;常量意义:用于记录程

2020-11-18 20:20:15 64

空空如也

空空如也

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

TA关注的人

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