动态规划
1. 基础题目1.1 509-斐波那契数509
123456789101112131415161718class Solution {public: int fib(int n) { if(n <= 1) return n; int dp[2]; dp[0] = 0; dp[1] = 1; int sum; for(int i = 2; i <= n; ++i) { sum = dp[0]+dp[1]; dp[0] = dp[1]; dp[1] = sum; } return sum; }};
1.2 70-爬楼梯70
123456789101112131415161718class Solution {public: int climbStairs(int n) ...
MySQL 在C/C++中的API
初始化连接环境1234// 参数 mysql -> null// 返回值: 该函数将分配、初始化、并返回新对象// 通过返回的这个对象去连接MySQL的服务器MYSQL *mysql_init(MYSQL *mysql) ;
连接mysql服务器1234567891011121314151617/*返回值: 成功: 返回MYSQL*连接句柄, 对于成功的连接,返回值与第1个参数的值相同。返回值指向的内存和第一个参数指针指向的内存一样 失败,返回NULL。 句柄: 是windows中的一个概念, 句柄可以理解为一个实例(或者对象)*/ MYSQL *mysql_real_connect( MYSQL *mysql, // mysql_init() 函数的返回值 const char *host, // mysql服务器的主机地址, 写IP地址即可 // localhost, null -> 代表本地连接 const char *user, ...
学生管理系统
MySQL建表(my_sql.h)12345678910111213141516171819202122232425262728create database if not exists 9tse default charset utf8mb4;use 9tse;create table stu_msg( id int primary key AUTO_INCREMENT COMMENT '主键', num varchar(25) NOT NULL unique COMMENT '学号', name varchar(10) NOT NULL COMMENT '姓名', gender char(1) NOT NULL COMMENT '性别', profession varchar(50) NOT NULL COMMENT '专业', class int NOT NULL COMMENT '班级', score float NOT NULL COMMENT ...
设计模式基础和创建型模型
1. UML类图面向对象设计主要就是使用UML的类图,类图用于描述系统中所包含的类以及它们之间的相互关系,帮助人们简化对系统的理解,它是系统分析和设计阶段的重要产物,也是系统编码和测试的重要模型依据。下面基于C++这门语言给大家讲一下UML类图的画法。
1.1 类的UML画法类(class / struct)封装了数据和行为,是面向对象的重要组成部分,它是具有相同属性、操作、关系的对象集合的总称。在系统中,每个类都具有一定的职责,职责指的是类要完成什么样子的功能,要承担什么样子的义务。一个类可以有多种职责,但是设计得好的类一般只有一种职责。
比如,我现在定义了猎人类:
1234567891011121314151617181920212223242526272829303132333435363738394041class Hunter{public: int m_age = 32; static int m_times; string getName() { return m_name; } v ...
Git
1.1 Git 简易指南
创建新仓库创建新文件夹,打开,然后执行 git init 以创建新的 git 仓库。
下面每一步中,你都可以通过 git status 来查看你的git仓库状态。
工作流你的本地仓库由 Git 维护的三棵「树」组成。第一个是你的 工作目录,它持有实际文件;第二个是 缓存区(Index),它像个缓存区域,临时保存你的改动;最后是 HEAD,指向你最近一次提交后的结果。
事实上,第三个阶段是 commit history 的图。HEAD 一般是指向最新一次 commit 的引用。现在暂时不必究其细节。
添加与提交你可以计划改动(把它们添加到缓存区),使用如下命令:
12git add < filename >git add *
这是 Git 基本工作流程的第一步。使用如下命令以实际提交改动:
1git commit -m "代码提交信息"
现在,你的改动已经提交到了 HEAD,但是还没到你的远端仓库。
在开发时,良好的习惯是根据工作进度及时 commit,并务必注意附上有意义的 commit message。创建完项 ...
汇编
1. 第一段代码:Hello World123456789101112131415161718192021DSEG SEGMENT MESS DB 'Hello, World!',0DH,0AH,24HDSEG ENDSSSEG SEGMENT PARA STACK DW 256 DUP(?)SSEG ENDSCSEG SEGMENT ASSUME CS:CSEG, DS:DSEG BEGIN:MOV AX,DSEG MOV DS,AX MOV DX,OFFSET MESS MOV AH,9 INT 21H MOV AH,4CH INT 21HCSEG ENDSEND BEGIN
2. 基础指令用以下指令可以写一个基础的程序:
段定义+ ...
CMake
1. CMake概述CMake 是一个项目构建工具,并且是跨平台的。关于项目构建我们所熟知的还有Makefile(通过 make 命令进行项目的构建),大多是IDE软件都集成了make,比如:VS 的 nmake、linux 下的 GNU make、Qt 的 qmake等,如果自己动手写 makefile,会发现,makefile 通常依赖于当前的编译平台,而且编写 makefile 的工作量比较大,解决依赖关系时也容易出错。
而 CMake 恰好能解决上述问题, 其允许开发者指定整个工程的编译流程,在根据编译平台,自动生成本地化的Makefile和工程文件,最后用户只需make编译即可,所以可以把CMake看成一款自动生成 Makefile的工具,其编译流程如下图:
蓝色虚线表示使用makefile构建项目的过程
红色实线表示使用cmake构建项目的过程
介绍完CMake的作用之后,总结一下优点:
跨平台
能够管理大型项目
简化编译构建过程和编译过程
可扩展:可以为 cmake 编写特定功能的模块,扩充 cmake 功能
2. CMake的使用CMake支持大写、小写、混 ...
回溯贪心算法篇
1.回溯算法1.1 77-组合77
123456789101112131415161718192021222324class Solution {public: vector<vector<int>> ans; vector<int> path; //组合抽象为一个泡泡树 void backtracking(int n, int k, int startIndex) { if(path.size() == k) { ans.push_back(path); //将泡泡数据加入结果 return; //返回去等待删除一个泡泡 } for(int i = startIndex; i <= n-(k-path.size())+1; ++i ) { path.push_back(i); //加入一个泡泡 backt ...
视图,存储过程,触发器
1. 视图视图(View)是一种虚拟存在的表。视图中的数据并不在数据库中实际存在,行和列数据来自定义视图的查询中使用的表,并且是在使用视图时动态生成的。通俗的讲,视图只保存了查询的SQL逻辑,不保存查询结果。所以我们在创建视图的时候,主要的工作就落在创建这条SQL查询语句上
作用:
简单视图不仅可以简化用户对数据的理解,也可以简化他们的操作。那些被经常使用的查询可以被定义为视图,从而使得用户不必为以后的操作每次指定全部的条件。
安全数据库可以授权,但不能授权到数据库特定行和特定的列上。通过视图用户只能查询和修改他们所能见到的数据
数据独立视图可帮助用户屏蔽真实表结构变化带来的影响
1.1 视图的基本操作12345678910111213#创建create [or replace] view 视图名称[(列名列表)] as select语句 [with [cascaded | local] check option];#查询show create view 视图名称; #查看创建视图语句 :select * from 视图名称...; #查看视图数据 : #修改(两种方案)cre ...
存储引擎,索引,SQL优化
1. 存储引擎1.1 MySQL体系结构
连接层最上层是一些客户端和链接服务,主要完成一些类似于连接处理、授权认证、及相关的安全方案。服务器也会为安全接入的每个客户端验证它所具有的操作权限。
服务层第二层架构主要完成大多数的核心服务功能,如SQL接口,并完成缓存的查询,SQL的分析和优化,部分内置函数的执行。所有跨存储引擎的功能也在这一层实现,如过程、函数等。
引擎层存储引擎真正的负责了MSQL中数据的存储和提取,服务器通过API和存储引擎进行通信。不同的存储引擎具有不同的功能,这样我们可以根据自己的需要,采选取合适的存储引擎。
存储层主要是将数据存储在文件系统之上,并完成与存储引的交互
1.2 存储引擎简述
存储引擎就是存储数据、建立索引、更新/查询数据等技术的实现方式。存储引擎是基于表的,而不是基于库的,所以存储引擎也可被称为表类型。
1234567show create table account; #查询建表语句,默认为innoDBshow engines; #查询当前数据库支持的搜索引擎#创建表时,指定存储引擎create table 表名( 字段1,字 ...