附有本人超级详细解释(看不懂的面壁十天!) 一、 实际问题: 希尔排序(Shell Sort)是插入排序的一种。因D.L.Shell于1959年提出而得名。它又称“缩小增量分类法”,在时间效率上比插入、比较、冒泡等排序算法有了较大改进。能对无序序列按一定规律进行排序。 二、数学模型: 先取一个小于n的整数d1作为第一个增量,把文件的全部记录分成d1个组。所有距离为dl的倍数的记录放在同一个组中。先在各组内进行直接插人排序;然后,取第二个增量d2<d1重复上述的分组和排序,直至所取的增量dt=1(dt<dt-l<…<d2<d1),即所有记录放在同一组中进行直接插入排序为止。该方法实质上是一种分组插入方法。 三、算法设计: 1、将相隔某个增量dlta[k]的元素构成一个子序列。在排序过程中,逐次减小这个增量,最后当h减到1时,进行一次插入排序,排序就完成。增量序列一般采用:dlta[k]=2t-k+1-1,其中t为排序趟数,1≤k≤t≤[log2 (n+1)],其中n为待排序序列的长度。按增量序列dlta[0..t-1]。 2、按增量dlta[k](1≤k≤t≤[log2 (n+1)])进行一趟希尔插入排序。 3、在主函数中控制程序执行流程。 4、时间复杂度:1≤k≤t≤[log2 (n+1)]时为O(n3/2)。
上传时间: 2013-12-11
上传用户:天涯
一、RSA基本原理 对明文分组M和密文分组C,加密与解密过程如下: C = POW (M , e) mod n M = POW(C , d) mod n = POW(POW( M ,e), d) mod n=POW( M,e*d) 其中POW是指数函数,mod是求余数函数。 其中收发双方均已知n,发送放已知e,只有接受方已知d,因此公钥加密算法的公钥为 KU={ e , n},私钥为KR={d , n}。该算法要能用做公钥加密,必须满足下列条件: 1. 可以找到e ,d和n,使得对所有M<n ,POW(M ,e*d)=M mod n . 2. 对所有 M<n,计算POW (M , e)和POW(C , d)是比较容易的。 3. 由e 和n确定d是不可行的
上传时间: 2014-08-04
上传用户:sevenbestfei
三坐标的跟踪系统.m 此程序仿真了一个三坐标的跟踪系统,假设目标的高度不变
上传时间: 2015-06-01
上传用户:franktu
某些系统(比如 UNIX )不支持方向键 如果发生这种情况请使用(J、L、I、K)代替 建议使用 133MHZ 或以上的机器 并配有 NETSCAPE 4.X 或 INTERNET EXPLORER 3.X. 对于较慢的机器请切换到 WIREFRAME 模式 通过按 “F” 键实现 . 再按一次 “F” 键切换会 SOLID RENDERING 模式。
标签: INTERNET NETSCAPE EXPLO UNIX
上传时间: 2013-12-31
上传用户:cursor
这是一个基于M/M/S类型的排队论仿真程序。M/M/S表示到达时间为负指数分布,服务时间为负指数分布,服务设备数量为S个的排队系统。 (1)到达模式:严格意义上讲是一个接着一个到达,而且到达时间间隔服从参数为mean_arr的负指数分布; (2)服务模式:服务台的数量为server_num,且每个服务台服务一个顾客的服务时间服从参数为mean_serv的负指数分布; (3)排队规则:满足先进先服务,服务快的先离开的规则。
上传时间: 2014-07-20
上传用户:zsjzc
最优合并问题 给定K个排好序的序列s1,s2,...,sk,用2 路合并算法将这k个序列合并成一个序列。 假设所采用的2路合并算法合并2个长度分另为m 和n的序列需要m+n-1次比较。试设计一个算法确定合并这个序列的最优合并顺序,使所需的总比较次数最少。
上传时间: 2014-11-29
上传用户:a3318966
一个非常好的随机多址程序,用matlab工具写的m/m/1源程序
上传时间: 2013-12-18
上传用户:lizhizheng88
广义切比雪夫的传输零点提取 传输零点提取.m
上传时间: 2015-06-02
上传用户:佳期如梦
基于bp神经网络pid控制程序 bp_pid.m
上传时间: 2015-06-02
上传用户:784533221
自适应控制的例程 文件samp.m使用matlab6.5通过
上传时间: 2013-12-22
上传用户:kikye