fix: adapt missing ruby style guide (#1216)

This commit is contained in:
khoaxuantu
2024-04-03 20:01:29 +07:00
committed by GitHub
parent c435d177a1
commit 043085d0ea
13 changed files with 84 additions and 84 deletions

View File

@ -9,7 +9,7 @@ def recur(n)
# 终止条件
return 1 if n == 1
# 递:递归调用
res = recur n - 1
res = recur(n - 1)
# 归:返回结果
n + res
end
@ -39,7 +39,7 @@ def tail_recur(n, res)
# 终止条件
return res if n == 0
# 尾递归调用
tail_recur n - 1, res + n
tail_recur(n - 1, res + n)
end
### 斐波那契数列:递归 ###
@ -56,14 +56,14 @@ end
n = 5
res = recur n
res = recur(n)
puts "\n递归函数的求和结果 res = #{res}"
res = for_loop_recur n
res = for_loop_recur(n)
puts "\n使用迭代模拟递归求和结果 res = #{res}"
res = tail_recur n, 0
res = tail_recur(n, 0)
puts "\n尾递归函数的求和结果 res = #{res}"
res = fib n
res = fib(n)
puts "\n斐波那契数列的第 #{n} 项为 #{res}"

View File

@ -30,7 +30,7 @@ end
### 线性阶 ###
def linear(n)
# 长度为 n 的列表占用 O(n) 空间
nums = Array.new n, 0
nums = Array.new(n, 0)
# 长度为 n 的哈希表占用 O(n) 空间
hmap = {}
@ -43,13 +43,13 @@ end
def linear_recur(n)
puts "递归 n = #{n}"
return if n == 1
linear_recur n - 1
linear_recur(n - 1)
end
### 平方阶 ###
def quadratic(n)
# 二维列表占用 O(n^2) 空间
Array.new(n) { Array.new n, 0 }
Array.new(n) { Array.new(n, 0) }
end
### 平方阶(递归实现)###
@ -57,8 +57,8 @@ def quadratic_recur(n)
return 0 unless n > 0
# 数组 nums 长度为 n, n-1, ..., 2, 1
nums = Array.new n, 0
quadratic_recur n - 1
nums = Array.new(n, 0)
quadratic_recur(n - 1)
end
### 指数阶(建立满二叉树)###
@ -66,8 +66,8 @@ def build_tree(n)
return if n == 0
TreeNode.new.tap do |root|
root.left = build_tree n - 1
root.right = build_tree n - 1
root.left = build_tree(n - 1)
root.right = build_tree(n - 1)
end
end
@ -76,16 +76,16 @@ end
n = 5
# 常数阶
constant n
constant(n)
# 线性阶
linear n
linear_recur n
linear(n)
linear_recur(n)
# 平方阶
quadratic n
quadratic_recur n
quadratic(n)
quadratic_recur(n)
# 指数阶
root = build_tree n
print_tree root
root = build_tree(n)
print_tree(root)

View File

@ -133,32 +133,32 @@ end
n = 8
puts "输入数据大小 n = #{n}"
count = constant n
count = constant(n)
puts "常数阶的操作数量 = #{count}"
count = linear n
count = linear(n)
puts "线性阶的操作数量 = #{count}"
count = array_traversal Array.new n, 0
count = array_traversal(Array.new(n, 0))
puts "线性阶(遍历数组)的操作数量 = #{count}"
count = quadratic n
count = quadratic(n)
puts "平方阶的操作数量 = #{count}"
nums = Array.new(n) { |i| n - i } # [n, n-1, ..., 2, 1]
count = bubble_sort nums
count = bubble_sort(nums)
puts "平方阶(冒泡排序)的操作数量 = #{count}"
count = exponential n
count = exponential(n)
puts "指数阶(循环实现)的操作数量 = #{count}"
count = exp_recur n
count = exp_recur(n)
puts "指数阶(递归实现)的操作数量 = #{count}"
count = logarithmic n
count = logarithmic(n)
puts "对数阶(循环实现)的操作数量 = #{count}"
count = log_recur n
count = log_recur(n)
puts "对数阶(递归实现)的操作数量 = #{count}"
count = linear_log_recur n
count = linear_log_recur(n)
puts "线性对数阶(递归实现)的操作数量 = #{count}"
count = factorial_recur n
count = factorial_recur(n)
puts "阶乘阶(递归实现)的操作数量 = #{count}"

View File

@ -27,8 +27,8 @@ end
for i in 0...10
n = 100
nums = random_number n
index = find_one nums
nums = random_number(n)
index = find_one(nums)
puts "\n数组 [ 1, 2, ..., n ] 被打乱后 = #{nums}"
puts "数字 1 的索引为 #{index}"
end