自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(22)
  • 收藏
  • 关注

原创 socket

1、基础用法,双向通信,发送消息并接受消息Socket的底层是TCP,不需要考虑服务端是否已经接收到消息,如果没有发送到服务器端是会抛异常的。Java的socket是一个全双工套接字,任何的输入流或输出流的close()都会造成Socket关闭。解决办法:使用socket.shutdownOutput()方法关闭套接字的输出流,使服务器知道输出流关闭,可以得到流末尾标志(-1)。同样,可以使用socket.shutdownInput()方法单独关闭套接字的输入流。

2024-07-17 00:31:09 521

原创 MySQL学习总结

因此,在我test1这个数据库里面,有两张表,一个是student,一个是user;字段1 字段1类型 [字段属性] [COMMENT 字段1注释 ],字段2 字段2类型 [字段属性] [COMMENT 字段2注释 ],字段3 字段3类型 [字段属性] [COMMENT 字段3注释 ],字段n 字段n类型 [COMMENT 字段n注释 ]) [表属性] [ COMMENT 表注释 ];2.MySQL对表结构的操作。1.MySQL对数据库的操作。1.展示某个数据库中的所有表。2.展示某个表的结构。

2024-07-15 00:28:02 287

原创 作业一:ER图 作业:二QQ项目思路 作业三:实现QQ的登录与注册界面

将基本信息如手机号码,验证码,还有已有的账号及账号相关信息等存入数据库中,登录方式为账号密码登录,还有忘记密码用邮箱验证码登录,注册为手机号及其验证码注册,注册好后将数据存入数据库(创建socket集合存入内,里面存了多名好友),找回密码需要手机号及其验证码,在数据库找到与其对应的qq账号密码。

2024-07-11 23:55:44 335

原创 7.9实验室总结 SceneBuilder的使用方法+使用javafx等

由于下错了东西,所以一直运行不出来,今天一直在配置环境,配置好了才学,所以没学多少,看了网课学习了SceneBuilder的使用方法还有了解了javafx是怎么写项目的,,是再制作一个界面,然后在第一个界面的代码中接收鼠标信息,去加载第二个界面,就跳转成功了。2.想要按按钮转页就在这里家fx。8.关闭界面(exitButton是需要自己写的)5.要把长宽都设置为和制作的界面一样的大小。3.**有红色是因为还没有建函数。6.点击按钮可以出现文件的方法。

2024-07-10 03:05:47 237

原创 io流 多线程

io流:存储和读取数据的解决方案打印出来的数据是一会1一会2的。

2024-07-07 22:27:58 566

原创 方法引用 异常 file

eg:表示引用run1类里面的sxxxx方法把这个方法当做抽象方法的方法体::是方法引用符。

2024-07-05 22:43:43 1126

原创 可变参数 Collections 不可变集合 Stream流

流是从支持数据处理操作的源生成的元素序列,源可以是数组、文件、集合、函数。流不是集合元素,它不是数据结构并不保存数据,它的主要目的在于计算。

2024-07-03 22:36:24 514

原创 APLjdk7时间 爬虫 正则表达式 迭代器遍历 lambda遍历 增强for遍历 Collection单列集合 map双列集合 map的三种遍历方式 HashMap TreeMap....等....

list有索引,但是方法用的是collection 接口里的,而collection是 list set vector 的共性接口,所以此时不能通过索引删除,只能通过元素的对象进行删除。//[1-9]是第一个数字是1-9,\\d是整数的意思。匿名内部类只是针对某一个接口的实例化对象,也就是不写接口的实现类,直接采用内部类的方式实现其中方法。String str = "Java自从95年问世以来,经历了很多版本,目前企业中用的最多的是Java8和Java11,"由键决定特性:不重复,无索引,可排序。

2024-07-02 22:54:32 955

原创 动态规划之子序列问题,第十四次实验室总结(接第十三)

遍历顺序,其dp[i]=dp[i-1]+1里的i是依赖于i-1也就是从前向后推的,所以遍历顺序是从前往后推进的 for(int i=1;假设他们下角标从1开始,b【1】=1,可以从a中找到1,其角标为3,b【2】=2,可以从a中找到2,其角标为2,,,,,以此类推,则按刚才找出来的顺序a的角标为3,2,1,4,5,可知其最长连续子数列为2,4,5,为3位,则这两组数据的最长公共子序列为3。初始化:最长连续增子序列是以i结尾的,最少的最长增子序列为一,所以初始化为一就行了,dp【i】=1;

2024-03-02 19:48:54 345

原创 动态规划。第十三次

如下图,一个一个填上去会知道一整个流程是什么,分两种情况,一种是比对手多,则可以选择赢和不赢,比较赢和不赢那个大取哪个值,若比对手少只能输,则加上输的经验,并且每一个前面的都是算好的其最大的,所以不用去加很多层的了,直接去加一个就好了,就如if esle里面的语句。:用dp,用两个一维数组将数据分别存起来,然后dp【】里面的是时间,dp的值是最大价值,比较不采的与采药的价值取最大值,其中采药时的时间要花费了所以才会减去tim【i】【暂时还没有会优化后的方法,等会了再补上,先交一下总结吧】

2024-03-01 00:40:53 999 1

原创 01背包,第十二次总结

可以这么理解:放了物品i,还剩下j - weight[i]的容量可以放其他物品,剩下空间能得到的最大值是dp[i-1][j-weight[i]],大的前提下是放物品i。这里分两步,dp[i-1][j-weight[i]]表示不放物品i的最大价值,后面还要加上放入物品i的价值value[i],总的来说就是放入物品i。注意这里的区间是0-i之间的物品,不放i,但是i-1放了,所以是dp[i-1][j],如果放了i的物品就要加上物品i的价值。放i:dp【i-1】【j-weight[i]】+value[i];

2024-02-28 00:39:47 465 3

原创 zyl第十一次总结,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,

next数组的代码实在有一些难以理解(什么流程还是知道),不过还好代码就短短几行,可以记住。这题我看了很久都不知道结论怎么来的,只好记了。

2024-02-22 23:42:44 388 1

原创 zyl第十次总结。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。

KMP算法的核心思想是利用已经匹配的部分信息来跳过不可能匹配的部分,从而减少不必要的比较次数。为了实现这一目标,KMP算法引入了“部分匹配表”的概念。在KMP算法中,当主串的某个字符与模式串的某个字符不匹配时,算法会根据PMT数组中的值跳过模式串中的一部分字符,从而继续匹配过程。这样,KMP算法能够在匹配失败时快速跳过不可能匹配的部分,大大提高了匹配效率。KMP算法是一种解决字符串匹配问题的经典算法,KMP算法的关键在于利用已经匹配的信息来避免重复匹配,从而提高匹配效率。构建部分匹配表(PMT)

2024-02-20 21:58:59 104

原创 zyl第九次总结,最小生成树

前面用prim写了第一题,感觉有点难,思路还好,就是不太会c++,里面的容器,函数不是很理解,当时生硬理解一下还是可以的。这次用kruskal写。思路:最小生成树的枝干数比结点数少一,只需将两点之间的长度排序就可以了,降序排序,取前结点-1个长度,再加判断条件相加然后输出一下就可以了。这两天学习了最小生成树。学会了 prim算法和kruskal。我觉得kruskal比较简单,因为有用到我前面所学的并查集。我觉得这题有点难,不过看了许久后还是理解了。这题没有什么好说的,模版题,跟第一题差不多。

2024-02-18 23:20:21 327

原创 zyl第八次总结

实现的算法思想:从Vo开始,总共需要 n-1 轮处理每一轮处理:循环遍历所有个结点,找到lowCast最低的,且还没加入树的顶点。再次循环遍历,更新还没加入的各个顶点的lowCast值。每次选择一条权值最小的边,条边的两头连通(原本已经连通的就不选)3.更新其他店到最小生成树的距离,重复直到所有点进入最小生成树。每次将代价最小的新顶点纳入生成树,直到所有顶点都纳入为止。1.找不在最小生成树的高最小生成树最近的点k。从某一个顶点开始构建生成树;2.将k加入最小生成树中。

2024-02-15 22:09:48 342 1

原创 zyl第七次总结

【代码】zyl第七次总结。

2024-02-06 23:23:43 413 1

原创 zyl第六次实验室预备役总结

思路:这道题目感觉跟二叉树关系不大,可知二叉树的一个节点有一个孩子的话,是可以往左边或者是往右边摆放就有两种,可得n个节点的孩子为一则有2的n次方种二叉树,由题可知每一种二叉树的中序遍历不同,则有2的n次方个中序遍历,所以只需要判断有多少个逆序(两个字母的)就行了。思路:先设结构体,给其按时间排序,直到全部通车后,输出此时的时间;思路:用并查集写,把1,2,3,4全都看做角标处理,值全都赋为1。写了一些题,感觉都是模版的题目,所以就前面个代码写了题解。思路:并查集,跟第二题一样的,直接看代码。

2024-02-04 22:43:00 413 1

原创 zyl第五次实验室预备役总结

思路(结合以下代码看):从中序字符串中找到前序字符串的首字母,那是根节点,以根节点进行左右划分,先看左边的树,左边的树同样是以上操作,直到b中的数组空了,左边已经遍历到叶子结点,return到第一个dfs的下面开始实现右边的遍历......最后也是到b为空了从第二个dfs下来,打印,注意第二个dfs开始执行时是在第一个dfs下来的长度基础上执行的。思路:由于前序遍历是根节点开始的,所以由后序遍历找根节点,再把其划分,再继续找。昨天看了树的深度,层次遍历,先序后序中序等,今天刷了几道题巩固了一下。

2024-02-01 22:59:08 886 3

原创 zyl第四次总结

二叉树是一种常见的树状数据结构,它由节点组成,每个节点最多有两个子节点,分别称为左子节点和右子节点。遍历二叉树:按照一定的顺序访问二叉树中的所有节点,常见的遍历方式有前序遍历、中序遍历和后序遍历。左子节点的值小于或等于父节点的值,右子节点的值大于父节点的值。插入节点:将新节点插入到合适的位置,保持二叉树的有序性。每个节点最多有两个子节点,分别称为左子节点和右子节点。子树也是二叉树,即每个节点都可以看作是根节点。删除节点:删除指定节点,并保持二叉树的有序性。查找节点:在二叉树中查找指定值的节点。

2024-01-30 21:50:04 374 3

原创 zyl第三次总结

注意:每次回溯状态都回到执行前,也就是列,于两对角线都为未标记,行还是原来那个位置,皇后也在原来那个位置,等到下一次循环,列就加一位直到找到一个合适的位置,如果循环结束还没有找到,则是递归到上一行。只需要输入和打印就行了,调用dfs求解,注意题目是从坐标(1.1)开始的,而不是(0.0)对于这题可以暴力求解,码这几个答案就行了,但是数据多一点还是要用bfs,代码有详细注释。回溯 递归1.递归的下面就是回溯的过程。递归返回一次是行变化一次,回溯一次是列变化。2.回溯法是一个 纯暴力的 搜索。

2024-01-28 23:03:26 386 1

原创 zyl hope实验室第二次总结

且不能重复遍历,即每个节点只能遍历一次。

2024-01-25 22:16:51 418 5

原创 zyl第一次总结

/代表每一步准备走的方向,因为是按行列看的,非坐标。=n) //n个数据,若b1等于n说明内层循环了n次,里面的条件。=n) //此条件a1都判断完了,这时b1还没有模。if(dxm||dyn) //判断边界。//更新坐标,不能用x否则是累加,是让原来的数据走,加上方向。//0表示未访问,1表示访问,1表示障碍物。//再去判断要放入的与 判断数据(b1) 已经放入的是否相等。

2024-01-23 20:50:37 392

空空如也

空空如也

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

TA关注的人

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