算法研究
薛定谔之死猫
生当作人杰,死亦为鬼雄。
展开
-
算法回锅肉——桶排序
示例代码纯粹是为了加深印象,选择的目标语言有更便捷的实现方式,另外去掉了一些假设条件检查。#encoding:gbkSize = 1000arr = Array.new(Size) do #初始化待排序数组,随机填写元素 rand(Size)enddef partition(a,p,r) #分片,粗糙拆分为两类 x = a[r] i = p - 1 for j in p....原创 2019-12-22 03:14:48 · 233 阅读 · 0 评论 -
算法回锅肉——基数排序
示例代码纯粹是为了加深印象,选择的目标语言有更便捷的实现方式,另外去掉了一些假设条件检查。#encoding:gbkNElement = 20NRadix = 4K = 5arr = Array.new(NElement) do #初始化待排序数组,随机填写元素 Array.new(NRadix) do rand(K) endenddef counting_sort(...原创 2019-12-22 02:33:54 · 273 阅读 · 0 评论 -
算法回锅肉——计数排序
示例代码纯粹是为了加深印象,选择的目标语言有更便捷的实现方式,另外去掉了一些假设条件检查。#encoding:gbkSize = 20arr = Array.new(Size) do #初始化待排序数组,随机填写元素 rand(Size)enddef counting_sort(a,b,k) c = Array.new(k + 1,0) #下标数组 a.each do |x...原创 2019-12-22 01:57:33 · 276 阅读 · 0 评论 -
算法回锅肉——快速排序(随机)
示例代码纯粹是为了加深印象,选择的目标语言有更便捷的实现方式,另外去掉了一些假设条件检查。#encoding:gbkSize = 20arr = Array.new(Size) do #初始化待排序数组,随机填写元素 rand(Size)enddef random_partition(a,p,r) #随机选择主元素,抗拼爹 i = rand(r - p) + p a[r],...原创 2019-12-22 00:22:16 · 259 阅读 · 0 评论 -
算法回锅肉——快速排序
示例代码纯粹是为了加深印象,选择的目标语言有更便捷的实现方式,另外去掉了一些假设条件检查。#encoding:gbkSize = 20arr = Array.new(Size) do #初始化待排序数组,随机填写元素 rand(Size)enddef partition(a,p,r) #分片,粗糙拆分为两类 x = a[r] i = p - 1 for j in p..r...原创 2019-12-21 23:56:11 · 242 阅读 · 0 评论 -
算法回锅肉——堆排序
示例代码纯粹是为了加深印象,选择的目标语言有更便捷的实现方式,另外去掉了一些假设条件检查。#encoding:gbkSize = 20class Array attr_accessor :heap_size endarr = Array.new(Size) do #初始化待排序数组,随机填写元素 rand(Size)enddef left(i) 2*iendd...原创 2019-12-21 23:07:37 · 166 阅读 · 0 评论 -
算法回锅肉——归并排序
示例代码纯粹是为了加深印象,选择的目标语言有更便捷的实现方式,另外去掉了一些假设条件检查。#encoding:gbkSize = 20arr = Array.new(Size) do #初始化待排序数组,随机填写元素 rand(Size)enddef merge(a,p,q,r) one = a[p,q - p + 1] #括弧中第二参数是元素个数,容易坑 two = a[...原创 2019-12-21 19:43:21 · 154 阅读 · 0 评论 -
算法回锅肉——冒泡排序
示例代码纯粹是为了加深印象,选择的目标语言有更便捷的实现方式,另外去掉了一些假设条件检查。#encoding:gbkSize = 20arr = Array.new(Size) do #初始化待排序数组,随机填写元素 rand(Size)enddef bubble_sort(a) b = a.clone i = j = 0 for i in 0...b.size - 1...原创 2019-12-21 17:51:12 · 193 阅读 · 0 评论 -
算法回锅肉——插入排序
示例代码纯粹是为了加深印象,选择的目标语言有更便捷的实现方式,另外去掉了一些假设条件检查。#encoding:gbkSize = 20arr = Array.new(Size) do #初始化待排序数组,随机填写元素 rand(Size)enddef insertion_sort(a) b = a.clone i = j = key = 0 for j in 1...b....原创 2019-12-21 16:41:16 · 194 阅读 · 0 评论