代码改变世界

随笔分类 - 算法与数据结构

组合模式实现二叉树先序遍历,中序遍历和后序遍历

2018-08-21 08:26 by 蓝之风, 1805 阅读, 收藏, 编辑
摘要:二叉树的基本概念 在计算机中,二叉树是每个节点最多有两个子树的树结构。通常子树被称作“左子树”(left subtree)和“右子树”(right subtree)。 二叉树是一个连通的无环图,并且每一个顶点的度不大于3。有根二叉树还要满足根结点的度不大于2。有了根节点之后,每个顶点定义了唯一的父节点,和最多2个子节点。然而,没有足够的信息来区分左节点和右节点。 从逻辑上讲二叉树有五种形态,如上... 阅读全文

基础查找算法(顺序无序查找算法和递归二叉查找算法)

2018-08-06 21:05 by 蓝之风, 628 阅读, 收藏, 编辑
摘要:一、顺序无序查找算法 顺序查找算法很简单也很好理解,就是在一个序列中从前往后遍历集合直到查到目标值为止。通常查找最大值和最小值都是这种方法。 1、顺序查找的一般实现:public static int SqSearch(int[] source, int target) { for (int i = 0; i source.Length * 0.2) { ... 阅读全文

三个基本排序算法执行效率比较(冒泡排序,选择排序和插入排序)

2018-08-05 19:50 by 蓝之风, 6860 阅读, 收藏, 编辑
摘要:1、冒泡算法。 冒泡算法是最基础的一个排序算法,每次使用第一个值和身后相邻的值进行比较,如果是升序将大数向左边交换,降序则向右边交换。最终将大数移动到一边,最终排成一个序列: 结果: 2、选择排序 选择排序需要两层循环来实现,外层循环控制次数,内层循环控制找到最小的值。然后将内层循环找到的最小值与外 阅读全文