chore: update driver code (#1265)

This commit is contained in:
khoaxuantu
2024-04-10 21:38:48 +07:00
committed by GitHub
parent a3ee733e7b
commit 6404a53fc6
18 changed files with 439 additions and 421 deletions

View File

@ -62,17 +62,18 @@ def nested_for_loop(n)
end
### Driver Code ###
if __FILE__ == $0
n = 5
n = 5
res = for_loop(n)
puts "\nfor 循环的求和结果 res = #{res}"
res = for_loop(n)
puts "\nfor 循环的求和结果 res = #{res}"
res = while_loop(n)
puts "\nwhile 循环的求和结果 res = #{res}"
res = while_loop(n)
puts "\nwhile 循环求和结果 res = #{res}"
res = while_loop_ii(n)
puts "\nwhile 循环(两次更新)求和结果 res = #{res}"
res = while_loop_ii(n)
puts "\nwhile 循环(两次更新)求和结果 res = #{res}"
res = nested_for_loop(n)
puts "\n双层 for 循环的遍历结果 #{res}"
res = nested_for_loop(n)
puts "\n双层 for 循环的遍历结果 #{res}"
end

View File

@ -53,17 +53,18 @@ def fib(n)
end
### Driver Code ###
if __FILE__ == $0
n = 5
n = 5
res = recur(n)
puts "\n递归函数的求和结果 res = #{res}"
res = recur(n)
puts "\n递归函数的求和结果 res = #{res}"
res = for_loop_recur(n)
puts "\n使用迭代模拟递归求和结果 res = #{res}"
res = for_loop_recur(n)
puts "\n使用迭代模拟递归求和结果 res = #{res}"
res = tail_recur(n, 0)
puts "\n尾递归函数的求和结果 res = #{res}"
res = tail_recur(n, 0)
puts "\n尾递归函数的求和结果 res = #{res}"
res = fib(n)
puts "\n斐波那契数列的第 #{n} 项为 #{res}"
res = fib(n)
puts "\n斐波那契数列的第 #{n} 项为 #{res}"
end

View File

@ -72,20 +72,21 @@ def build_tree(n)
end
### Driver Code ###
if __FILE__ == $0
n = 5
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)
end

View File

@ -128,37 +128,38 @@ def factorial_recur(n)
end
### Driver Code ###
if __FILE__ == $0
# 可以修改 n 运行,体会一下各种复杂度的操作数量变化趋势
n = 8
puts "输入数据大小 n = #{n}"
# 可以修改 n 运行,体会一下各种复杂度的操作数量变化趋势
n = 8
puts "输入数据大小 n = #{n}"
count = constant(n)
puts "常数阶的操作数量 = #{count}"
count = constant(n)
puts "常数阶的操作数量 = #{count}"
count = linear(n)
puts "线性阶的操作数量 = #{count}"
count = array_traversal(Array.new(n, 0))
puts "线性阶(遍历数组)的操作数量 = #{count}"
count = linear(n)
puts "线性阶的操作数量 = #{count}"
count = array_traversal(Array.new(n, 0))
puts "线性阶(遍历数组)的操作数量 = #{count}"
count = quadratic(n)
puts "平方阶的操作数量 = #{count}"
nums = Array.new(n) { |i| n - i } # [n, n-1, ..., 2, 1]
count = bubble_sort(nums)
puts "平方阶(冒泡排序)的操作数量 = #{count}"
count = quadratic(n)
puts "平方阶的操作数量 = #{count}"
nums = Array.new(n) { |i| n - i } # [n, n-1, ..., 2, 1]
count = bubble_sort(nums)
puts "平方阶(冒泡排序)的操作数量 = #{count}"
count = exponential(n)
puts "指数阶(循环实现)的操作数量 = #{count}"
count = exp_recur(n)
puts "指数阶(递归实现)的操作数量 = #{count}"
count = exponential(n)
puts "数阶(循环实现)的操作数量 = #{count}"
count = exp_recur(n)
puts "数阶(递归实现)的操作数量 = #{count}"
count = logarithmic(n)
puts "数阶(循环实现)的操作数量 = #{count}"
count = log_recur(n)
puts "数阶(递归实现)的操作数量 = #{count}"
count = logarithmic(n)
puts "对数阶(循环实现)的操作数量 = #{count}"
count = log_recur(n)
puts "对数阶(递归实现)的操作数量 = #{count}"
count = linear_log_recur(n)
puts "线性对数阶(递归实现)的操作数量 = #{count}"
count = linear_log_recur(n)
puts "线性对数阶(递归实现)的操作数量 = #{count}"
count = factorial_recur(n)
puts "阶乘阶(递归实现)的操作数量 = #{count}"
count = factorial_recur(n)
puts "阶乘阶(递归实现)的操作数量 = #{count}"
end

View File

@ -24,11 +24,12 @@ def find_one(nums)
end
### Driver Code ###
for i in 0...10
n = 100
nums = random_numbers(n)
index = find_one(nums)
puts "\n数组 [ 1, 2, ..., n ] 被打乱后 = #{nums}"
puts "数字 1 的索引为 #{index}"
if __FILE__ == $0
for i in 0...10
n = 100
nums = random_numbers(n)
index = find_one(nums)
puts "\n数组 [ 1, 2, ..., n ] 被打乱后 = #{nums}"
puts "数字 1 的索引为 #{index}"
end
end