算法与数据结构
文章平均质量分 96
Hacynn
沙漠尽头必是绿洲。
展开
-
【算法与数据结构】二叉树的三种遍历代码实现(上)—— 用递归序知识点讲解
使用递归和非递归的方式实现二叉树的先序、中序、后续遍历,其中递归部分使用了递归序的知识点进行讲解,让读者更加任意理解其中的含义。原创 2023-10-09 10:30:00 · 601 阅读 · 59 评论 -
【算法与数据结构】归并排序的代码实现(详细图解)以及master公式的讲解
首先在每个子序列中都有一个指针指向子序列的第一个元素,两个指针的元素两两比较,较小的元素先放入新的子序列中,然后指针挪动继续比较,直至全部放入新的子序列当中,即完成一次子序列合并。ExternalSort的作用就是让arr中的L到M、M+1到R合并成一个新的有序序列,并将判断后的结果序列先存入到help指针指向的区域,等待完成所有合并,再将help整个区域的数据拷贝到arr对应的位置。把长度为n的输入序列分成两个长度为n/2的子序列,新的子序列再分别分成两个长度为自身一半也就是n/4的子序列,以此类推。原创 2023-10-05 10:17:37 · 1443 阅读 · 59 评论 -
【算法与数据结构】二叉树的三种遍历代码实现(下)—— 非递归方式实现(大量图解)
在上篇当中给大家介绍了二叉树的先序遍历、中序遍历以及后序遍历的递归写法。递归的系写法主要是理解递归序,只要递归序能够理解清楚,就能够很轻易地理解和书写递归实现三次遍历。任何递归函数都可以改成非递归函数,因为递归函数不是什么玄学,只是递归时系统帮忙解决了压栈问题。那么不用递归方式的话只要自己手动进行压栈依然可以完成递归能够实现的功能。那么在接下来的下篇中,我将带大家审深入学习二叉树三种遍历的非递归写法,也是二叉树遍历的代码中的。原创 2023-10-10 10:16:49 · 887 阅读 · 130 评论