自定义博客皮肤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)
  • 收藏
  • 关注

原创 t.einsum(‘ijk,jkl->ijl‘, [a,b])

快速帮你理解三维einsum()的计算

2023-07-25 10:30:38 165 1

原创 机器学习:KNN算法

机器学习:knn算法

2022-10-08 15:59:17 660 1

原创 新手入门梯度下降法(从高数角度而不是线代角度)

梯度下降法

2022-10-07 15:59:05 512

原创 利用框架技术,在监听器listener里面使用注入的时候一直报空指针异常,java.lang.NullPointerException

由于监听器在执行的时候,框架的配置文件都没有被扫描,所以所有的对象都没有被创建出来,因此,一定会报空指针异常,解决方法很简单就是我们手动跟他说帮我们把所有的对象都创建好就可加上创建容器的语句,然后从容器中拿出对象就可:ApplicationContext ac = new ClassPathXmlApplicationContext(“spring/applicationContext.xml”);DitcServiceImpl ditcService = (DitcServiceImpl)ac.g

2021-12-06 11:11:34 884

原创 java.sql.SQLException: The server time zone value ‘�й���׼ʱ��‘ is unrecognized or represents more tha

java.sql.SQLException: The server time zone value ‘�й���׼ʱ��’ is unrecognized or represents more than one time zone. You must configure either the server or JDBC driver (via the ‘serverTimezone’ configuration property) to use a more specifc time zone value

2021-11-28 20:59:30 80

原创 SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@ec18b38] was not registered for syn

错误信息SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@ec18b38] was not registered for synchronization because synchronization is not active JDBC Connection [com.mysql.jdbc.JDBC4Connection@749d2bf5] will not be managed by Spring原因:出现报错就是因

2021-11-26 13:51:39 6591

原创 IDEA编译报错:java.lang.ExceptionInInitializerError: com.sun.tools.javac.code.TypeTags

错误信息:原因:lombok版本太低。不支持java10以上。解决办法:maven仓库(https://mvnrepository.com/)查询lombok最新版,选择最新版即可。<dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> <version>1.18.12</version&g

2021-11-18 16:38:32 1485

原创 线索二叉树的基本功能实现你想要的基本都有

1,什么是线索二叉树?用自己的话说就是:原来我们求一棵二叉树的前序、中序、后序序列的时候,都必须用到递归遍历相应的二叉树,否则也得借助栈等结构来记录。这样的话,如果我们想很快的找到某一个节点在某种序列下的前驱或后继,每次都要遍历,这显然十分浪费时间。很自然,要是想避免这个重复工作,那么我们就需要把所有节点的前驱和后继记录下来,这样每次查找相应的记录就行了。于是就引出了——‘线索’一词。没错,真的是‘线索’,由线索找到相应节点的前驱和后继,很形象!2、不管我用文字讲的多牛逼,还是不好懂的,因此,我决定推荐

2021-10-09 11:02:18 124

原创 用网络通信了解DOM和document对象

2021-10-05 09:47:03 103

原创 关于EL表达式被当做字符串输出的问题

1、关于EL表达式被当做字符串输出的问题这个时候我们只需要在JSP最上面加上一行代码就可;<%@ page isELIgnored="false" %>

2021-10-03 11:27:42 296

原创 中序非递归遍历序列二叉树

1、中序非递归遍历序列二叉树同学们一定要留意一下这一步: pop(s,&q);这一步涉及到一个二级指针的问题(当然不用二级指针也可以解决问题,只不过大多部分教材都会用二级指针来解题),二级指针的问题我直接上图,其实二级指针就是一个抽屉里面放另外一个抽屉的钥匙罢啦;#include <stdio.h>#include <mm_malloc.h>#define MAXSIZE 50#define OK 1#define ERROR -1typedef str

2021-10-01 17:20:35 230

原创 树的基本功能的实现

1、树的基本功能的实现(包括桉树状打印二叉树)关于树的创建可以看看我的另外一篇,可别小看了树的创建,你要是真的把树的创建真真切切的弄懂啦,那么树后面就好学了很多,否则,很痛苦的;附链接:https://blog.csdn.net/qq_50504109/article/details/119721763/** * 时隔一百年总算学到树啦 * 不容易 * * 测试用例:AB..CD... 或者 AB.DF..G..C.E.H.. */#include<stdio.h>#i

2021-10-01 10:59:09 291

原创 用递归求n的阶层

1、用递归求n的阶层/** * 对递归了解的话,这个题就很简单啦,要是不懂递归的小伙伴可以先看看递归的资料哈 */#include<stdio.h>int main(){ int f(int n ); int n ; printf("请输入要求的n的阶数:"); scanf("%d",&n); printf("%d阶的结果:%d",n,f(n));}int f(int n ){ if ( n == 0){

2021-09-24 10:31:08 4543

原创 经典题汉诺塔

1、汉诺塔个人建议在学递归之前先去看看方法的弹栈和压栈,了解完这个然后自己手动画画图,会对自己理解递归有很大的帮助,下面是我学二叉树的时候自己画的图;#include<stdio.h>/** * * 汉诺塔基本思路就是先把第一个柱子上面1到n-1个圆柱借助第三个柱子放到第二个柱子上面 * 然后在将第n个柱子放到第三个圆柱上面, * 然后我们在把第二个柱子上面的圆柱放到第三个圆柱上面,就完成了汉诺塔的游戏(当然这是理想状态下); * 因为第二个柱子上面的圆

2021-09-24 10:13:38 86

原创 C语言字符串的实现以及基本功能

1、 C语言字符串的实现以及基本功能输入数据的时候按我这样输入:不然的话会把换行读进去#include<stdio.h>#include <mm_malloc.h>#include <conio.h>#define MAXSIZE 50typedef struct String { char elem[MAXSIZE]; int length;} String, *LinearString;int main() { in

2021-09-23 15:12:10 471

原创 KMP算法next的讲解

1、KMP算法next的讲解其实我相信大部分人并不是不懂KMP的原理而是不懂next【】数组到底怎么搞出来的,查资料发现他们都是一笔带过,然后好不容易才找到一个讲的很详细的,但是发现是用图解释,但是在详细也很难理解;因此,我在这里直接推荐你们看一个视频,一遍不懂就多看几遍,之后不会恍然大悟,醍醐灌顶;给我冲兄弟们; b站:https://www.bilibili.com/video/BV16X4y137qw//KMP算法解决串的匹配;int StrIndexKMP(LinearString s,L

2021-09-23 14:57:31 324

原创 用队列打印杨辉三角

1、用队列打印杨辉三角队列的实现以及基本功能请参考:https://blog.csdn.net/qq_50504109/article/details/120384457/** * 用队列打印杨辉三角的思路就是跟数组一样的,用前一列求出后面一列 * 不过队列不像数组有固定的公式可以求出特定位置的元素,我们需要通过元素的进出来求的 * 我们需要前面一列下出列一个,然后在获得当前的 GetHead(Q,&x)值,相加才能得到下一行的元

2021-09-23 09:52:48 3006

原创 用栈和队列解决回文字符串

1、用栈和队列解决回文字符串栈和队列的实现以及基本功能函数请参考:https://blog.csdn.net/qq_50504109/article/details/120330818和https://blog.csdn.net/qq_50504109/article/details/120384457(队列里面的数据我用的是int,你可以改成char类型)/** * * * 判断是否为回文数其实很简单的,既然是回文数那么肯定满足对称性 * 那么我们可以使用栈和队列的特性, * 先

2021-09-22 17:25:38 1283

原创 辗转相除法(又称欧几里得)求最大公约数,顺便求最小公约数

1、辗转相除法(又称欧几里得)求最大公约数,顺便求最小公约数/** * * 使用辗转相除法(又称欧几里得)求最大公约数,顺便求最小公约数 * 最大公约数乘于最小公倍数等于两个数的积; * (a,b)*[a,b] = ab*/#include<stdio.h>int main(){ int fun(int bignum,int littlenum); printf("请输入两个整数:例如:123 456\n"); int m

2021-09-20 12:02:47 115

原创 用队列模拟患者医院看病的过程

1、用队列模拟患者医院看病的过程部分函数请参考:https://blog.csdn.net/qq_50504109/article/details/120384457/** * 模拟患者医院看病的过程使用队列, * 其实就是让客户输入,通过不同的输入情况对应不同的处理方式而已; * 输入1:病人到达 * 输入2:护士让下一位就诊 * 输入3:不在接受病人排队 */#include <stdio.h>#include <conio.h&g

2021-09-20 08:50:26 1601 2

原创 循环队列

1、循环队列/** * 循环顺序表队列 * 为很么要用循环呢?那是因为当rear = MAXSIZE不一定是真的队列满了,因为在你入队列的时候,也可能会有元素出队列 * 这是是假溢出,那么我们就会想着当(rear+1) = MAXSIZE的时候,下一次在移动的时候rear可不可以将rear移动到0号位置呢?这样就可以实现循环了 * 答案是可以的使用(rear+1)%MAXSIZE就行啦,因为只有符合这个条件的时候结果才是为0 * 那么

2021-09-19 20:43:49 245

原创 链式实现队列

1、链式实现队列/** * 链式实现队列 */#include<stdio.h>#include <mm_malloc.h>//定义一个普通的节点typedef struct Node { int data; struct Node *next;} *LinkQueueNode, Node;//定义一个指向链表的头指针和尾指针为了操作方便将他们封装起来啦typedef struct LinkQueue1{ Node *fro

2021-09-19 16:16:06 123

原创 设计一个高效的算法。从顺序表L中删除所有介于x和y之间的所有元素,要求空间复杂度为O(1)

1、设计一个高效的算法。从顺序表L中删除所有介于x和y之间的所有元素,要求空间复杂度为O(1)部分函数调用参考:https://blog.csdn.net/qq_50504109/article/details/120273546/** * 删除掉介于x和y的元素,其实跟删除一个确定的值是一样的 * i和j在没有遇到符合条件的元素的时候,一起移动,相互赋值,要是遇到符合条件的元素的时候,只需要j继续往前走, * 直到遇到不符合条件

2021-09-19 15:16:46 5307

原创 链表转换

1、链表转换(说白了就是头插法的使用)/** * */#include<stdio.h>#include <accctrl.h>#define MAXSIZE 15 // 常量的定义不需要分号也不需要等号 MAXSIZE = 5; 这样是错误的#define OK 1#define ERROR -1#define NOTFOUND -2typedef struct Node{ int data; struct Node

2021-09-19 12:37:51 131

原创 建立一个带头结点的线性链表,用以存放输入的二进制数,链表的每一个节点的data域存放一个二进制位。并在此链表上实现对二进制数加1的运算;

1、题目:建立一个带头结点的线性链表,用以存放输入的二进制数,链表的每一个节点的data域存放一个二进制位。并在此链表上实现对二进制数加1的运算;部分函数调用参考:https://blog.csdn.net/qq_50504109/article/details/120288749/** * 二进制的加法,用链表实现,我们正常使用二进制加法的时候,是从地位开始,遇到1就加,然后进位,直到遇到0(这个0肯定是最后一个零)我们便停止进位 * 因此,我们便有思路,那么就是一直遍历,遇到data为0

2021-09-19 11:38:18 684

原创 图灵测试

1、定义:图灵测试(The Turing test)由艾伦·麦席森·图灵提出,指测试者与被测试者(一个人和一台机器)隔开的情况下,通过一些装置(如键盘)向被测试者随意提问。进行多次测试后,如果机器让平均每个参与者做出超过30%的误判,那么这台机器就通过了测试,并被认为具有人类智能。图灵测试一词来源于计算机科学和密码学的先驱艾伦·麦席森·图灵写于1950年的一篇论文《计算机器与智能》,其中30%是图灵对2000年时的机器思考能力的一个预测,目前我们已远远落后于这个预测。2、人机测试图灵采用“问”与“答

2021-09-19 09:55:34 3018

原创 C语言判断一个链表是否有环(快慢指针)

1、判断一个链表是否有环(快慢指针)兄弟们,算法好难!我相信我们的感受是一样的,下面是我对这道题的一些思考,以及在开始写的时候的一些疑问,希望对大家有帮助!/** * 写这题的时候我最疑惑的时候是,难道快指针每次走两步,难道不可能刚好把环给跳过了嘛,但是仔细想想是不可能的 * 因为fast = fast->next->next 就是说你虽然每次都吃两个苹果,但是你最终还是一个苹果一个苹果吃的, * 所以fast其实跨两个节点,也是一个一个节点都要经过的,这样子的话如果fas

2021-09-18 18:26:29 734 1

原创 约瑟夫环问题(C语言循环链表)

1、约瑟夫环问题(C语言循环链表)我相信大家都可以画出这个图,知道大体的解题的思想,但是却不知道代码该怎么下手,因此,下面我直接上代码,代码中该注释的地方我都进行了注释,希望到大家有帮助;#include<stdio.h>#include <mm_malloc.h>typedef struct Node { int num; int password; struct Node *next;} Node, *LinkList;int

2021-09-18 09:27:40 3354

原创 已知带表头的节点单链表L,设计算法实现:以表中的第一个元素作为标准,将表中的所有值小于第一个元素的节点放在第一个节点之前,所有值大于第一个元素的节点均放在第一个元素节点之后;

1、已知带表头的节点单链表L,设计算法实现:以表中的第一个元素作为标准,将表中的所有值小于第一个元素的节点放在第一个节点之前,所有值大于第一个元素的节点均放在第一个元素节点之后;#include<stdio.h>#include"InstanceLinkList.c"int main(){ void ReverseList(LinkList L); void changelist(LinkList L); LinkList L = creatLinkList

2021-09-17 20:24:53 1754 1

原创 设计一个高效的算法,从顺序表L中删除所有值为x的元素,要求时间复杂度为)(n),空间复杂度为O(1);

1、设计一个高效的算法,从顺序表L中删除所有值为x的元素,要求时间复杂度为)(n),空间复杂度为O(1);部分函数调用参考如下:https://blog.csdn.net/qq_50504109/article/details/120273546#include<stdio.h>#include"InstanceLinearList.c"int main(){ void delx(LinearList1 L,int x); LinearList *list;

2021-09-17 15:59:33 5658

原创 带头结点单链表就地逆置算法

1、带头结点单链表就地逆置算法部分函数调用参考如下:https://blog.csdn.net/qq_50504109/article/details/120288749/** * 单向链表的逆置,说白了就是头插法的利用,只不过我们这次插入的数据,不是自己决定的节点 * 而是用已经存在的,那我们每次操作的时候,把下一个节点的地址保存起来就可以了,这样就相当于是我们创建了一个 * 那这不就和头插法一模一样了么? */#include <stdio.h>#includ

2021-09-17 15:56:08 4445

原创 C语言栈括号匹配算法

1、C语言栈括号匹配算法一起加油兄弟姐妹们!!!冲冲冲/** * 思想很简单就是左括号进栈,遇到右括号的时候,就把栈顶元素取出,然后匹配,然后对结果进行不用的处理 * 括号匹配算法: * 匹配失败的可能: * 1、左括号多于有括号:这个时候会出现栈已经空了,但是字符组数还没有扫描结束; * 2、右括号多于左括号:这个时候会出现栈还有剩余,但是字符数组已经扫描完了; * 3、左括号和右括号不是同一个类型 */#include<st

2021-09-17 10:59:30 2353

原创 链栈的实现以及基本功能

1、链栈的实现以及基本功能/** * 栈的实现以及基本功能 * 链表栈进栈和出栈你就利用头插法的特点就可以实现了 * 刚好符合栈的后进先出的特点 * 因此,链栈的定义是和链表的定义是一样的 * */#include <stdio.h>#include <mm_malloc.h>#define MAXSIZE 50#define OK 1#define ERROR -1typedef struct LinkStack{

2021-09-17 09:31:20 146

原创 共享栈的实现以及基本功能

1、共享栈的实现以及基本功能/** * 共享栈的实现以及基本功能 * 共享栈主要是为了节约内存,但是我们一般只用两个栈共享,多的话其实用的比较多的是链式共享栈,下节我们讲 * */#include <stdio.h>#include <mm_malloc.h>#define MAXSIZE 50#define OK 1#define ERROR -1typedef struct DqStack{ char elem[MAXSIZE];

2021-09-16 21:59:40 429

原创 栈的实现以及基本功能

1、栈的实现以及基本功能 /** * 栈的实现以及基本功能 * */#include <stdio.h>#include <mm_malloc.h>#define MAXSIZE 50#define OK 1#define ERROR -1 typedef struct SqeStack{ char elem[MAXSIZE]; int top; }SqeStack,*Sqe;

2021-09-16 15:50:27 303

原创 单向循环链表的实现以及基本功能

1、单向循环链表的实现以及基本功能/** * 由于单向循环链表和单向链表基本一样,因此大部分代码我直接复制粘贴单向链表的代码 * 我们只需要把 p->next = NULL或者p = NULL 这两个条件改为 p->next = LL或者p = L 就可以啦 * */#include<stdio.h>#include <mm_malloc.h>#define MAXSIZE 15 // 常量的定义不需要分号也不需要等号 MAXSI

2021-09-15 21:00:21 206

原创 利用头指针和尾指针实现单向循环表的合并

1、利用头指针和尾指针实现单向循环表的合并 /** * 利用头指针和尾指针实现循环表的连接 */#include<stdio.h>#include"InstaceCLinkList.c" //对于c语言的导入文件,其实就跟java中的继承可以说一模一样,不仅属性可以继承,而且方法也可以继承int main(){ LinkList createFormTailReturnTail1(LinkList L); LinkList m

2021-09-15 20:58:36 251

原创 单向循环链表的实现以及基本功能

1、单向循环链表的实现以及基本功能/** * 由于单向循环链表和单向链表基本一样,因此大部分代码我直接复制粘贴单向链表的代码 * 我们只需要把 p->next = NULL或者p = NULL 这两个条件改为 p->next = LL或者p = L 就可以啦 * */#include<stdio.h>#include <mm_malloc.h>#define MAXSIZE 15 // 常量的定义不需要分号也不需要等号 MAXSI

2021-09-15 20:57:20 211

原创 有两个单链表LA,LB,其元素均为非递减有序排列,编写算法将它们合并成一个顺序表LC,要求LC也是非递减有序排列。 例如:LA={2,2,3} LB={1,3,3,4} 则LC={1,2,2,3,3,

1、 有两个单链表LA,LB,其元素均为非递减有序排列,编写算法将它们合并成一个顺序表LC,要求LC也是非递减有序排列。 例如:LA={2,2,3} LB={1,3,3,4} 则LC={1,2,2,3,3,3,4};部分函数代码请参考以下链接:https://blog.csdn.net/qq_50504109/article/details/120288749#include<stdio.h>#include"InstanceLinkList.c"int main(){

2021-09-15 15:45:19 4120

原创 单向链表结构的实现以及基本功能

1、心里话与大家分享在代码中所有的注释都是在我第一次自己做的时候,没做对产生了错误之后找到了错误的原因而注释,我相信大家并不是每一句代码都不明白,而是往往和我一样,在某一个地方很疑惑,或者不解,因此,我认为没有必要每一句都注释。我是用耿国华的C语言学习的,我相信我的一些问题也许是大家的一些问题,因此,我很高兴和大家一起分享我的学习心得,让我们一起进步,畅游在算法与数据结构之美中,冲冲冲。2、单向链表结构的实现以及基本功能/** * 在本节我们来学习线性单链表 */#include&

2021-09-14 15:31:01 339

空空如也

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

TA关注的人

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