- 博客(18)
- 资源 (1)
- 收藏
- 关注
原创 java Socket通信(模拟客户端和服务器双向通信)
最近学习了Socket通信,服务器和客户端之间的通信,这里我做成窗体的效果来看比较清晰。首先,要考虑两个问题可以做到连发和并发,也就是我单一客户端和服务器可同时发送和接受消息,并且可以多次发送一旦服务器或客户端断开,那么就需要进行多次连接,这也就是鲁棒性。与不同主机之间的通信只需要更换ip即可,本篇是本机双工作空间运行的,注意一下哈。具体代码已上传资源,为了拿那个勋章所以只能上传一次...
2020-05-04 00:44:55
758
原创 C++学习第九篇——AC自动机
AC自动机,听名字就让人心情愉悦,这个算法能让题目直接自己AC啊!!!言归正传,在上一篇字典树的学习中,我们见识到了树形结构的优势,那么AC自动机就是在字典树上利用KMP的思想,KMP是字符串匹配算法。主要思想是当前匹配点失败后,立刻转移到下一个需要匹配的地方,在这之间省略一些没有必要的检索,有利于降低时间复杂度。字典树的模板参照我之前一篇博客C++学习第八篇——字典树,本专栏c++固定算法为...
2020-04-22 11:07:14
928
原创 C++学习第八篇——字典树
学习了之前的树状结构,接下来就可以利用树状结构存储数据了。 首先什么是字典树? 字典树就是利用树的结构按照字典的原理进行存储的数据结构,树的结构我们...
2020-04-20 23:22:46
533
原创 优美的数列(斐波那契数列)
斐波那契数列是一个十分玄妙的数列,为什么说它是优美的呢?原因在于我们可以利用斐波那契数列画出拥有最美比例的黄金比例长方形,对于该数列的本质是利用动态规划的思想来得到的。数列大致为1,1,2,3,5,8,13,21,34…由此我们可以通过通项公式fib[n]=fib[n-1]+fib[n-2] (n>=2)这里要注意数组fib数列的递增是接近指数级的,所以要注意数组的存储类型。long...
2020-04-13 10:54:15
1161
原创 C++学习第七篇——树(二叉树)
树结构作为一种数据结构,在算法中有着十分重要的作用。所以本篇的篇幅可能会很长,理论知识很多。树结构是一种数据结构它由结点(node)以及连接结点的边(edge)组成。根是一个树的特殊结点,因为根是唯一一个没有父结点的结点,叶子结点是指没有子节点的结点。如图所示,0结点是整个树的根结点,这里有一个对于树的概念就是,我们通常会将结点的子节点数称为度,从上图来看0,2两个点的度即为3,结点1,3...
2020-04-12 13:18:47
415
原创 C++学习第六篇——最短路
最短路是图论最重要的算法之一,也是算法难点。经过这篇的学习,你会发现你离成功就差一个最短路的距离。=.=最短路是指,某个点到某个点之间的距离最短。算法1:Dijkstra算法迪杰斯特拉算法是很典型的单源最短路算法,而且时间复杂度较其他算法更低,唯一的缺点是无法判断含负权边的图的最短路。而且其仅能作为单源最短路,也就是一个起点、一个终点求最短。在开始前推荐大家先去看我的另一篇博客最小生成树其中...
2020-04-07 14:21:11
1583
原创 约瑟夫环问题模板
约瑟夫环是一个很经典的问题,由此演变出的问题有很多,也十分有趣。报数问题,报到数字1的人出局,接着循环下去,报到数字2的人出局(出局过后又是从1开始报),且当只有1人时,此人获胜。例如,1个人则赢家为1号;2个人,1号在第一回合报1出局,2号获胜;3个人时,1号在第一回合报1出局,2号在第二回合报1不出局,3号在第二回合报2出局,2号获胜。成环说明每次报到最后一位时再从开头开始报。给出约瑟夫环核...
2020-04-06 21:02:11
265
原创 C++学习第五篇——快速幂模板和组合数模板
快速幂模板,仅供参考ll pow_mod(ll a,ll b,ll c)//a^b%c{ ll ans=1; ll base=a%c; while(b) { if(b&1) ans=(ans*base)%c; base=(base*base)%c; b>>=1; } return ans;}很多人可能会对b&1和b>>...
2020-04-06 00:29:09
402
原创 n皇后问题模板
int n,sum;bool dps(int a,int b,int c,int d)//a是列位置,b是右斜线的位置,c是左斜线的位置,d是行位置{ if(d>=n) { sum++; return true; } int j; for(j=0;j<n;j++) if((a&(1<...
2020-04-03 14:48:01
183
原创 C++学习第四篇——最小生成树
最小生成树作为图论的重要算法之一,难度不言而喻,那么只要把握这几种算法,就很容易完成啦。但要区分于单源最短路和多源最短路,最小生成树是没有初始结点的,也就是它只求连通图,可以从任意点开始连。算法1:KruskalKruskal算法本质类似于并查集,将所有点连通至一个集合完成整个图的连接,这里很重要的一点就是并查集的压缩路径,没有压缩过的时间复杂度会变得很高。并查集的压缩路径可以看一下我的另一篇...
2020-04-01 16:29:37
658
原创 DES加密算法-java实现(无jar包)
DES加密算法(对称)首先来讲,DES加密算法大多数是使用C语言编写的,java有本身的jar包可以调用,本文是利用java模拟C语言函数过程实现的,通俗易懂,仅适宜初学者学习。建议初学者自己模拟编写一遍。作为一种加密算法。DES加密算法具有很高的安全性,所谓对称就是,加密和解密所使用的的密钥是相同的。入口的参数有三个:data加密解密的数据,key,加密解密使用的密钥,mode(工作模式)。...
2020-03-24 12:18:35
1107
原创 Axure8.0.0.3382win版license
开始学界面设计用到了这个软件,AXURE8.0 Windows版的,license亲测可用,可能以后用的到记录一下。License: zdfansKey: fZw2VoYzXakllUuLVdTH13QYWnjD6NZrxgubQkaRyxD5+HNMqdr+WZKkaa6IoE5N...
2020-02-08 16:23:44
662
原创 C++学习第三篇——数据结构
什么是数据结构?数据结构是一种在程序中系统化管理数据集合的形式,是为了优化计算机对数据的处理,另外在构建某些数据结构时需要用到指针和结构体(类)的知识。栈(stack)栈是一种存储临时数据的数据结构,它遵循的规则是(First In Last Out)先进后出。stack的成员函数实例(常用)函数名作用size()返回栈的元素数top()返回栈顶的元素...
2020-02-06 23:10:44
157
原创 C++学习第二篇——并查集
并查集模板:(仅供参考模板没有过于详细的讲解)第一步,初始化数组,将数组的值赋值为下标。int arr[1005];void init(){ for(int i=0;i<1005;i++) { arr[i]=i; }}第二步,并查集的主要两个函数Union和find。find函数是通过递归进行调用,找到当前点的老大,也就是集合的顶点,这个点会是这个集合中任意的一个数...
2020-02-04 16:31:47
355
原创 Hadoop-2.7.6集群搭建(最清晰易懂)
hadoop集群结构核心:HDFS+MapReduce集群搭建步骤准备三台虚拟机,这里使用的是ubuntu16.04将虚拟机的网络进行桥接配置,使他们之间能够互相访问为虚拟机安装好jdk更改虚拟机的主机名以及配置网址域名和它的IP地址的映射关系配置ssh免密登录安装hadoop并配置相应文件初始化HDFS批量启动,并在浏览器中查看结点情况过程1....
2019-12-15 09:19:56
672
原创 FlashFXP连接虚拟机ubuntu 16.04
通过FlashFXP访问虚拟机ubuntu 16.04这是我写的第一篇学习博客,新手上路,有错误的地方还望大家指出。=_=在ubuntu 16.04上搭建ftp服务器首先,ftp是什么?文件传输协议(File Transfer Protocol,FTP)是用于在网络上进行文件传输的一套标准协议。通过ftp,我们可以实现一台主机的用户与另一主机相互通信,实现用户往返传输文件、目录管理等等,即使...
2019-10-09 09:42:37
872
java Socket模拟客户端和服务器通信(含Swing)
2020-05-04
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人