
数据结构与算法
野马16
欢迎留言,邮箱horacehe15@163.com
展开
-
AOE网与关键路径
AOE网 关键路径 求关键路径的算法实现 AOE网是以边表示活动的有向无环网,在AOE网中,具有最大路径长度的路径称为关键路径,关键路径表示完成工程的最短工期。1.AOE网 AOE网是一个带权的有向无环图。其中用顶点表示事件,弧表示活动,权值表示两个活动持续的时间。AOE网是以边表示活动的网。 AOV网描述了活动之间的优先关系,可以认为是一个定性的研究,但是有时还需要...转载 2018-08-20 10:19:51 · 4136 阅读 · 0 评论 -
一致性哈希算法(consistent hashing)
转载请说明出处:http://blog.youkuaiyun.com/cywosp/article/details/23397179 一致性哈希算法在1997年由麻省理工学院提出的一种分布式哈希(DHT)实现算法,设计目标是为了解决因特网中的热点(Hot spot)问题,初衷和CARP十分类似。一致性哈希修正了CARP使用的简 单哈希算法带来的问题,使得分布式哈希(DHT)可以在P2P环境中真正得到...转载 2018-08-23 08:38:25 · 171 阅读 · 0 评论 -
理解希尔排序的排序过程2
1,有关插入排序(1)插入排序的基本方法是:每步将一个待排序的元素,按其排序码大小插入到前面已经排好序的一组元素的适当位置上去,直到元素全部插入为止。(2)可以选择不同的方法在已经排好序的有序数据表中寻找插入位置,依据查找方法的不同,有多种插入排序方法。下面是常用的三种。1>直接插入排序2>折半插入排序3>希尔排序(3)直接插入排序基本思想:当插入第i(i...转载 2018-07-26 09:55:20 · 2003 阅读 · 0 评论 -
希尔排序详解
目录要点 算法分析 希尔排序的算法性能 时间复杂度 算法稳定性 直接插入排序和希尔排序的比较 完整参考代码 JAVA版本 参考资料 相关阅读要点希尔(Shell)排序又称为缩小增量排序,它是一种插入排序。它是直接插入排序算法的一种威力加强版。该方法因DL.Shell于1959年提出而得名。希尔排序的基本思想是:把...转载 2018-07-25 15:19:11 · 2906 阅读 · 0 评论 -
堆排序的核心思想与Java实战
实战代码,可以直接将其粘贴到开发环境中运行import java.util.Arrays;public class MyHeapSort { /** * 堆排序<br/> * 不稳定排序,时间复杂度O(nlogn) * @param a * @return */ public static void he...原创 2018-07-24 21:02:13 · 556 阅读 · 0 评论 -
图解排序算法之堆排序
预备知识堆排序 堆排序是利用堆这种数据结构而设计的一种排序算法,堆排序是一种选择排序,它的最坏,最好,平均时间复杂度均为O(nlogn),它也是不稳定排序。首先简单了解下堆结构。堆 堆是具有以下性质的完全二叉树:每个结点的值都大于或等于其左右孩子结点的值,称为大顶堆;或者每个结点的值都小于或等于其左右孩子结点的值,称为小顶堆。如下图:同时,我们对堆中的结点按层进行编号,...转载 2018-07-23 21:14:33 · 153 阅读 · 0 评论 -
java实现各种排序算法及比较
常见排序算法包括以下七种:选择排序、冒泡排序、插入排序、快速排序、希尔排序、堆排序、归并排序。在学习具体算法实现并进行比较前,先来学习算法比较的几个维度。各排序算法比较如下图一是稳定性所谓稳定性,是指值相等的两个元素在排序前后是否会发生位置的交换。如果不会发生交换,则认为是稳定的算法;反之,则认为是不稳定的排序算法。二是时间复杂度,指执行算法所需的时间长短。简单说就是算法...转载 2018-07-13 20:54:28 · 1177 阅读 · 0 评论 -
B树的概念
B树也是一种平衡的多路查找树,2-3树和2-3-4树都是B树的特例,我们把树中结点最大的孩子数目称为B树的阶。通常记为m。一棵m阶B树或为空树,或为满足如下特性的m叉树:1)树中每个结点至多有m棵子树。(即至多含有m-1个关键字) ("两棵子树指针夹着一个关键字")2)若根结点不是终端结点,则至少有两棵子树。(至少一个关键字)3)除根结点外的所有非叶结点至少有 ⌈m/2⌉棵子树。(...原创 2019-03-25 09:02:19 · 792 阅读 · 0 评论 -
B树的删除
原创 2019-03-25 09:05:45 · 529 阅读 · 0 评论