diff --git a/CONTRIBUTORS.md b/CONTRIBUTORS.md index e13735f7e..9446c494a 100644 --- a/CONTRIBUTORS.md +++ b/CONTRIBUTORS.md @@ -30,6 +30,8 @@ Unlambder
Kjetil Johannessen
+Mukundan +
CDsigma
Gammison @@ -61,4 +63,3 @@ Bendik Samseth Trashtalk
Cyrus Burt - diff --git a/contents/sorting_and_searching/merge/code/python/merge.py b/contents/sorting_and_searching/merge/code/python/merge.py new file mode 100644 index 000000000..1c19df7ba --- /dev/null +++ b/contents/sorting_and_searching/merge/code/python/merge.py @@ -0,0 +1,40 @@ +import random + + +def merge(l1, l2): + i = j = 0 + l = [] + + while (i < len(l1)) and (j < len(l2)): + if l1[i] < l2[j]: + l.append(l1[i]) + i += 1 + else: + l.append(l2[j]) + j += 1 + + l.extend(l1[i:len(l1)]) + l.extend(l2[j:len(l2)]) + + return l + + +def merge_sort(l): + if len(l) == 1: + return l + + l1 = merge_sort(l[0:len(l)//2]) + l2 = merge_sort(l[len(l)//2:len(l)]) + + return merge(l1, l2) + + +def main(): + number = [random.randint(0, 10000) for _ in range(10)] + print("Before Sorting {}".format(number)) + number = merge_sort(number) + print("After Sorting {}".format(number)) + + +if __name__ == "__main__": + main() diff --git a/contents/sorting_and_searching/merge/merge_sort.md b/contents/sorting_and_searching/merge/merge_sort.md new file mode 100644 index 000000000..48d4a89f1 --- /dev/null +++ b/contents/sorting_and_searching/merge/merge_sort.md @@ -0,0 +1,29 @@ +# This Chapter is comming soon + +{% method %} +{% sample lang="py" %} +[import:1-40, lang:"python"](code/python/merge.py) +{% endmethod %} + + +$$ +\newcommand{\d}{\mathrm{d}} +\newcommand{\bff}{\boldsymbol{f}} +\newcommand{\bfg}{\boldsymbol{g}} +\newcommand{\bfp}{\boldsymbol{p}} +\newcommand{\bfq}{\boldsymbol{q}} +\newcommand{\bfx}{\boldsymbol{x}} +\newcommand{\bfu}{\boldsymbol{u}} +\newcommand{\bfv}{\boldsymbol{v}} +\newcommand{\bfA}{\boldsymbol{A}} +\newcommand{\bfB}{\boldsymbol{B}} +\newcommand{\bfC}{\boldsymbol{C}} +\newcommand{\bfM}{\boldsymbol{M}} +\newcommand{\bfJ}{\boldsymbol{J}} +\newcommand{\bfR}{\boldsymbol{R}} +\newcommand{\bfT}{\boldsymbol{T}} +\newcommand{\bfomega}{\boldsymbol{\omega}} +\newcommand{\bftau}{\boldsymbol{\tau}} +$$