mirror of
https://github.com/krahets/hello-algo.git
synced 2025-11-02 04:31:55 +08:00
Many bug fixes and improvements (#1270)
* Add Ruby and Kotlin icons Add the avatar of @curtishd * Update README * Synchronize zh-hant and zh versions. * Translate the pythontutor blocks to traditional Chinese * Fix en/mkdocs.yml * Update the landing page of the en version. * Fix the Dockerfile * Refine the en landingpage * Fix en landing page * Reset the README.md
This commit is contained in:
@ -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
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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
|
||||
|
||||
Reference in New Issue
Block a user