自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(54)
  • 问答 (1)
  • 收藏
  • 关注

原创 Spring boot 启动类位置问题:due to org/springframework/dao/DataAccessException not found

Spring boot 启动类位置问题:due to org/springframework/dao/DataAccessException not found

2023-01-08 20:53:38 377 2

原创 MySQL中BNLJ算法 的内表扫描次数的解惑

MySQL中BNLJ

2022-11-12 21:55:22 583

原创 servlet网络架构图

2020-12-26 11:19:01 401

原创 Project needs to be converted android.* denpendencies

昨晚上新建module遇到这个错误,不知道咋回事,试了网上一堆办法都不行,最后关闭了窗口,重新打开文件就好了。1.一开始网上说往gradle.properties文件中添加两行代码android.useAndroidX=trueandroid.enableJetifier=true那么问题来了,我死活没有找到这个文件,我的gradle.scripts如图:但是我在我的工程...

2019-12-04 10:45:24 213

原创 数据结构总结

1.算法时间复杂度2.线性表、线性表的顺序存储结构、线性表的链式存储结构、单链表的读写插入删除、静态链表、循环链表、双向链表3.栈、栈的顺序存储结构以及相应的进出栈操作、栈的链式存储结构以及相应的进出栈操作、队列、循环队列、队列的链式存储结构以及相应的操作4.串、串的存储结构、串的顺序存储和链式存储、KMP模式匹配算法5.树、树的定义、树的数据结构、二叉树、二叉树的性质、二叉树的顺...

2019-11-06 20:36:57 103

原创 快速排序算法的优化

优化1:首先优枢轴元素不为第一个元素,而是为左中右中的中间值。优化2:优化不必要的交换int Partition(int s[], int low, int high){ int pivotkey; int m=(low+high)/2; if(s[low]>s[high]) Swap(&s[low],&s[high])...

2019-11-06 15:34:06 133 1

原创 数据结构之快速排序算法

快速排序(Quick Sort)的基本思想:通过一趟排序将待排序记录分割成独立的两部分,其中一部分记录的关键字均比另一部分关键字小,则可分别对这两部分分别进行排序,以达到整个序列的有序。void Swap(int *a, int *b){ int temp = 0; temp = *a; *a = *b; *b = temp;}/*交换序列的子表记录,使枢轴记录到位,并返回其...

2019-11-05 20:03:21 146

原创 归并排序------

递归实现归并排序void Merge(int SR[], int TR[], int i, int m, int n){ int j, k, l; for (j = m + 1, k = i; i<=m&&j<=n; k++) { if (SR[i] < SR[j]) TR[k] = SR[i++]; else TR[k] = S...

2019-11-05 11:45:40 101

原创 堆排序

1.大顶堆和小顶堆2.层序遍历3.代码void Swap(int *a, int *b){ int temp = 0; temp = *a; *a = *b; *b = temp;}/*对某个非叶子结点i构建大顶堆堆*/void HeapAdjust(int *s,int i,int n){ int temp=0,j=0; temp=s[i]; ...

2019-11-04 20:22:58 65

原创 插入排序算法

有一个已经有序的数据序列,要求在这个已经排好的数据序列中插入一个数,但要求插入后此数据序列仍然有序,这个时候就要用到一种新的排序方法——插入排序法,插入排序的基本操作就是将一个数据插入到已经排好序的有序数据中,从而得到一个新的、个数加一的有序数据,算法适用于少量数据的排序,时间复杂度为O(n^2)。是稳定的排序方法。插入算法把要排序的数组分成两部分:第一部分包含了这个数组的所有元素,但将最后一个元...

2019-11-04 11:17:03 117

原创 选择排序算法

void Swap(int *a, int *b){ int temp = 0; temp = *a; *a = *b; *b = temp;}/*选择排序算法*/void SelectSort(int *s,int n){ int i = 0, j = 0, min = 0; for (i = 0; i < n; i++) { min = i; for (...

2019-11-04 10:16:49 69

原创 冒泡排序算法

数据结构#define MAXSIZE 10typedef struct SqList{ int r[MAXSIZE]; int length;}SqList;冒泡排序/*交换L中数组r的下标*/void swap(SqList *L,int i,int j){ int temp = L->r[i]; L->r[i] = L->r[j]; L-...

2019-11-04 10:02:28 106

原创 数据结构之哈希表

哈希表的数据结构#define SUCCESS 1#define UNSUCCESS 0#define HASHSIZE 12 /*定义散列表的长为数组的长度*/#define NULLKEY -32768typedef struct HashTable{ int *elem; /*数据元素存储基址,动态分配数组*/ int count; /*当前数据元素个数*/}Has...

2019-11-02 16:07:10 94

原创 平衡二叉树的实现过程

平衡二叉树构建的基本思想就是在构建二叉排序树的过程中,每当插入一个结点,先检查是否因为插入而破坏了树的平衡特性,若是,则找出最小不平衡子树。在保持二叉排序树特性的前提下,调整最小不平衡子树中各结点之间的链接关系,进行相应的旋转,使之成为最新的平衡子树。二插链表的二插链表结构定义/*二叉树的二插链表结构*/typedef struct BiTNode /*结点结构*/{ int da...

2019-10-31 20:44:06 413

原创 Prim算法

一个连通图的生成树是一个极小的连通子图,它包含图中全部的顶点(n个顶点),但只有n-1条边。最小生成树:构造连通网的最小代价(最小权值)生成树。P算法的核心思想是将连通图分为两部分,一部分part1是我正在构造的部分,一部分part2是用来选择顶点和边(变为part1-part2最短的边)加入到part1,最终使得part1包含全部顶点以及n-1条边。步棸:对于图G{V,{E...

2019-10-31 11:11:33 107

原创 二叉排序树查找,插入,删除

二叉排序树数据结构typedef struct BiTNode /*结点结构*/{ int data; struct BiTNode *lchild, *rchild;}BiTNode,*BiTree;二叉排序树的查找int SearchBST(BiTree T, int key, BiTree f, BiTree *p){ if (!T) { *p = ...

2019-10-30 20:24:50 152

原创 斐波那契查找

关于斐波那契查找的理论完全解析:https://www.cnblogs.com/bethunebtj/p/4839576.html代码:/*斐波那契查找*/int Fibonacci_Search(int *a, int n, int key){ int low, high, mid, i, k; low = 1; /*定义最低下标为记录首位*/ high = n; /*定义最...

2019-10-30 10:41:18 106

原创 关键路径算法

关于关键路径理论知识请参考:https://www.jianshu.com/p/1857ed4d8128代码:typedef struct EdgeNode /*边表结点*/{ int adjvex; /*邻接点域,存储该顶点对应的下标*/ int weight; /*用于存储权值,对于非网图可以不需要*/ struct EdgeNode *next; /*链域,指向下一个...

2019-10-29 16:36:51 431

原创 数据结构之拓扑排序

拓扑排序在一个表示工程的有向图中,有顶点表示活动,用弧表示活动之间的优先关系,这样的有向图为顶点表示活动的网,我们称为AOV网。AOV网中的弧表示活动之间存在的某种制约关系。对AOV网进行拓扑排序的基本思路:从AOV网中选择一个入度为0的顶点输出;然后删除此顶点,并删除以次顶点为尾的弧;继续重复此操作.....直到输出全部顶点或AOV网中不存在入度为0的顶点为止。由于拓...

2019-10-29 10:58:24 375

原创 Floyd算法

/***********************************************************************************/typedef int Pathmatrix[MAXVEX][MAXVEX];typedef int ShortPathTbale[MAXVEX][MAXVEX];/*Floyd算法,求网图G中各顶点V到到其余顶点w的最...

2019-10-28 17:15:09 83

原创 Dijkstra算法

代码如下:/***********************************************************************************/#define MAXVEX 9#define INFINITY 65535typedef int Pathmatirx[MAXVEX]; /*用于存储最短路径下标的数组*/typedef int...

2019-10-28 16:09:59 78

原创 广度优先遍历,接上一篇深度优先遍历

1.邻接矩阵的广度优先遍历算法/*邻接矩阵的广度优先遍历*/void BFSTraverse(MGraph G){ int i, j; SqQueue Q;//该队列为书中列章节所定义队列 for (i = 0; i < G.numVertexes; i++) { visited[i] = false; } InitQueue(&Q); /*初始化一辅助队...

2019-10-24 15:44:26 146

原创 深度优先遍历算法

1.图的数据结构采用邻接矩阵表示法为#define MAXVEX 100typedef int Boolean; /*Boolean是布尔类型,其值是TRUE或FALSE*/Boolean visited[MAXVEX]; /*访问标志的数组*/typedef struct MGraph{ VertexType vexs[MAXVEX]; /*顶点表*/ EdgeType ...

2019-10-24 11:29:49 516

原创 创建图的邻接表

#define MAXVEX 100typedef char VertexType; /*顶点类型由用户定义*/typedef int EdgeType; /*边上的权值类型应由用户定义*/typedef struct EdgeNode /*边表结点*/{ int adjvex; /*邻接点域,存储该顶点对应的下标*/ EdgeType weight; /*用于存储权值,对于非网...

2019-10-21 15:49:15 305

原创 二叉线索树

1.二叉线索树的数据结构实现/*二叉树的线索存储结构定义*/typedef enum {Link,Thread} PointerTag; /*Link==0表示指向左右孩子指针*/typedef struct BiThrNode{ TElemType data; /*节点数据*/ struct BiThrNode *lchild, *rchild; /*左右孩子指针*/ ...

2019-10-20 15:55:28 119

原创 遍历二叉树

1.前序遍历算法typedef struct BiTNode{ TElemType data; struct BiTNode *lchild,*rchild;}BiTNode,*BiTree;void PreOrderTraverse(BiTree T){ if(T==NULL) return; printf("%c",T->d...

2019-10-18 11:15:37 75

原创 KMP模式匹配算法

//计算子串T的next数组void get_next(string T, int *next){ int i, j; i = 1; j = 0; next[1] = 0; while (i < T[0])//T[0]存的是T子串的长度 { if (j == 0 || T[i] == T[j]) { ++i; ++j; next[i] = j...

2019-10-17 15:25:55 77

原创 给定一个链表,判断链表中是否有环

思考:一个链表如果有环,那么通常采用快慢指针的方式(快指针访问步长是慢指针的两倍一般),原因是如果有环,那么当快指针和慢指针都进入环中的时候则两者一直在环中循环,那么慢指针走的慢快指针走得快,那么慢指针会一步一步在环中遍历环,而快指针以两倍的速度遍历环,经过不断的循环,两者定会重合。代码:bool hasCycle(struct ListNode *head) { struct ...

2019-10-15 11:34:29 137

原创 有一个整数n,写一个函数f(n),返回0到n之间出现的\"1\"的个数。比如f(13)=6,现在f(1)=1;

//有一个整数n,写一个函数f(n),返回0到n之间出现的 "1 "的个数。比如f(13)=6,现在f(1)=1,问下一个最大的f(n)=n的n是什么? //思路:分别计算十位、个位、百位等等个位数为1的个数,然后相加#include <stdio.h>int main(int argc, char *argv[]){ int n, i, j, k, f, m, s = 0...

2019-10-06 20:13:35 447

原创 UNION大小问题

联合体(union)当多个数据需要共享内存或者多个数据每次只取其一时,可以利用联合体(union);1)联合体是一个结构;2)它的所有成员相对于基地址的偏移量都为0;3)此结构空间要大到足够容纳最"宽"的成员;4)其对齐方式要适合其中所有的成员;下面举例说明:如联合体1 union U2 {3 char s[9];4 int n;5 double d;6 };s占9字节...

2019-10-06 16:28:53 2045

原创 MySQL知识点归纳

1.数据库定义。数据库库分为关系型和非关系型2.数据库四层:数据库系统、数据库、表、字段3.对数据库/表的增删改查,对表中数据的增删改查:insert\update\delete\select3.数据库数据类型三大类:数值类型、字符串类型、时间日期类型4.列属性5.主键(业务主键,逻辑主键)、主键冲突6.自增长,字段必须是一个索引才能是自增长,一张表最多一个自增长7.唯一键:...

2019-10-05 21:31:31 85

原创 计算一个数的二进制式的0/1的个数

#include<iostream>#include<bitset>using namespace std;using namespace std;// 快速法int count1(unsigned int n) { int count = 0; while (n > 0) { // 所有1都换成0跳出循环 n = n & (n - 1...

2019-09-21 21:28:35 191

原创 malloc的坑

今天写代码时使用了malloc,觉得这种函数可以张口就来,哪知居然也踩了坑,好吧,我们学习一定要认真,楼主最近找工作才发现自己是多么的垃圾,废话不多说。上代码:注意那行代码:memset(strjam,0, strlen(strjam));注意我这里初始化长度是strlen(strjam)->这个长度是不是我之前分配的101个字节呢,答案是不是的malloc实际分配的内存大小是多于你申请...

2019-09-18 14:57:39 519

原创 匈牙利算法求二分图最大匹配

今天刷到一道华为的笔试题:https://www.nowcoder.com/practice/b9eae162e02f4f928eac37d7699b352e?tpId=37&tqId=21251&tPage=2&rp=&ru=/ta/huawei&qru=/ta/huawei/question-ranking素数伴侣问题,这道题的思路基本上是:1.将数组...

2019-09-16 15:48:07 208

原创 求最长子序列代码,复杂度分别为O(N^2),O(NlogN)

1.算法复杂度为O(N^2)#include<iostream>#include<vector>using namespace std;vector<int> getdp1(vector<int> &arr);//正向计算数组中每一位对应的递增子序列的长度vector<int> getdp2(vector<i...

2019-09-16 15:46:40 113

转载 C++ 统计文本中所有字符串出现次数

#include <iostream>#include <string>#include <fstream>#include<sstream>#include <map>#include <algorithm>#include <vector>using namespace std;int ...

2019-08-24 18:45:42 3931

转载 C/C++对齐补齐

C/C++对齐补齐规则:1、数据成员对齐规则:结构(struct)(或联合(union))的数据成员,第一个数据成员放在offset为0的地方,以后每个数据成员的对齐按照#pragma pack指定的数值和这个数据成员自身长度中,比较小的那个进行。2、结构(或联合)的整体对齐规则:在数据成员完成各自对齐之后,结构(或联合)本身也要进行对齐,对齐将按照#pragma pack指定的数值和结构...

2019-08-05 19:58:00 886

原创 求一个字符串有没有长度大于等于N的重复子串

#include<iostream>#include<string>using namespace std;int check_cfstr(string str,int num,string &tmps){ string extract; for (int i = 0; i + static_cast<size_t>(num) <...

2019-07-18 20:01:22 388

原创 xshell中文问号乱码

今天碰到问题用xshell登陆ubuntu16.04虚拟机时,中文显示为问号我在百度上查了很多方法,基本都是设置xshell编码为UTF-8,试过了没用,服务器也是UTF-8没问题,但就是一直乱码最后找了一篇博客说的是LANG设置为C.UTF-8,最后成功了命令:vi /etc/profile在最后一行添加:export LANG=C.UTF-8然后:source ...

2019-07-12 20:17:39 2731

转载 数组全排列

#include <iostream>using namespace std;void swap(int &a, int &b){ int temp = a; a = b; b = temp;}void perm(int list[], int low, int high){ if (low == high) //当low...

2019-07-09 11:16:26 416

空空如也

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

TA关注的人

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