算法
文章平均质量分 92
iwgd1
这个作者很懒,什么都没留下…
展开
-
实现简易LinkedList
Java 中的 LinkedList 相对于 ArrayList 使用的频率比较小,它实现了java.util.List 接口, 虽然它与ArrayList都实现了该接口但是内部实现差异非常大,LinkedList内部是用链表实现的,这就决定了LinkedList的随机访问操作非常低效,时间复杂度为O(n);单次插入效率为O(1), 但是每插入一次都要伴随着一次查找,所以单次插入效率同样低下,但是如果用ListIterator连续做插入操作则效率很高。在头部和尾部做访问和插入操作效率都很高,基于这个原因可原创 2020-11-15 22:54:28 · 141 阅读 · 1 评论 -
实现简易ArrayList
Java 中的 ArrayList 可以说是使用频率最高的容器类实现,它实现了java.util.List 接口,实现这个接口的还有一个相对来说使用比较少的LinkedList, 虽然接口相同但是内部的实现还是有很大差异的,具体来说ArrayList正如它的名称所示内部是用数组来实现的,这就决定了ArrayList的随机访问操作非常高效,时间复杂度为O(1), 但是也因为这个原因其随机插入效率很差为O(n), 在末尾插入元素则是例外。具体实现简单来说就是初始化一个数组,随着元素的插入和容量不够或即将不够使进原创 2020-11-15 22:21:33 · 150 阅读 · 0 评论 -
寻路算法--迷宫寻路
该篇文章接上篇并查集应用——生成随机迷宫, 此时已经可以生成一个任意大小的生成的迷宫 但是看起来还缺点什么,对,就是路径,没有路径怎么证明这真的是个迷宫,因此现学现用把路径加上。首先寻路算法属于图论算法,要想寻路先得有图,什么是图,这个就不细讲了,很多专门讲这个的文章,简单的说图就是一些点再加上连接这些点的边就构成了图,只要把迷宫抽象成图就能应用图论算法了。 .原创 2020-08-18 12:15:13 · 3433 阅读 · 2 评论 -
并查集应用——生成随机迷宫
在读《数据结构与算法分析Java语言描述一书中》,在并查集章节的最后,作者给出了一个并查集的应用:生成随机迷宫此处作者给了思路,但是没有给出任何代码,所以自己实现了出来,先上最终效果图:页面是用的thymeleaf,用表格实现,方块区域与墙壁都是一个单元格,后端准备好样式直接在页面显示。首先先造一个没有路的迷宫:相关代码:public class Item {//元素所在索引private Integer index;//元素宽度pri原创 2020-07-29 12:39:34 · 1104 阅读 · 0 评论