0%

事务

概念:事务指的是满足ACID特性的一组操作,可以通过Commit提交一个事务,也可以使用Rollback进行回滚。
ACID特性:
(1)原子性:事务被视为不可分割的最小单元,事务的所有操作要么全部提交成功,要么全部失败回滚。回滚可以用回滚日志来实现,回滚日志记录着事务所执行的修改操作,在回滚时反向执行这些修改操作即可。
(2)一致性:数据库在事务执行前后都保持一致性状态。在一致性状态下,所有事务对一个数据的读取结果都是相同的。
(3)隔离性:一个事务所做的修改在最终提交以前,对其它事务是不可见的。
(4)持久性:一旦事务提交,则其所做的修改将会永远保存到数据库中。即使系统发生崩溃,事务执行的结果也不能丢失。

阅读全文 »

离散数学的研究内容?

离散数学是研究离散对象(量)的数学,粗略地来讲,所谓“离散”就是不“连续”的、“可分离”的,比如自然数、书本、人等等,实数则是连续的。用集合论的术语来说,离散对象就是这样的对象:其全体所构成的集合是有限或可数的。

命题和谓词?

命题:自然语句中能够判定真假的陈述句称为命题;
谓词:在陈述句中用来刻画个体词性质以及个体词之间相互关系的词。

什么是等价关系?

设R是集合A上的关系,如果R是自反的、对称的和传递的,则称R为A上的等价关系。

什么是偏序关系?

对于非空集合A上的二元关系R,如果R是自反的、反对称的和传递的,···

阅读全文 »

时间复杂度

通常采用算法中基本运算的频度来分析算法的时间复杂度,一个语句的频度是指该语句在算法中被重复执行的次数,算法中最深层循环内的语句频度就是我们所说的时间复杂度。

空间复杂度

一个程序在执行时除了需要存储空间来存储本身所用的指令、常数、变量和输入数据外,还需要一些辅助空间来实现,这个辅助空间的大小就是空间复杂度的大小。

什么是算法?算法的性质有哪些。

算法是由若干条指令组成的有穷序列。
性质:
(1)输入:具有0个或多个输入
(2)输出:至少产生一个输出
(3)有穷性:每一条指令的执行次数必须是有限的
(4)确定性:每条指令的含义必须是明确,无二含义
(5)可行性:每条指令的执行时间都是有限的

阅读全文 »

编译程序的组成结构:

词法分析、语法分析、语义分析、代码优化、存储分配和代码生成

如果操作系统的源代码是公开的,你认为这样的操作系统是安全的吗?

不安全,linux的源代码是公开的。

编译如何实现“括号配对检查”

1)出现的凡是“左括号”,则进栈;
2)出现的是“有括号”,首先检查栈是否空?若栈空,则表明该“右括号”多余,否则和栈顶元素比较,若相匹配,则栈顶“左括号”出栈,否则表明不匹配。
3)表达式检验结束时,若栈空,则表明表达式中匹配正确;否则表明“左括号”有余。

阅读全文 »

创建结构体(有关有员函数和重载输入输出)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
#include<iostream>
using namespace std;
class student{
private:
int age;
string name;
public:
void get_stu(){//输入数据
cin >> name >> age;
}
void out_stu(){//输出数据
cout << name << " " << age;
}
//定义友元函数
friend max_stu(student s1,student s2);
};
void max_stu(student s1,student s2){
if(s1.age > s2.age) s1.out_stu();
else s2.out_stu();
}
int main(){
student stu[2];
stu[0].get_stu();
stu[1].get_stu();
//使用友元函数
max_stu(stu[0],stu[1]);
return 0;
}
阅读全文 »

c++基本知识

c++对c的增强主要表现在两个方面

  • 在原来面向过程的机制基础上,对c语言的功能做了不少补充。
  • 增加了面向对象的机制。

    c++的四大特性:抽象、封装、继承和多态

  • 抽象的作用是表现同一类事物的本质。类是对象的抽象,对象是类的特例,或者说类的具体表现。
  • 封装主要表现在两个方面:
    (1)将有关数据和操作代码封装在一个对象中形成一个基本单位,各个对象间相互独立,互不干扰。
    (2)将对象的某些部分进行隐蔽,即隐蔽其内部细节,只留下部分接口,以便与外界联系,接收外界信息。
  • 继承:在一个已有类的基础上建立一个新的类,该新类获得已有类的已有特征。
  • 多态:对同一信息,不同对象会产生不同的响应。
    阅读全文 »

leetcode题目

给你两个 非空 的链表,表示两个非负的整数。它们每位数字都是按照 逆序 的方式存储的,并且每个节点只能存储 一位 数字。

请你将两个数相加,并以相同形式返回一个表示和的链表。

你可以假设除了数字 0 之外,这两个数都不会以 0 开头。

阅读全文 »

c++的哈希集合(unodered_set)

定义

1
2
3
4
5
6
7

//定义
unordered_set<int> c1;

//operator=
unordered_set<int> c2;
c2 = c1;
阅读全文 »

  1. 创建数据库
    命令: create database <数据库名>

  2. 显示数据库
    命令: show databases

  3. 删除数据库
    命令: drop database <数据苦命>

    阅读全文 »