算法
文章平均质量分 58
ONLY&YOU
计算机前后台开发
展开
-
双数组树过程理解(Double-arrayTrie)
目录简介双数组的定义双数组树的构建理解参考资料 简介 双数组字典树由日本人Jun-Ichi Aoe在1989年提出,它由base和check两个数组组成,状态转移的复杂度为常数。这两个数组里面存在的内容为链接数组的下标,但是为了节约空间,在数据定义以及存储上各有千秋,除非看最原始的实现方式,否则各个博客中或者教程中的版本各有那么一点的不同,而本节就是其中的一种方式。 双数组的定义 原始的双数组定义...原创 2020-04-26 11:45:49 · 1157 阅读 · 0 评论 -
java 快速排序算法
简介 快速排序(quick-sort)算法采用的是分治法策略。首先从要排序的数组中找一个基准,然后将数组中的值分别与基准对比,将大于基准的数值放入基准的一侧,小于基准的数值放入另一侧,因此,数组将会被基准分为两部分。然后再分别对两部分内容选择基准,进行循环迭代,依次达到排序的效果。 通常排序中,在首次循环时,使用数组中的第一个数作为基准,对数组分为两部分,分类之后,基准将处于分界线的位置(...原创 2018-11-24 16:38:21 · 156 阅读 · 0 评论 -
java实现二叉树前序、中序、后续遍历
1、简介 二叉树遍历即将二叉树中所有的节点遍历一遍,根据节点遍历的顺序的不同,分为前序遍历,中序遍历。下面这个图为要遍历的二叉树(图来自参考文献2)。 2、 代码流程 每种遍历方式中,包含两种,递归方法和非递归方法。 遍历的主要流程: 2.1 前序遍历 前序遍历思路: 访问根节点 前序遍历左子树 前序遍历右子树 /** * 前序遍历,递归...原创 2018-11-27 20:05:28 · 767 阅读 · 0 评论 -
java 实现二叉搜索树查找
简介 二叉搜索树的查找主要包含查找指定元素的节点,最大值与最小值,和指定节点的前驱节点或者后驱节点。 具体流程 二叉搜索树查找节点 /** * 二叉搜索树,查找节点,递归方法. * * @param root 根节点 * @param key 查找的key * @return */ private Node...原创 2018-11-28 15:01:32 · 340 阅读 · 0 评论