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:
Yudong Jin
2024-04-11 20:18:19 +08:00
committed by GitHub
parent 07977184ad
commit b2f0d4603d
192 changed files with 2382 additions and 1196 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