- 博客(3)
- 收藏
- 关注
原创 二叉树的非递归遍历
递归就是不断的调用方法,方法参数在改变,我们当然也可以让循环调用方法,并且在循环中改变方法的参数,下面的算法里这个参数就是curr或node。非递归遍历使用显式栈模拟递归过程,栈的调用是通过代码直接调用,不仅更安全,还能让我们更深入理解遍历的本质。需要注意的是,null节点有两种,一类是在程序运行时添加的,还有就是叶子节点的左右节点,它们都是符合条件的。三种遍历方式有个共同点,那就是记录过的数据要从栈中弹出,这样就保证了弹出的数据有且仅有一次记录,从而当迭代结束,即栈为空时所有元素都被记录了一次。
2025-05-21 16:16:26
369
原创 Java动态数组和链表,哪个更好用?
今天我们来聊聊Java中两种常见的数据结构:动态数组(比如ArrayList和链表(比如LinkedList)。很多初学者经常困惑该用哪个,其实它们各有千秋,适合不同的场景。让我们用最通俗的语言来分析它们的优缺点!
2025-05-07 16:12:25
248
原创 用java实现绘图软件
类和对象类大概算得上java的最大特点了吧,刚开始学的时候,只是知道类就是表示一类东。因为之前学过点c++,甚至感觉java把主函数也写在类里是件很搞笑的事,难道什么都得往类里装,什么都离不了类?学了一个月之后,我开始慢慢认为类是个很厉害的东西。最明显的一点,一般的数据类型都是基础的,像什么整型浮点型,都无法刻画抽象事物,但由类创建的对象却可以做到这一点,这就意味着我们可以更轻松,更形象地编写代码,同时增加代码的可读性。另外,类还体现了编程中的封装思想。
2025-05-07 15:25:17
726
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人