- 博客(10)
- 收藏
- 关注
原创 数据结构——线索二叉树
以下代码是相对来说比较容易理解的一个版本,均被本人一一调试合理修改过,如有问题,欢迎评论区互相交流学习进步~~💜💜💜💜💜💜💜💜💜💜💜💜💜💜💜💜💜💜💜💜💜💜💜💜💜💜💜💜💜💜💜💜💜💜💜💜💜。
2025-03-13 11:40:58
744
原创 我的一些小笔记1
类型传递内容方法内修改影响外部?基本数据类型值的副本(如5不影响(修改的是副本)对象引用引用的副本(内存地址)修改对象属性会影响,修改引用指向不影响通过理解这一机制,可以避免在链表、树等数据结构操作中因引用修改不当导致的逻辑错误。// 添加空字符串 list . add("");// 输出: [ ] } }// 添加空字符串 list . add("");// 输出: [ ] } }ArrayList;// 添加空字符串 list . add("");
2025-03-12 20:45:53
826
原创 JAVA——异常
Throwable在JAVA类库中,不需要import语句就可以使用用户提供的可能是一个错误的文件名程序中逻辑的错误,通常只需修正程序中的错误:发生了不正确的情况,比如运行时内存不足。运行时异常 和 错误 称为。
2025-02-01 18:43:59
395
原创 刷题2笔记--罗马数字转整数的神奇解法
罗马数字包含以下七种字符: I, V, X, L,C,D 和 M。字符 数值例如, 罗马数字 2 写做 II ,即为两个并列的 1。12 写做 XII ,即为 X + II。27 写做 XXVII, 即为 XX + V + II。通常情况下,罗马数字中小的数字在大的数字的右边。但也存在特例,例如 4 不写做 IIII,而是 IV。数字 1 在数字 5 的左边,所表示的数等于大数 5 减小数 1 得到的数值 4。同样地,数字 9 表示为 IX。
2024-12-26 14:32:13
383
原创 【无标题】
实际上每次的合并都需要对整个数组进行一次遍历(这也是为什么归并排序稳定的原因),因此是。可以把他想象成一颗二叉树,分解的次数实际上就是二叉树的高度,即。不能像时间复杂度那样累加计算。因为每一次调用函数都会定义一个。所以我们只用考虑temp数组,
2024-12-25 20:22:38
284
原创 【无标题】
Arrays.sort()法在Java中使用的是一种优化的快速排序算法,称为"双轴快速排序"(Dual-Pivot Quicksort)。如果一个数列中,任意相邻两项的差总等于同一个常数,那么这个数列就称为 等差数列。如果可以重新排列数组形成等差数列,请返回 true;否则,返回 false。而图中算法的时间复杂度仅仅为O(n+n),也就是O(n),效率有了很大的提升。循环的嵌套的时间复杂度一般来说还会远大于分布进行循环的时间复杂度。题目:给你一个数字数组 arr。
2024-12-25 13:26:42
147
原创 一些容易忘记的小tips2024/12/21
此时,非重复的元素之间都异或一次后得到的结果为0,重复值异或了2次又得到了数据本身,所以就找出了重复值。异或运算满足交换律和结合律,即a ^ b ^ a = b ^ a ^ a = b ^ (a ^ a) = b ^ 0 = b。异或算法正是结合了a ^ 0 = a,a ^ a = 0的特点以及异或运算满足交换律特点。左侧a,b为赋值,a1和b1为最初的a和b的值。
2024-12-21 22:10:13
535
原创 算法--KMP理解
字符串的逻辑结构与线性表很类似,不同之处是字符串中的元素都是字符。对于字符串这一数据结构,寻找字符串中子串的位置是最重要的操作之一,
2024-12-21 22:06:10
627
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅