摘要:
在学ruby,正好顺便把排序算法都复习一遍,先来看直接插入排序(insertion sort) 和 希尔排序 (shell sort)。直接插入排序比较简单,直接上代码:( 算法渐进时间复杂度 O(n2) )# insertion sortdef insertion_sort(list) return list if list.size <= 1 tmp = -1 1.upto(list.size - 1) do |i| inserted = false tmp = list[i] puts(i) (i - 1).downto(0) do |j| puts(j) if tmp ... 阅读全文
posted @ 2012-02-07 16:12
辉夜君麻吕
阅读(546)
评论(0)
推荐(0)
摘要:
转自:http://www.cnblogs.com/leoo2sk/archive/2008/11/14/1332381.html摘要 本文论述了在算法分析领域一个重要问题——时间复杂度分析的基础内容。本文将首先明确时间复杂度的意义,而后以形式化方式论述其在数学上的定义及相关推导。从而帮助大家从本质上认清这个概念。前言 通常,对于一个给定的算法,我们要做两项分析。第一是从数学上证明算法的正确性,这一步主要用到形式化证明的方法及相关推理模式,如循环不变式、数学归纳法等。而在证明算法是正确的基础上,第二部就是分析算法的时间复杂度。算法的时间复杂度反映了程序执行时间随输入规模增长而增长的量级,在很大 阅读全文
posted @ 2012-02-07 14:29
辉夜君麻吕
阅读(356)
评论(0)
推荐(0)
浙公网安备 33010602011771号