随笔分类 - Algorithm
摘要:如果遇到相等的值则不进行交换(这种排序方式是稳定的排序方式)。 1、原理:比较相邻的两个元素,将值大的元素交换到右边。 2、思路:依次比较相邻的两个数,将比较小的数放在前面,比较大的数放在后面。完成一趟比较后,最后一个数一定是数组中最大的。所以下一趟排序中最后一个元素不参加比较。依次类推,每一趟比较
阅读全文
摘要:一、介绍 选择排序(Selection sort)是一种简单直观的排序算法。其基本思想是:首先在未排序的数列中查找到最小或最大元素,然后将其存放到数列到起始位置;接着,再从剩余未排序的元素中继续寻找最小或最大的元素,放到以排序序列的末尾。依此类推,直到所有元素排序完毕。 二、图解 以数列{20,40
阅读全文
摘要:一、直接插入排序 基本思想:每一步将一个待排序的数据插入到当前已经排好序的有序序列中,直到插完所有元素为止。 算法实现:直接插入排序是将无序序列中的数据插入到有序的序列中,在遍历无序序列时,首先拿无序序列中的首元素与有序序列中的每一个元素比较并插入到合适的位置,一直到无序序列中的所有元素插完为止。对
阅读全文
摘要:一、步骤(从小到大排序) 1、在数组中选一个基准数(通常为数组第一个)。 2、将所有比基准值小的值摆放在基准的前面,所有比基准值大的摆放在基准的后面(相同的数可以放到任意一边);在这个分区推出之后,该基准就处于数列的中间位置。 3、递归地把“基准值前面的子数列”和“基准值后面的子数列”进行排序。 下
阅读全文
摘要:一、部分概念 满二叉树:深度为k,且含有(2^k)-1个节点的二叉树。 完全二叉树:深度为k,又n个结点,当且仅当其每一个结点都与深度为k的满二叉树中编号从1至n的节点一一对应时,称为完全二叉树。 堆的结构可以分为大根堆和小根堆,是一个完全二叉树。 每个节点的值都大于其左孩子和又孩子节点的值,称之为
阅读全文
摘要:1、定义 二叉搜索树(Binary Search Tree),(又:二叉查询树,二叉排序树)它或者是一棵空树,或者是具有下列性质的二叉树: 若它的左子树不空,则左子树上所有结点的值均小于它的根结点的值; 若它的右子树不空,则右子树上所有结点的值均大于它的根结点的值; 它的左、右子树也分别为二叉排序树
阅读全文
摘要:1、简介 R-B Tree,全称Red-Black Tree,又称为“红黑树”,为一种自平衡二叉查找树(特殊的平衡二叉树,都是在插入和删除操作时通过特定操作保持二叉树的平衡,从而获得较高的查找性能)。红黑树的每个节点上都有表示存储位的颜色,可以是红色(Red)或黑色(Black)。 红黑树特性: (
阅读全文