算法
elaine_liu_
女程序猿一枚,爱学习爱编程~~
展开
-
【算法】常用排序算法Java实现(持续更新)
1、快排思想:设置一个枢轴位置(一般以数组的第0位为枢轴位置),使用一头一尾两个指针从数组的最左端和最右端开始遍历,保证左指针指向的数值比枢轴数值小,右指针指向的数值比枢轴数值大,如果不满足上述条件,则将左右指针指向的数值互换。一次遍历结束后(即左右指针重合),递归遍历重合位置的左子数组和右子数组,直至子数组中只有一个数值即结束。快排采用分治思想,将一个数组分为n段分别进行排序,每段各自有序后,最...原创 2018-06-08 11:12:24 · 126 阅读 · 0 评论 -
【剑指Offer-Java实现】对递归的一点深入理解——面试题25:二叉树中和为某一值的路径
题目输入一颗二叉树和一个整数,打印出二叉树中结点值的和为输入整数的所有路径。路径定义为从树的根结点开始往下一直到叶结点所经过的结点形成一条路径。思路使用先序遍历(最先访问到根节点的值),递归每个树节点的左右子树,如果该节点为叶子节点且和为给定的值,则将该路径加入目标集;否则回退当前路径到上一状态,继续访问左右子树。代码public class Solution { private Arra...原创 2018-06-10 17:26:04 · 355 阅读 · 0 评论