算法
文章平均质量分 76
昨夜星辰恰似你
现在刚刚大一啦
展开
-
二叉搜索树(BST)的查找(分为递归和迭代),创建,插入,删除
1.二叉搜索树的概念 二叉搜索树又称二叉排序树,它有如下性质: 1.若左子树不为空,左子树上的所有节点的key值都小于根节点。 2.若右子树不为空,右子树上的所有节点的key值都大于根节点。 3.中序遍历可以得到有序序列。 4.不存在key值相同的节点。2.二叉搜索...原创 2018-02-26 14:53:45 · 619 阅读 · 0 评论 -
二叉树的递归,迭代(非递归遍历)
package search;/** * Created by 灵魂都在冒香气的神 on 2018/2/24. */public class TreeNode{ public int data; public TreeNode left; public TreeNode right; public Boolean isFirst; //为非递归后序遍...原创 2018-02-26 22:19:06 · 163 阅读 · 0 评论 -
希尔排序
参考文章:https://www.cnblogs.com/chengxiao/p/6104371.html上面这篇文章写的相当棒! 《算法》中有描述:希尔排序是目前唯一无法准确描述其性能特征的排序算法,也是第一批突破O(n^2)的排序算法,希尔排序基于插入排序,基本思想是对数据进行分组,再进行宏观上的“模糊”调整,最后再“仔细”的微调,完成排序。这张图就是上面文章中出现的,非常生动:以jav...原创 2018-02-27 15:26:11 · 270 阅读 · 0 评论 -
初级排序之冒泡排序,插入排序,选择排序比较
最近读《算法》,这本书把插入排序,选择排序两种排序方法的优缺点,适用场合,效率分析的非常透彻,文章标题的冒泡算法是我自己加进去的,下面我们会以java代码来比较三种算法。1.选择排序选择排序的基本思想是从数组中找出最大/最小的那个元素,把它和数组第一的元素交换,然后在下一轮中找出剩余数组中最大/最小的元素,把它和数组第二个元素交换,依次类推。package sort;import java.u...原创 2018-02-24 18:48:16 · 376 阅读 · 0 评论