From 4e1075aac3c65d651ebcdfff5072037f236399ae Mon Sep 17 00:00:00 2001 From: Yueh-Hua Tu Date: Thu, 23 Apr 2020 20:38:15 +0800 Subject: [PATCH] Add LinearSearch --- LinearSearch/Project.toml | 13 +++++++++++++ LinearSearch/README.md | 19 +++++++++++++++++++ LinearSearch/src/LinearSearch.jl | 10 ++++++++++ LinearSearch/test/runtests.jl | 11 +++++++++++ README.md | 15 ++++++++------- 5 files changed, 61 insertions(+), 7 deletions(-) create mode 100644 LinearSearch/Project.toml create mode 100644 LinearSearch/README.md create mode 100644 LinearSearch/src/LinearSearch.jl create mode 100644 LinearSearch/test/runtests.jl diff --git a/LinearSearch/Project.toml b/LinearSearch/Project.toml new file mode 100644 index 0000000..f1d8c4e --- /dev/null +++ b/LinearSearch/Project.toml @@ -0,0 +1,13 @@ +name = "LinearSearch" +uuid = "5da00125-5d9f-4369-a127-aa7d26c58302" +authors = ["Yueh-Hua Tu "] +version = "0.1.0" + +[compat] +julia = "1.4" + +[extras] +Test = "8dfed614-e22c-5e08-85e1-65c5234f0b40" + +[targets] +test = ["Test"] diff --git a/LinearSearch/README.md b/LinearSearch/README.md new file mode 100644 index 0000000..09199e3 --- /dev/null +++ b/LinearSearch/README.md @@ -0,0 +1,19 @@ +# 線性搜尋法 + +線性搜尋法是搜尋演算法中最簡單也最直覺的演算法,可以用於線性的資料結構的搜尋,例如:一維陣列(array)、串列(list)、堆疊(stack)或是佇列(queue)。一般搜尋演算法需要輸入一個陣列,搜尋陣列中的特定元素,並且回傳特定元素的索引位置,如果沒有找到,則回傳 -1。線性搜尋法會從第一個元素開始進行比對,如果並不是搜尋目標,則會往下一個元素搜尋,直到陣列被搜尋完畢為止。 + +## 測試 + +```julia +a = [1, 5, 6, 2, 7, 3, 30, 70, 40] +@test linearsearch(a, 1) == 1 +@test linearsearch(a, 40) == 9 +@test linearsearch(a, 7) == 5 +@test linearsearch(a, 100) == -1 +``` + +### 測試資料 + +```julia +a = [1, 5, 6, 2, 7, 3, 30, 70, 40] +``` diff --git a/LinearSearch/src/LinearSearch.jl b/LinearSearch/src/LinearSearch.jl new file mode 100644 index 0000000..84dfc8c --- /dev/null +++ b/LinearSearch/src/LinearSearch.jl @@ -0,0 +1,10 @@ +module LinearSearch + +src = [ +] + +for s = src + include("$(s).jl") +end + +end # module diff --git a/LinearSearch/test/runtests.jl b/LinearSearch/test/runtests.jl new file mode 100644 index 0000000..d01a689 --- /dev/null +++ b/LinearSearch/test/runtests.jl @@ -0,0 +1,11 @@ +using LinearSearch +using Test + +tests = [ +] + +@testset "LinearSearch.jl" begin + for t in tests + include("$(t).jl") + end +end diff --git a/README.md b/README.md index 49ed536..38da59e 100644 --- a/README.md +++ b/README.md @@ -8,26 +8,27 @@ ## 初階 -[費氏數列](Fibonacci/) - -[Chaos Game](ChaosGame/) +* [費氏數列](Fibonacci/) +* [Chaos Game](ChaosGame/) ### 數值演算法 -[蒙地卡羅方法](MonteCarlo/) +* [蒙地卡羅方法](MonteCarlo/) ### 簡單資料結構 ### 排序演算法 -[氣泡排序法](BubbleSort/) +* [氣泡排序法](BubbleSort/) ### 搜尋演算法 +* [線性搜尋法](LinearSearch/) + ## 中階 -[尾遞迴費氏數列](TailRecursiveFibonacci/) -[動態規劃費氏數列](DynamicProgrammingFibonacci/) +* [尾遞迴費氏數列](TailRecursiveFibonacci/) +* [動態規劃費氏數列](DynamicProgrammingFibonacci/) ### 數值演算法