- 博客(69)
- 收藏
- 关注
原创 python读取excel数据,某行、某列、某单元
在使用Python处理表格时,pandas 和 openpyxl是使用最多的两个库。现在我来简单记录一下这两个库在处理Excel表格时一些常用操作。
2022-07-05 22:51:19 28265
原创 IDEA常用快捷键总结
我们可以在类中输入psvm 或者main然后IDEA会自动提示main(),敲击回车即可自动生成~我们可以在方法中输入sout然后IDEA会自动提示打印语句,敲击回车即可自动生成~按Ctrl + F表示在当前页面中查找Alt+Enter是一个特别常用且好用的“万能键”比如我们可以在类中导入需要导的包再比如我们可以在类中快速生成方法的返回值类型与变量名如果代码中需要处理异常,我们还可以快速选择是抛出还是捕获Ctrl + Y 删除光标所在行的所有内容,Ctrl+X也可以Ctrl + D
2022-06-03 17:29:39 2461
原创 JDBC初级
1.什么是JDBC编程?JDBC是指 Java数据库的连接,是一种标准Java应用编程接口(JAVA API),用来连接Java编程语言和广泛的数据库2.MySQL驱动包安装2.1.mysql驱动包JDBC编程需要用到mysql的驱动包(驱动包就是把mysql自身的api个转换成JDBC风格的)2.2.驱动包及其下载驱动包是由各个数据库官方提供的,本文用的的mysql驱动包2.3安装具体流程我们采取的是从maven中央仓库下载Maven Repository: Search/Browse/E
2022-05-21 16:48:28 98
原创 并查集应用--判断图的连通分量和判断图是否有环
#include<iostream>using namespace std;/* 用并查集判断一个图有几个连通分量(图用连接矩阵表示)*/#define N 9 //连接矩阵的大小 int g[N][N]={0}; int ComponenCount(int g[N][N]){ //g[N][N]是二维数组表示的连接矩阵 int S[N]; //定义、初始化并查集 for( int i = 0;i < N;i++){ S[i] = -1; //初始化 } /
2021-12-23 15:55:32 358
原创 并查集的应用
#include<isotream>using namespace std;/* 思路:顺藤摸瓜 */#define SIZE 13int UFSets[SIZE]; //集合元素组 /* 并查集的初始化 */void Initial(int S[]){ for(int i = 0;i < SIZE;i ++){ S[i] = -1; }}//Find'查'操作,找到x所属结合(返回x所属根节点),最坏时间复杂度O(n) int Find(int S[
2021-12-23 15:18:55 362
原创 MySQL学习--数据类型
目录数值型字符型整型小数小符型日期型数值型 整型 小数有定点数、浮点数字符型 较短的文本:char,varchar 较长的文件:text、bleb(较长的二进制数据)整型 tinyint 1个字节 有符号-128~127,无符号0~255 smallint 2个字节 有符号-32768~32767,无符号0~65535 medilumint 3个字节 int、integer 4个字节 bigint 8个字节 如何设置无符号和有符号,直接在数据后面加上unsigned,通常默认是
2021-11-07 19:28:03 231
原创 MySQL学习--库管理、表管理
目录库的创建库的修改库的删除表的管理表的创建表的修改表的删除表的复制库的创建语法:create database 库名;CREATE DATABASE IF NOT EXISTS books;库的修改语法:rename database books to 新名字;RENAME DATABASE books TO bkl; 更改库的字符集 alter database books character set utf-8(gbk);库的删除语法:drop database if exist
2021-11-05 18:34:56 243
原创 MySQL学习--分页查询、联合查询、DML语言:插入 insert 修改 update 删除 delete
目录分页查询联合查询插入语句1插入语句2修改语句删除语句分页查询当要显示的数据,一页显示不全,需要分页提交sql请求语法: select 查询列表 from 表 【join type】 join 表二 on 连接条件 where 筛选条件 group by 分组字段 having 分组后的筛选 order by 排序的字段 limit offset,size offset要显示的条目数起始索引(索引从0开始) size要显示的条目个数,limit放在最后也是最后执行 例如:SE
2021-11-05 18:27:32 515
原创 MySQL学习--子查询
目录多行操作符行子查询放在select后面的查询放在from后面的查询放在exists后面的查询子查询也叫内查询多行操作符 in/not in 等于列表中的任意一个 any/some 和子查询返回的某一个值比较 all 和子查询返回的所有值比较行子查询(结果集一行多列或多行多列) SELECT * FROM employees WHERE (employee_id,salary) = ( SELECT MIN(employee_id),MAX(salary) FROM emp
2021-10-27 19:16:25 70
原创 MySQL学习--连接查询
目录连接查询等值连接非等值连接自连接sql99语法内连接外连接全外连接交叉连接连接查询连接查询,也叫多表查询笛卡尔乘积现象,表一m行,表二n行,结果为mn行用java类似解决等值连接多表的连接是他们交集部分,m表连接,至少要n-1个连接条件,顺序没有要求,一般要为表起别名,可以搭配所有功能子句使用 例如: select name,boyName from boys,beauty where beauty.boyfriend_id = boy.id; 这样就将两张表boy和beau
2021-10-27 19:13:12 85
原创 MySQL学习--if、case、统计
目录if函数case函数统计函数count()函数datediff('日期1','日期2')分组前查询分组后查询if函数if else的效果;用法:if(判断条件,条件为真执行部分,条件为假执行部分)case函数使用一、switch case效果如: case 要判断的字段或者表达式 when 常量1 then 要显示的值1或语句 when 常量2 then 要显示的值2或语句 else 默认情况; end(结尾表示case完了,和matlab一样的) 使用二、类似多重if如: c
2021-10-22 19:22:07 364
原创 MySQL学习--数字函数、日期函数
目录roundceilfloortruncate日期函数now()curdate()curtime()str_to_datedate_format其他函数roundround(1.65)结果为2;round(1.25)结果为1;四舍五入保留整数 round(-1.65)结果为-2;round(-1.25)结果为-1; round(1.24532,2)结果为1.25,保留两位小数ceil向上取整ceil(1.2223)结果为2;返回大于等于它的最小整数floor向下取整,返回小于等于它的
2021-10-21 18:28:01 77
原创 MySQL学习--排序查询、字符函数
目录引用length(字段)concatupper、lowersubstr、substringinstr(主串,子串)trim('指定字符串'from'主串')lpad('字符',len,'填充字符')rpad('字符',len,'填充字符')replace 替换引用select 查询列表 from 表 where 筛选条件 order by 排序列表 asc或desc 特点:asc是升序,desc是降序,如果不写默认为升;一般放于句尾,除了limit字句 order by 条件1,条件2等(条
2021-10-21 18:22:14 121
原创 mysql学习--查询
目录查询起别名去重+号的作用concatifnull()条件查询通配符安全等于<=>查询select 查询列表 from 表名;(查询列表可以为:表中的字段、常量值、表达式、函数;查询结果是一个虚拟的表格) 查询单个直接写,多个用逗号隔开如: select last_name,salary,email from empoyees; 如果查询所有直接用*代替:select *from 表名;起别名AS关键字+别名,让我们更能理解,又重名可以区分 方法一:select 100*20
2021-10-19 18:49:47 126
原创 mysql学习-基础
目录启动服务停止服务登录退出查看有哪些数据库查看当前所在库创建表查看表结构查看表数据表插入数据修改删除mysql不区分大小写,,规范:关键字大写,表名,列名小写,以;结尾注释:单行注释:#注释文字、-- 注释文字多行注释:/* 注释文字*/ (跟c和java类似的)启动服务 net start 你的mysql停止服务net stop 你的mysql登录mysql -h localhost -P 3306 -u root -p密码(可加密码) mysql -h 主机名 -P 端口 -
2021-10-19 18:43:39 42
原创 归并排序算法
#include <stdlib.h>#include <stdio.h>/* 空间效率: Merge ()操作中,辅助空间刚好为n个单元,所以算法的 空间复杂度为0().时间效率:每趟归并的时间复杂度为0(n),共需进 行「log2n]趟归并,所以算法的时间复杂度为0(nlogn). 稳定性:由于Merge ()操作不会改变相同关键字记录的相对次序,所 以2路归并排序算法.是一种稳定的排序方法。 注意:一般而言,对于N个元素进行k路归并排序时,排序的趟数..
2021-10-18 19:53:56 121
原创 堆排序算法
#include<iostream>using namespace std;typedef int ElemType;/* 堆排序算法的性能分析如下: 空间效率:仅使用了常数个辅助单元,所以空间复杂度为O(1)。 时间效率:建堆时间为O(n),之后有n-1次向下调整操作,每次调 整的时间复杂度为Oh),故在最好、最坏和平均e况下,堆排序的 时间复杂度为O(nlog2n)。 稳定性:进行筛选时,有可能把后面相同关键字的元素调整到 前面,所以堆排序算法是一种不稳定的排序方法。..
2021-10-17 21:22:04 366
原创 简单选择排序算法
#include<iostream>using namespace std;typedef int ElemType;/* 简单选择排序,空间效率为O(1); 时间复杂度为O(n^2) ,平均为O(n^2),最好为O(n); 是不稳定的排序 */void SelectSort(ElemType A[],int n){ int i,j,min,temp; for (i = 0;i < n-1;i++){ //一共进行n-1趟 min = i; //记录最小元素位.
2021-10-17 20:30:57 56
原创 快速排序算法(递增)
#include<iostream>using namespace std;typedef int ElemType;/* 快速排序:基于分治算法 因为是运用了递归,其空间复杂度,最好为O(logn),最差为O(n) 平均为O(logn); 时间复杂度,最好为O(nlogn),最差为O(n^2),平均为O(nlogn) 是所有内排序算法中平均性能最优的算法; 每趟排序都能确定一个位置是最终结果的固定 */int Partition(ElemType A[
2021-10-16 22:08:23 1266
原创 冒泡排序算法(从小到大)
#include<iostream>using namespace std;typedef int ElemType;/* 冒泡排序,空间复杂度为O(1) 时间复杂度最坏为O(n^2),平均为O(n^2) 最好时间复杂度为O(n) */ElemType A[] = {3,2,4,12,6,7,8};void BubbleSort(ElemType A[],int len){ int i,j,temp; for(i = 0;i < len-1;i++) {
2021-10-16 21:03:33 1017
原创 希尔排序算法
#include<iostream>using namespace std;/* 希尔插入排序: 时间复杂度最坏为O(n^2) 最好时间复杂度为O(nlog^2(n)) 平均时间复杂度为O(nlogn) */ typedef int ElemType;void ShellSort(ElemType A[],int n){ //A[0]只是暂存单元,不是哨兵。当j<=0时,插入位置已到 int i,j,dk; for(dk = n/2;dk >=1;dk
2021-10-15 22:19:59 66
原创 折半插入序列
#include<iostream>using namespace std;/* 折半插入排序: 时间复杂度为O(n^2) ,其中A[0] 位置不放元素,作为哨兵 */ typedef int ElemType; void InsertSort(ElemType A[],int n){ int i,j,low,high,mid; int temp; for(i = 1;i < n;i++){ //依次将A[1]~A[n]插入前面的已经排好的序列 temp=
2021-10-15 21:07:49 66
原创 直接插入排序算法
#include<iostream>using namespace std;/* 直接插入排序,利用哨兵; 最好情况时间复杂度为O(n),最差情况为O(n^2) 空间复杂度为O(1),因为采用就地排序 */typedef int ElemType; bool InsertSort(ElemType A[],int n){ int i,j; //n =sizeof(A)/sizeof(A[0]);//可以吧少引入参数n for(i = 1;i < n;i++
2021-10-15 20:06:54 51
原创 素数的判断
#include<iostream>#include<math.h>using namespace std;void prime(int n){ int i; for(i=2;i<=sqrt(n);i++){ if(n%i==0){ cout<<n<<"不是一个素数"<<endl; break; } } if(i>sqrt(n)){ cout<<n<<"是一个素数"<
2021-10-14 19:37:01 40
原创 拓扑排序算法
#include<iostream>using namespace std;/* 利用栈的思想来存储和输出访问数据 */bool ToplogicalSort(Graph G){ InitStack(S); //初始化栈,存储入度为0的顶点 for(int i = 0;i < G.vexnum;i++){ if(indegree[i] == 0){ Push(S,i); //将所有入度为0 的顶点进栈 } } int count = 0; /
2021-10-14 19:35:33 57
原创 最短路径问题-prim算法和kruscal算法(C)
#include<iostram> using namespace std;/* Prim算法的步骤如下: 假设G={V,E}是连通树,其最小生成树T=(U,Et),Et是最小生成树中 变得集合。 初始化:向空树T=(U,Et)中添加图G=(V,E)的任一顶点u0,使U={uo}, ET=空。 循环(重复下列操作直至U=V);从图G中选择满足{(u,v)u属于U, v属 于V - U}且具有最小权值的边(u.v),加入树T,置U归于{v},ET=ET归 于{(
2021-10-14 19:33:21 478
原创 C链栈的实现
链栈一、主文件二、头文件一、主文件#include"D:\学习\算法与数据结构\常用代码\linkstack.h"void changestack(LinkNode *&top)//逆转链接指针 { LinkNode *s;//申请一个临时的 s=new LinkNode; InitStack(s); LinkNode *p=top; while(p!=NULL) { Push(s,p->data); p=p->next; } top=s; dele
2021-10-14 19:31:24 62
原创 循环队列实现C
#include<iostream>using namespace std;#define QueueSize 50typedef char ElemType;typedef struct{ ElemType data[QueueSize]; int front,rear;}SqQueue;void InitQueue(SqQueue *&q)//初始化队列{ q=new SqQueue; q->front=q->rear=0;}void EnQ
2021-10-14 19:27:24 52
原创 欧几里得算法
欧几里得算法欧几里得算法又称辗转相除法,是指用于计算两个非负整数a,b的最大公约数。应用领域有数学和计算机两个方面。计算公式gcd(a,b) = gcd(b,a mod b)。#include<iostream>using namespace std;int gcd(int m, int n){ int r=m % n; while (r!=0) { m=n; n=r; r=m % n; } retur
2021-10-14 19:25:11 231
原创 树与二叉树的基本数据结构类型,及其基本操作
#include<iostream>using namespace std;#define QueueSize 50#define MaxSize 100typedef char ElemType;typedef struct BiNode{ ElemType data; BiNode *lchild,*rchild;}BiNode;typedef struct element{ BiNode *ptr; int flag;}element;void preorder
2021-10-03 22:12:12 110
原创 图的基本数据类型,和图基本操作方式(深度优先遍历等)
#include<iostream>using namespace std;const int maxsize=10; typedef char ElemType;typedef struct ArcNode{ int adjvex; ArcNode *next;}ArcNode;typedef struct VertexNode{ ElemType vertex; ArcNode *firstedge;}VertexNode;typedef struct mgra
2021-10-03 22:09:20 139
原创 基于opencv的人脸检测
文章目录前言一、人脸识别的算法二、代码前言本文章是基于opencv开源做的,是在python的环境下运行。这里python的配置环境就不介绍了,网上教程非常多,都是可以使用的。人脸识别,是基于人的脸部特征信息进行身份识别的一种生物识别技术。用摄像机或摄像头采集含有人脸的图像或视频流,并自动在图像中检测和跟踪人脸,进而对检测到的人脸进行脸部识别的一系列相关技术,通常也叫做人像识别、面部识别。提示:以下是本篇文章正文内容,下面案例可供参考一、人脸识别的算法人脸识别的算法有很多,基本理论都是差
2021-06-19 14:09:31 285
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人