java
文章平均质量分 64
爱学习的陈平安
这个作者很懒,什么都没留下…
展开
-
二叉树的前序、中序、后序遍历(迭代法)
好了,我们现在学会了使用递归来实现树的遍历,代码非常简单,也比较好理解,今天让我们来点挑战,其实也不难,来学习一下如何不使用递归来完成树的遍历呢。前置知识比如 前序,中序,后序遍历的顺序我在递归法那里写了,就不重新赘述了,有需要的可以自己看下qaq。原创 2023-06-27 20:12:25 · 114 阅读 · 0 评论 -
树的前序,中序,后序遍历(递归)
比如我们这边有颗二叉树,我们如何对其进行前,中,后序遍历呢?我们要明确,所说的前,中,后的顺序是指 根节点的遍历顺序前序遍历就是先遍历根节点,再遍历左右节点,若左右子树不是叶子节点的话,就继续向下遍历所以本题先遍历根 0 ,然后是左子树1,发现1有子树,遍历4,5,然后回来遍历2,6,7.原创 2023-06-26 13:46:44 · 52 阅读 · 1 评论 -
冒泡排序(java版本,一步步分析)
冒泡排序应该是大多数人学习的第一种排序算法,算法思想简单,也比较直观。总体思想就是两个两个的比较,大的就交换到后面,当一次循环跑完,最大的元素就放在数组最后边,然后下一轮循环就前面的元素。接下来我详细分析下每一步的比较首先是比较1,7 发现1小于7,不交换,继续往后。比较7,5,发现7大于5 交换交换后继续向后,7大于4 也要交换继续向后,7大于3 ,还是要交换第一轮循环结束,我们找到了最大的元素7开始第二轮循环。1小于5,不交换。继续向后走发现5大于4 交换。原创 2023-06-26 09:56:22 · 39 阅读 · 1 评论 -
快速排序详解(java 详细讲解流程以及i,j的顺序问题)
先给总体代码,可以先看着理解,然后我会结合流程将代码进行分析。return;} //哨兵,也就是我们需要比较的值 int sentry = arr [ low ];// 这里一定要从j--开始,因为我们选取的哨兵是在最左边 while(i < j && arr [ j ] >= sentry) {j --;i ++;总体思想:就是选择数组中一个值,比如数组我们一般选择的都是数组最左边的值,当然也可以选择其他值,比如最右边,不过这就会影响到我们是先从。原创 2023-06-25 11:50:41 · 123 阅读 · 0 评论