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

摘要:这是三种线性时间复杂度的排序算法,它们是用运算而不是比较来确定排序顺序的 一、基数排序 1.简介 它一种与其他排序算法完全不同的排序方法,其他的排序算法都是通过关键字之间的比较和移动来完成的,而它是采用一种多关键字的思想。 多关键字的思想:给定一组数据,我可以先按个位的大小对所有数进行排序,然后再按 阅读全文
posted @ 2018-07-16 09:20 飞末
摘要:1.简介 堆排序是利用堆这种数据结构而设计的一种排序算法,堆排序是一种选择排序,它的最坏,最好,平均时间复杂度均为O(nlogn),它也是不稳定排序, 二叉堆满足二个特性: 1.父结点的键值总是大于或等于(小于或等于)任何一个子节点的键值。 2.每个结点的左子树和右子树都是一个二叉堆(都是最大堆或最 阅读全文
posted @ 2018-07-12 16:29 飞末
摘要:一、归并排序 归并排序(MERGE-SORT)是利用归并的思想实现的排序方法,该算法采用经典的分治(divide-and-conquer)策略(分治法将问题分(divide)成一些小的问题然后递归求解,而治(conquer)的阶段则将分的阶段得到的各答案"修补"在一起,即分而治之) 可以看到这种结构 阅读全文
posted @ 2018-07-12 15:41 飞末
摘要:1.基本思想 对于未排序数据,在已排序序列中从后向前扫描,找到相应位置并插入,通常以第一个元素为已排序序列。在从后向前扫描过程中,需要反复把已排序元素逐步向后挪位,为最新元素提供插入空间 2.应用场景 插入排序不适合对于数据量比较大的排序应用。但是,如果需要排序的数据量很小,例如,量级小于千,那么插 阅读全文
posted @ 2018-07-11 17:02 飞末
摘要:算法思想 决策树(decision tree)是一个树结构(可以是二叉树或非二叉树)。 其每个非叶节点表示一个特征属性上的测试,每个分支代表这个特征属性在某个值域上的输出,而每个叶节点存放一个类别。 使用决策树进行决策的过程就是从根节点开始,测试待分类项中相应的特征属性,并按照其值选择输出分支,直到 阅读全文
posted @ 2018-07-09 16:38 飞末