2020年4月

绝活(套娃启动https://blog.csdn.net/qq_41593380/article/details/81146850

接下来试图用最简单的语言描述目前对并查集的理解。

前提:

  1. 并查集是一个算法,处理一组集合;
  2. 并查集可以查找两元素是否在同一集合;
  3. 并查集可以合并多个集合。(可以理解为,在要合并的多个集合中每次合并两个,最终只剩一个)

原理:

  1. 并查集中所有集合视作森林,单个集合视作树;
  2. 树最多是双层的;
  3. 通过树根节点的选举实现集合的合并。

实现:

  1. 可以使用数组简单地实现并查集:下标为元素编号(信息),存储的内容为当前元素(在树上)的父元素;
  2. 指向自己的元素为树根;
  3. 通过元素存储的父元素信息判断两个元素是否属于同一集合;
  4. 树的合并需要对某一集合的所有元素(包括树根)的父元素进行修改;
  5. 初始化并查集数据的时候就应该把所有的树结构缩减为双层的。

这几天闲着没事去Oracle官网看了看,发现Java标准已经出到14了。。
我就说学校怎么可能与时俱进地教Java8嘛

因为也没个标准的表述,导致查起来别人问的都是设置Eclipse项目的Java版本= =

参考这个 \rightarrow https://www.codejava.net/ides/eclipse/how-to-run-eclipse-under-different-version-of-jdk-or-jre

方法是修改eclipse.ini,在--launcher.appendVmargs选项后指定Java的位置。

比如添加C:\Program Files\Java\jdk-14.0.1的话,长这样:

...
--launcher.appendVmargs
-vm
C:\Program Files\Java\jdk-14.0.1\bin
...

其中-vm和下面那行地址是新加的,Eclipse会自动到目录里寻找可用的JVM。

感觉初次启动速度快了一点。错觉?

之前看到网上说把^M替换掉就好了,但是文件中一直看不到,搜索后发现vim智能地把行尾有^M的文件按照Windows格式打开了,也就是说此时^M是不被作为可见字符处理的,所以替换时一直说找不到。(:set ff可以看出来)

需要加一步这个,显示地要求按照Unix格式显示文件:

:e ++ff=unix

然后就是常规的:%s/^V^M//g操作了。