- 博客(64)
- 收藏
- 关注
原创 java学习——二叉树
满二叉树:如果一棵二叉树只有度为0的结点和度为2的结点,并且度为0的结点在同一层上,则这棵二叉树为满二叉树。完全二叉树:在完全二叉树中,除了最底层节点可能没填满外,其余每层节点数都达到最大值,并且最下面一层的节点都集中在该层最左边的若干位置。若最底层为第 h 层(h从1开始),则该层包含 1~ 2^(h-1) 个节点。二叉搜索树是一个有序树。
2023-08-21 20:35:00 106
原创 Floyd 判圈算法(龟兔赛跑算法)
假想「乌龟」和「兔子」在链表上移动,「兔子」跑得快,「乌龟」跑得慢。当「乌龟」和「兔子」从链表上的同一个节点开始移动时,如果该链表中没有环,那么「兔子」将一直处于「乌龟」的前方;如果该链表中有环,那么「兔子」会先于「乌龟」进入环,并且一直在环内移动。等到「乌龟」进入环时,由于「兔子」的速度快,它一定会在某个时刻与乌龟相遇,即套了「乌龟」若干圈。初始时,慢指针在位置 head,而快指针在位置 head.next。这样一来,如果在移动的过程中,快指针反过来追上慢指针,就说明该链表为环形链表。
2023-08-15 15:04:25 211
原创 小白学java
2.加载完类之后,在堆中就产生了一个Class类型的对象(一个类只有一个Class对象),这个对象包含了类的完整结构信息。3.参数值为true表示反射的对象在使用时取消访问检查,提高反射的效率。3.java.lang.reflect.Field:代表类的成员变量, Field对象表示某个类的成员变量。2.java.lang.reflect.Method:代表类的方法, Method对象表示某个类的方法。1.java.lang.Class:代表一个类,Class对象表示某个类加载后在堆中的对象。
2023-08-14 19:09:35 144
原创 KMP解法
2.跳转到下一匹配位置后,尝试匹配,发现两个指针的字符对不上,并且此时匹配串指针前面不存在相同的「前缀」和「后缀」,这时候只能回到匹配串的起始位置重新开始。1.首先匹配串会检查之前已经匹配成功的部分中里是否存在相同的「前缀」和「后缀」。如果存在,则跳转到「前缀」的下一个位置继续往下匹配。对于常用逻辑来说,一旦匹配失败,将会将原串指针调整至下一个「发起点」,匹配串的指针调整至起始位置,然后重新尝试匹配。2. 尝试匹配,发现对不上,原串的指针会一直往后移动,直到能够与匹配串对上位置。
2023-08-10 23:14:26 112
原创 mergeTwoLists的用法
其基本思想是让两个链表的头结点逐一比较大小,然后将较小的结点加入到一个新的链表中,直到其中一个链表为空。最后,将剩下的链表按照大小顺序继续加入到新链表的末尾,最终得到一个合并后的链表。每次比较完两个链表的头结点大小后,选择较小的那个,然后将该结点的next指向下一次递归的结果。需要注意的是,如果两个链表中有一个为空,那么不需要进行比较,直接将另一个链表全部插入到新链表未尾即可。在使用mergetwolists()函数时,需要传入两个已排序的链表作为参数,并且该函数返回值为一个新的合并后的链表。
2023-08-09 18:28:50 1309
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人