- 博客(10)
- 收藏
- 关注
原创 算法通关村---------树的回复
3 【4 8 6 7 5】 确定中间节点 【 8 7 6 5 4 】3。2 【3 4 5 6 8 7】 确定中节点 【 3 4 8 6 7 5 】2。【3 4 8 6 7 5】 2 确定中间节点 【8 7 6 5 4 3 】2。4 【8 6 7 5】 确定中间节点 【 8 7 6 5】 4。3【 4 5 6 8 7 】 确定中节点 3【4 8 6 7 5】4 【5 6 8 7 】 确定中节点 4【 8 6 7 5】【8 6 7】 5 确定中间节点 【 8 7 6】 5。
2023-08-14 14:08:49
167
原创 算法通关村——Hash 链表实现队列
这种处理方法的问题处理起来代价还是比较高的,CurrentHashMap就是中就使用了这种方式(保证了线程安全的前提下,效率又得到了保证),其中涉及到了元素尽量均匀,访问和操作速度要快,线程安全和扩容等问题。学会了一种新的方式来实现链表的创建,通过创建内部类的方式,其中利用了泛型的相关知识,通过创建链表的不同构造方法可以得到不同的实现方式,好像学到的更多了,逻辑能力不知道段没锻炼出来,但是调试打断点的能力倒是有所展现,每一步都是较为基础的,但一遍写出来还是挺难的。存储1到6的时候是这样的。
2023-08-12 10:44:17
242
1
原创 算法通关村——括号匹配问题
每一次与栈顶的比较都是如上示例一样的效果,对应就√,不对应就×。这里也可以通过switch来进行匹配,可能效果更好。
2023-08-12 10:34:56
187
1
原创 算法通关村——如何基于数组,链表实现栈的方法
先用接口定义了几个方法,再去实现的,这里使用建立的链表是通过了内部类,构造方法也有些不同,这一种也是能够得出结果的,方法的实现并不复杂。这一种构造方法插入节点的时候后一节点没有单独去写一行。栈后进先出的特点(上子弹)数组尾部添加,尾部删除(头部的的话效率很低)链表是插入头,删除头的特点。用数组来实现栈,以下代码实现方法。push(E):增加一个元素。peek:显示栈顶元素。pop:弹出一个元素。
2023-08-12 10:27:23
213
1
原创 算法通关村 数组双指针的妙用
代码的解题思路都在注释里(实在不理解不出来debug一下就懂了)。能够在idea中正常运行出来,如需完整代码,请看上一篇。删除你想要删除的元素,并返回数组长度。用双指针解决数组问题。删除你想要删除的值。
2023-08-03 15:35:17
301
原创 算法童贯村数组的增删查,合并有序列表
但是删除的时候后边的数据赋值予前一个单位,最后一个单位还是存在的,复制该代码能够在idea中正常运行!数组的增删查,有序列表,看起来较为简单,但都需要思考。插入的时候也有些不一样,是从后面开始往前赋值的。
2023-08-03 15:29:48
388
原创 算法通过村指定区间链表反转(插头法),两两交换链表中的节点
解决:先找到要反转节点的前一个节点prve,和要反转节点的位置cur,然后把cur后面的节点保存起来,然后删除该节点,然后用保存的节点进行插入prve和cur中间(此时cur还是指着2的)。然后重复right-left得到循环的次数,循环保存节点,删除节点,插入节点。借图,来进行理解,可以算是双指针问题,prve指针在7的位置不动,cur指针在2的位置上(一直是指着2的)。本章节的内容都是在idea中能够正常运行出来的。两两交换链表中的节点。
2023-08-01 14:18:16
441
1
原创 算法通关村-学会链表吧!!
存储下一个节点,然后让当前节点的指向新链表,改变新链表头的位置,然后回到提前储存的节点,循环此过程。就是新建一个链表,然后设置呀节点,每次都把旧链表的一个节点,插入到新链表当中(呀节点和下一个节点的中间)。就是设置一个空链表,把旧链表的节点一个一个的指向新链表的过程。
2023-07-29 16:50:09
572
原创 算法的合并链表,双指针删除链表
在一些问题上本人并没有去运行(返回的是Node类型的),不过与返回值类型无关,无论是方法的调用和传递参数都是可以的(本类的话,非本类的话就static)。当然也有其他的问题像寻找公共子节点和回文序列的问题,都有涉及栈(以及其他的问题)的知识,就不在此发表了。
2023-07-28 15:16:42
639
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人