original files

This commit is contained in:
Jian Dong 2019-04-28 17:43:39 +02:00
commit 51856ede88
25 changed files with 17172 additions and 0 deletions

View File

@ -0,0 +1,9 @@
\relax
\providecommand \oddpage@label [2]{}
\@writefile{toc}{\contentsline {section}{\numberline {1}P1 (Gruppendiskussion)}{1}}
\@writefile{toc}{\contentsline {section}{\numberline {2}P2 (Insertion Sort)}{1}}
\@writefile{toc}{\contentsline {section}{\numberline {3}P3 (Eigenschaften von Algorithmen)}{2}}
\@writefile{toc}{\contentsline {section}{\numberline {4}P4 (Laufzeiten)}{2}}
\@writefile{toc}{\contentsline {section}{\numberline {5}P5 (T\IeC {\"u}rme von Hanoi)}{3}}
\newlabel{DescriptiveLabel}{{1}{3}}
\@writefile{lol}{\contentsline {lstlisting}{\numberline {1}Java Code}{3}}

View File

@ -0,0 +1,121 @@
# Fdb version 3
["pdflatex"] 1556200048 "/home/jian/Documents/Aud/Übungen/1/Antwort für Übungsblatt 1.tex" "/home/jian/Documents/Aud/Übungen/1/Antwort für Übungsblatt 1.pdf" "Antwort für Übungsblatt 1" 1556200050
"/etc/texmf/web2c/texmf.cnf" 1542034723 475 c0e671620eb5563b2130f56340a5fde8 ""
"/home/jian/Documents/Aud/Übungen/1/Antwort für Übungsblatt 1.aux" 1556200050 584 4ef747dfd161d9316970b0cd8d107043 ""
"/home/jian/Documents/Aud/Übungen/1/Antwort für Übungsblatt 1.tex" 1556200047 5427 173175a46b111115018b4560c5ed13ec ""
"/usr/share/texlive/texmf-dist/fonts/map/fontname/texfonts.map" 1511824771 3332 103109f5612ad95229751940c61aada0 ""
"/usr/share/texlive/texmf-dist/fonts/tfm/public/cm/cmbx12.tfm" 1480098701 1324 c910af8c371558dc20f2d7822f66fe64 ""
"/usr/share/texlive/texmf-dist/fonts/tfm/public/cm/cmmi12.tfm" 1480098701 1524 4414a8315f39513458b80dfc63bff03a ""
"/usr/share/texlive/texmf-dist/fonts/tfm/public/cm/cmmi6.tfm" 1480098701 1512 f21f83efb36853c0b70002322c1ab3ad ""
"/usr/share/texlive/texmf-dist/fonts/tfm/public/cm/cmmi8.tfm" 1480098701 1520 eccf95517727cb11801f4f1aee3a21b4 ""
"/usr/share/texlive/texmf-dist/fonts/tfm/public/cm/cmr10.tfm" 1480098701 1296 45809c5a464d5f32c8f98ba97c1bb47f ""
"/usr/share/texlive/texmf-dist/fonts/tfm/public/cm/cmr12.tfm" 1480098701 1288 655e228510b4c2a1abe905c368440826 ""
"/usr/share/texlive/texmf-dist/fonts/tfm/public/cm/cmr17.tfm" 1480098701 1292 296a67155bdbfc32aa9c636f21e91433 ""
"/usr/share/texlive/texmf-dist/fonts/tfm/public/cm/cmr6.tfm" 1480098701 1300 b62933e007d01cfd073f79b963c01526 ""
"/usr/share/texlive/texmf-dist/fonts/tfm/public/cm/cmr8.tfm" 1480098701 1292 21c1c5bfeaebccffdb478fd231a0997d ""
"/usr/share/texlive/texmf-dist/fonts/tfm/public/cm/cmss10.tfm" 1480098701 1316 b636689f1933f24d1294acdf6041daaa ""
"/usr/share/texlive/texmf-dist/fonts/tfm/public/cm/cmss12.tfm" 1480098701 1324 37b971caf729d7edd9cbb9f9b0ea76eb ""
"/usr/share/texlive/texmf-dist/fonts/tfm/public/cm/cmss8.tfm" 1480098701 1296 d77f431d10d47c8ea2cc18cf45346274 ""
"/usr/share/texlive/texmf-dist/fonts/tfm/public/cm/cmsy10.tfm" 1480098701 1124 6c73e740cf17375f03eec0ee63599741 ""
"/usr/share/texlive/texmf-dist/fonts/tfm/public/cm/cmsy6.tfm" 1480098701 1116 933a60c408fc0a863a92debe84b2d294 ""
"/usr/share/texlive/texmf-dist/fonts/tfm/public/cm/cmsy8.tfm" 1480098701 1120 8b7d695260f3cff42e636090a8002094 ""
"/usr/share/texlive/texmf-dist/fonts/tfm/public/cm/cmti12.tfm" 1480098701 1484 ed72f8f5cf654cda15ecc8e32bfcbee5 ""
"/usr/share/texlive/texmf-dist/fonts/tfm/public/cm/cmtt10.tfm" 1480098701 768 1321e9409b4137d6fb428ac9dc956269 ""
"/usr/share/texlive/texmf-dist/fonts/tfm/public/cm/cmtt12.tfm" 1480098701 772 9a936b7f5e2ff0557fce0f62822f0bbf ""
"/usr/share/texlive/texmf-dist/fonts/tfm/public/cm/cmtt8.tfm" 1480098701 768 d7b9a2629a0c353102ad947dc9221d49 ""
"/usr/share/texlive/texmf-dist/fonts/type1/public/amsfonts/cm/cmbx12.pfb" 1480098733 32080 340ef9bf63678554ee606688e7b5339d ""
"/usr/share/texlive/texmf-dist/fonts/type1/public/amsfonts/cm/cmmi12.pfb" 1480098733 36741 fa121aac0049305630cf160b86157ee4 ""
"/usr/share/texlive/texmf-dist/fonts/type1/public/amsfonts/cm/cmmi8.pfb" 1480098733 35469 70d41d2b9ea31d5d813066df7c99281c ""
"/usr/share/texlive/texmf-dist/fonts/type1/public/amsfonts/cm/cmr12.pfb" 1480098733 32722 d7379af29a190c3f453aba36302ff5a9 ""
"/usr/share/texlive/texmf-dist/fonts/type1/public/amsfonts/cm/cmr17.pfb" 1480098733 32362 179c33bbf43f19adbb3825bb4e36e57a ""
"/usr/share/texlive/texmf-dist/fonts/type1/public/amsfonts/cm/cmr8.pfb" 1480098733 32726 0a1aea6fcd6468ee2cf64d891f5c43c8 ""
"/usr/share/texlive/texmf-dist/fonts/type1/public/amsfonts/cm/cmsy10.pfb" 1480098733 32569 5e5ddc8df908dea60932f3c484a54c0d ""
"/usr/share/texlive/texmf-dist/fonts/type1/public/amsfonts/cm/cmsy8.pfb" 1480098733 32626 4f5c1b83753b1dd3a97d1b399a005b4b ""
"/usr/share/texlive/texmf-dist/fonts/type1/public/amsfonts/cm/cmti12.pfb" 1480098733 36118 fad905eba93cff5bce1e185fe980a177 ""
"/usr/share/texlive/texmf-dist/fonts/type1/public/amsfonts/cm/cmtt12.pfb" 1480098733 24252 1e4e051947e12dfb50fee0b7f4e26e3a ""
"/usr/share/texlive/texmf-dist/tex/context/base/mkii/supp-pdf.mkii" 1480098806 71627 94eb9990bed73c364d7f53f960cc8c5b ""
"/usr/share/texlive/texmf-dist/tex/generic/oberdiek/etexcmds.sty" 1480098815 7612 729a8cc22a1ee0029997c7f74717ae05 ""
"/usr/share/texlive/texmf-dist/tex/generic/oberdiek/ifluatex.sty" 1480098815 7324 2310d1247db0114eb4726807c8837a0e ""
"/usr/share/texlive/texmf-dist/tex/generic/oberdiek/ifpdf.sty" 1490564930 1251 d170e11a3246c3392bc7f59595af42cb ""
"/usr/share/texlive/texmf-dist/tex/generic/oberdiek/infwarerr.sty" 1480098815 8253 473e0e41f9adadb1977e8631b8f72ea6 ""
"/usr/share/texlive/texmf-dist/tex/generic/oberdiek/kvdefinekeys.sty" 1480098815 5152 b67a3a964ad9851e095110c854a1d461 ""
"/usr/share/texlive/texmf-dist/tex/generic/oberdiek/kvsetkeys.sty" 1480098815 14040 ac8866aac45982ac84021584b0abb252 ""
"/usr/share/texlive/texmf-dist/tex/generic/oberdiek/ltxcmds.sty" 1480098815 18425 5b3c0c59d76fac78978b5558e83c1f36 ""
"/usr/share/texlive/texmf-dist/tex/generic/oberdiek/pdftexcmds.sty" 1517006633 20151 787afc7acba22d228640bdc06ce1177c ""
"/usr/share/texlive/texmf-dist/tex/generic/unicode-data/CaseFolding.txt" 1498600549 78161 7893b6e005c5a521319a0d12062ae122 ""
"/usr/share/texlive/texmf-dist/tex/generic/unicode-data/SpecialCasing.txt" 1498600549 16830 e49d6f1fe536f43762ba1ecfe9e53e12 ""
"/usr/share/texlive/texmf-dist/tex/generic/unicode-data/UnicodeData.txt" 1498600549 1735010 2a52f30695dcc821f0f224650552beaf ""
"/usr/share/texlive/texmf-dist/tex/generic/xkeyval/xkeyval.tex" 1480098819 19231 26434a5656c684f5ffb1f26f98006baa ""
"/usr/share/texlive/texmf-dist/tex/generic/xkeyval/xkvutils.tex" 1480098819 7677 6f5ce7c1124cad7ec57d05b2562bd8fe ""
"/usr/share/texlive/texmf-dist/tex/generic/xstring/xstring.sty" 1480098819 144 0ca8d67b000b795a4d9ec000e0fd09c7 ""
"/usr/share/texlive/texmf-dist/tex/generic/xstring/xstring.tex" 1480098819 54373 fd4487ae3e45d4074bc89aea1d2b6807 ""
"/usr/share/texlive/texmf-dist/tex/latex/adjustbox/adjcalc.sty" 1480098820 5413 28ccf87dc7aa0cb642dca714a24a0e0e ""
"/usr/share/texlive/texmf-dist/tex/latex/adjustbox/adjustbox.sty" 1480098820 34406 e1a62300781a9f8a5ca0a38d16b34d67 ""
"/usr/share/texlive/texmf-dist/tex/latex/adjustbox/tc-pdftex.def" 1480098820 1442 51243195f4fdf731a12f15ee33772346 ""
"/usr/share/texlive/texmf-dist/tex/latex/adjustbox/trimclip.sty" 1480098820 7112 f0440fa8b74253e1bc8b4f4227a9df9d ""
"/usr/share/texlive/texmf-dist/tex/latex/amsmath/amsgen.sty" 1480098820 4160 c115536cf8d4ff25aa8c1c9bc4ecb79a ""
"/usr/share/texlive/texmf-dist/tex/latex/amsmath/amstext.sty" 1480098820 2431 fe3078ec12fc30287f568596f8e0b948 ""
"/usr/share/texlive/texmf-dist/tex/latex/base/article.cls" 1480098821 19821 310da678527a7dfe2a02c88af38079b7 ""
"/usr/share/texlive/texmf-dist/tex/latex/base/inputenc.sty" 1480098821 4732 d63eda807ac82cca2ca8488efd31a966 ""
"/usr/share/texlive/texmf-dist/tex/latex/base/omlcmr.fd" 1480098821 2257 15f13452fccbf1841cc4a62831b0d32a ""
"/usr/share/texlive/texmf-dist/tex/latex/base/omscmr.fd" 1480098821 2256 80ce1168fb4ce6a85583a9cf8972c013 ""
"/usr/share/texlive/texmf-dist/tex/latex/base/omsenc.dfu" 1487721667 2004 ac51aeac484f08c01026120d62677eca ""
"/usr/share/texlive/texmf-dist/tex/latex/base/ot1enc.dfu" 1487721667 3181 1cb3e9ad01f4a01127b2ffd821bfeec7 ""
"/usr/share/texlive/texmf-dist/tex/latex/base/size12.clo" 1480098821 8303 1d67e16498f00f63da792fab169302fc ""
"/usr/share/texlive/texmf-dist/tex/latex/base/t1enc.dfu" 1487721667 11255 9d97362866549d3d3c994b5f28d1b9b5 ""
"/usr/share/texlive/texmf-dist/tex/latex/base/ts1enc.dfu" 1487721667 4919 76510afd60e8282294f944c2f9f5103b ""
"/usr/share/texlive/texmf-dist/tex/latex/base/utf8.def" 1487721667 7784 325a2a09984cb5c4ff230f9867145ad3 ""
"/usr/share/texlive/texmf-dist/tex/latex/collectbox/collectbox.sty" 1480098825 9116 495d44b5a3e7be0c46c5d1f053f457f0 ""
"/usr/share/texlive/texmf-dist/tex/latex/fp/defpattern.sty" 1480098829 1081 6a8d78d0e6b2d89334f92fd122c1da99 ""
"/usr/share/texlive/texmf-dist/tex/latex/fp/fp-addons.sty" 1480098829 1275 fe903646b72b3e877914d78f2db9ddda ""
"/usr/share/texlive/texmf-dist/tex/latex/fp/fp-basic.sty" 1480098829 29695 b6366b50463dfb367cf560419d0cea8d ""
"/usr/share/texlive/texmf-dist/tex/latex/fp/fp-eqn.sty" 1480098829 11336 afed7aa5dbc4bf246950282b95e522c2 ""
"/usr/share/texlive/texmf-dist/tex/latex/fp/fp-eval.sty" 1480098829 6220 eeeffd00d1235e73c380c6dc9f30ac43 ""
"/usr/share/texlive/texmf-dist/tex/latex/fp/fp-exp.sty" 1480098829 16964 7ba2d4a3882e46a0429106267976ad21 ""
"/usr/share/texlive/texmf-dist/tex/latex/fp/fp-pas.sty" 1480098829 3006 6fd5da0dc83ba1d19525f1fb08dca7df ""
"/usr/share/texlive/texmf-dist/tex/latex/fp/fp-random.sty" 1480098829 3702 6e54ac63212901d59e6ea2a32b0a7689 ""
"/usr/share/texlive/texmf-dist/tex/latex/fp/fp-snap.sty" 1480098829 6519 c1e5d3c6aed32ba782f756d79578d87b ""
"/usr/share/texlive/texmf-dist/tex/latex/fp/fp-trigo.sty" 1480098829 28969 342a2de338e342de95d2551557e50f06 ""
"/usr/share/texlive/texmf-dist/tex/latex/fp/fp-upn.sty" 1480098829 7154 78a835a719e27a484e63f1f98ba4df11 ""
"/usr/share/texlive/texmf-dist/tex/latex/fp/fp.sty" 1480098829 983 d84df22b060ce125f89a32c403dcab31 ""
"/usr/share/texlive/texmf-dist/tex/latex/graphics-cfg/graphics.cfg" 1480098830 1224 978390e9c2234eab29404bc21b268d1e ""
"/usr/share/texlive/texmf-dist/tex/latex/graphics-def/pdftex.def" 1515537368 17334 520b9b85ad8a2a48eda3f643e27a5179 ""
"/usr/share/texlive/texmf-dist/tex/latex/graphics/graphics.sty" 1498427532 15275 7d676729b1bedd3e7f3c6717affb366c ""
"/usr/share/texlive/texmf-dist/tex/latex/graphics/graphicx.sty" 1498427532 9066 649f2ccf62888e3d8c3e57256b70b8e1 ""
"/usr/share/texlive/texmf-dist/tex/latex/graphics/keyval.sty" 1480098830 2594 d18d5e19aa8239cf867fa670c556d2e9 ""
"/usr/share/texlive/texmf-dist/tex/latex/graphics/trig.sty" 1480098830 3980 0a268fbfda01e381fa95821ab13b6aee ""
"/usr/share/texlive/texmf-dist/tex/latex/ifoddpage/ifoddpage.sty" 1480098831 2148 0426cd8bb94163c1e23726d0c15e2c21 ""
"/usr/share/texlive/texmf-dist/tex/latex/l3kernel/expl3-code.tex" 1519422854 865979 4e627d13dfa51060cef916f5bf16b57a ""
"/usr/share/texlive/texmf-dist/tex/latex/l3kernel/expl3.sty" 1519422854 9854 30dd9ffac9577d887036852ef4c7ccc0 ""
"/usr/share/texlive/texmf-dist/tex/latex/l3kernel/l3pdfmode.def" 1519422854 12836 6f78fd4e4ede5f794b4e9523f8e11191 ""
"/usr/share/texlive/texmf-dist/tex/latex/l3packages/l3keys2e/l3keys2e.sty" 1519337871 4568 4c3ae08ebeee5fea01e0919e229c9b4d ""
"/usr/share/texlive/texmf-dist/tex/latex/l3packages/xparse/xparse.sty" 1519337871 76828 accb53d91c291d3ec67841b8989ca15c ""
"/usr/share/texlive/texmf-dist/tex/latex/latexconfig/epstopdf-sys.cfg" 1480098833 678 4792914a8f45be57bb98413425e4c7af ""
"/usr/share/texlive/texmf-dist/tex/latex/listings/listings.cfg" 1480098833 1827 d72ad54409ca5c1068a1939c63441bd2 ""
"/usr/share/texlive/texmf-dist/tex/latex/listings/listings.sty" 1480098833 80336 ff90c926c3d7bfdaa3d80ca57123b0bb ""
"/usr/share/texlive/texmf-dist/tex/latex/listings/lstlang1.sty" 1480098833 93445 48e5be20ba2d0a2ca5c4ce7e292a4bbc ""
"/usr/share/texlive/texmf-dist/tex/latex/listings/lstmisc.sty" 1480098833 77028 c3eb00afb55a32bc13ca8da7f5234377 ""
"/usr/share/texlive/texmf-dist/tex/latex/oberdiek/epstopdf-base.sty" 1480098836 12095 5337833c991d80788a43d3ce26bd1c46 ""
"/usr/share/texlive/texmf-dist/tex/latex/oberdiek/grfext.sty" 1480098836 7075 2fe3d848bba95f139de11ded085e74aa ""
"/usr/share/texlive/texmf-dist/tex/latex/oberdiek/kvoptions.sty" 1480098836 22417 1d9df1eb66848aa31b18a593099cf45c ""
"/usr/share/texlive/texmf-dist/tex/latex/siunitx/siunitx-abbreviations.cfg" 1511738808 4669 0666eeed90b2307794a8c5f94440e058 ""
"/usr/share/texlive/texmf-dist/tex/latex/siunitx/siunitx.sty" 1511738808 278830 8a6edd37cf149567964ca1ef50e6bd06 ""
"/usr/share/texlive/texmf-dist/tex/latex/spreadtab/spreadtab.sty" 1514844320 98253 0b9129c5996317af545709ec53f10164 ""
"/usr/share/texlive/texmf-dist/tex/latex/titling/titling.sty" 1480098841 7358 95ac619994bd30d405a74f3eca431c84 ""
"/usr/share/texlive/texmf-dist/tex/latex/tools/array.sty" 1485129666 12396 d41f82b039f900e95f351e54ae740f31 ""
"/usr/share/texlive/texmf-dist/tex/latex/translator/translator-basic-dictionary-English.dict" 1512078926 3435 0a4d096dde3f8fe682c2aedd33b8137d ""
"/usr/share/texlive/texmf-dist/tex/latex/translator/translator.sty" 1515274380 8690 269ca424c32d015df5d558ef9752619d ""
"/usr/share/texlive/texmf-dist/tex/latex/varwidth/varwidth.sty" 1480098842 10894 d359a13923460b2a73d4312d613554c8 ""
"/usr/share/texlive/texmf-dist/tex/latex/xkeyval/xkeyval.sty" 1480098843 4962 9c1069474ff71dbc47d5006555e352d3 ""
"/usr/share/texlive/texmf-dist/web2c/texmf.cnf" 1520210507 32485 c64754543d8ac501bea6e75e209ea521 ""
"/usr/share/texmf/web2c/texmf.cnf" 1520210507 32485 c64754543d8ac501bea6e75e209ea521 ""
"/var/lib/texmf/fonts/map/pdftex/updmap/pdftex.map" 1555691282 2700761 ac0584cc9514ab21918550a6948c4ee2 ""
"/var/lib/texmf/web2c/pdftex/pdflatex.fmt" 1555691352 4129508 c7658dcd023983799bd1839fa02ea2cf ""
"Antwort für Übungsblatt 1.aux" 1556200050 584 4ef747dfd161d9316970b0cd8d107043 ""
"Antwort für Übungsblatt 1.tex" 1556200047 5427 173175a46b111115018b4560c5ed13ec ""
(generated)
"/home/jian/Documents/Aud/Übungen/1/Antwort für Übungsblatt 1.log"
"/home/jian/Documents/Aud/Übungen/1/Antwort für Übungsblatt 1.pdf"
"Antwort für Übungsblatt 1.pdf"
"Antwort für Übungsblatt 1.log"
"Antwort für Übungsblatt 1.aux"

View File

@ -0,0 +1,208 @@
PWD /home/jian/Documents/Aud/Übungen/1
INPUT /etc/texmf/web2c/texmf.cnf
INPUT /usr/share/texmf/web2c/texmf.cnf
INPUT /usr/share/texlive/texmf-dist/web2c/texmf.cnf
INPUT /var/lib/texmf/web2c/pdftex/pdflatex.fmt
INPUT /home/jian/Documents/Aud/Übungen/1/Antwort für Übungsblatt 1.tex
OUTPUT /home/jian/Documents/Aud/Übungen/1/Antwort für Übungsblatt 1.log
INPUT /usr/share/texlive/texmf-dist/tex/latex/base/article.cls
INPUT /usr/share/texlive/texmf-dist/tex/latex/base/article.cls
INPUT /usr/share/texlive/texmf-dist/tex/latex/base/size12.clo
INPUT /usr/share/texlive/texmf-dist/tex/latex/base/size12.clo
INPUT /usr/share/texlive/texmf-dist/fonts/map/fontname/texfonts.map
INPUT /usr/share/texlive/texmf-dist/fonts/tfm/public/cm/cmr12.tfm
INPUT /usr/share/texlive/texmf-dist/tex/latex/base/inputenc.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/base/inputenc.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/base/utf8.def
INPUT /usr/share/texlive/texmf-dist/tex/latex/base/utf8.def
INPUT /usr/share/texlive/texmf-dist/tex/latex/base/t1enc.dfu
INPUT /usr/share/texlive/texmf-dist/tex/latex/base/t1enc.dfu
INPUT /usr/share/texlive/texmf-dist/tex/latex/base/ot1enc.dfu
INPUT /usr/share/texlive/texmf-dist/tex/latex/base/ot1enc.dfu
INPUT /usr/share/texlive/texmf-dist/tex/latex/base/omsenc.dfu
INPUT /usr/share/texlive/texmf-dist/tex/latex/base/omsenc.dfu
INPUT /usr/share/texlive/texmf-dist/tex/latex/listings/listings.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/listings/listings.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/graphics/keyval.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/graphics/keyval.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/listings/lstmisc.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/listings/lstmisc.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/listings/listings.cfg
INPUT /usr/share/texlive/texmf-dist/tex/latex/listings/listings.cfg
INPUT /usr/share/texlive/texmf-dist/tex/latex/adjustbox/adjustbox.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/adjustbox/adjustbox.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/xkeyval/xkeyval.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/xkeyval/xkeyval.sty
INPUT /usr/share/texlive/texmf-dist/tex/generic/xkeyval/xkeyval.tex
INPUT /usr/share/texlive/texmf-dist/tex/generic/xkeyval/xkvutils.tex
INPUT /usr/share/texlive/texmf-dist/tex/latex/adjustbox/adjcalc.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/adjustbox/adjcalc.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/adjustbox/trimclip.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/adjustbox/trimclip.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/graphics/graphicx.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/graphics/graphicx.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/graphics/graphics.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/graphics/graphics.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/graphics/trig.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/graphics/trig.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/graphics-cfg/graphics.cfg
INPUT /usr/share/texlive/texmf-dist/tex/latex/graphics-cfg/graphics.cfg
INPUT /usr/share/texlive/texmf-dist/tex/latex/graphics-def/pdftex.def
INPUT /usr/share/texlive/texmf-dist/tex/latex/graphics-def/pdftex.def
INPUT /usr/share/texlive/texmf-dist/tex/latex/collectbox/collectbox.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/collectbox/collectbox.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/adjustbox/tc-pdftex.def
INPUT /usr/share/texlive/texmf-dist/tex/latex/adjustbox/tc-pdftex.def
INPUT /usr/share/texlive/texmf-dist/tex/latex/ifoddpage/ifoddpage.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/ifoddpage/ifoddpage.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/ifoddpage/ifoddpage.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/varwidth/varwidth.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/varwidth/varwidth.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/varwidth/varwidth.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/spreadtab/spreadtab.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/spreadtab/spreadtab.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/fp/fp.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/fp/fp.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/fp/defpattern.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/fp/defpattern.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/fp/fp-basic.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/fp/fp-basic.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/fp/fp-addons.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/fp/fp-addons.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/fp/fp-snap.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/fp/fp-snap.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/fp/fp-exp.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/fp/fp-exp.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/fp/fp-trigo.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/fp/fp-trigo.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/fp/fp-pas.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/fp/fp-pas.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/fp/fp-random.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/fp/fp-random.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/fp/fp-eqn.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/fp/fp-eqn.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/fp/fp-upn.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/fp/fp-upn.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/fp/fp-eval.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/fp/fp-eval.sty
INPUT /usr/share/texlive/texmf-dist/tex/generic/xstring/xstring.sty
INPUT /usr/share/texlive/texmf-dist/tex/generic/xstring/xstring.sty
INPUT /usr/share/texlive/texmf-dist/tex/generic/xstring/xstring.tex
INPUT /usr/share/texlive/texmf-dist/tex/latex/siunitx/siunitx.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/siunitx/siunitx.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/l3kernel/expl3.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/l3kernel/expl3.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/l3kernel/expl3-code.tex
INPUT /usr/share/texlive/texmf-dist/tex/latex/l3kernel/expl3-code.tex
INPUT /usr/share/texlive/texmf-dist/tex/generic/unicode-data/UnicodeData.txt
INPUT /usr/share/texlive/texmf-dist/tex/generic/unicode-data/CaseFolding.txt
INPUT /usr/share/texlive/texmf-dist/tex/generic/unicode-data/SpecialCasing.txt
INPUT /usr/share/texlive/texmf-dist/fonts/tfm/public/cm/cmr10.tfm
INPUT /usr/share/texlive/texmf-dist/fonts/tfm/public/cm/cmr10.tfm
INPUT /usr/share/texlive/texmf-dist/fonts/tfm/public/cm/cmr10.tfm
INPUT /usr/share/texlive/texmf-dist/fonts/tfm/public/cm/cmr10.tfm
INPUT /usr/share/texlive/texmf-dist/fonts/tfm/public/cm/cmr10.tfm
INPUT /usr/share/texlive/texmf-dist/fonts/tfm/public/cm/cmr10.tfm
INPUT /usr/share/texlive/texmf-dist/fonts/tfm/public/cm/cmr10.tfm
INPUT /usr/share/texlive/texmf-dist/fonts/tfm/public/cm/cmr10.tfm
INPUT /usr/share/texlive/texmf-dist/tex/latex/l3kernel/l3pdfmode.def
INPUT /usr/share/texlive/texmf-dist/tex/latex/l3kernel/l3pdfmode.def
INPUT /usr/share/texlive/texmf-dist/tex/latex/l3packages/xparse/xparse.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/l3packages/xparse/xparse.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/amsmath/amstext.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/amsmath/amstext.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/amsmath/amsgen.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/amsmath/amsgen.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/tools/array.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/tools/array.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/l3packages/l3keys2e/l3keys2e.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/l3packages/l3keys2e/l3keys2e.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/translator/translator.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/translator/translator.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/translator/translator.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/titling/titling.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/titling/titling.sty
INPUT /home/jian/Documents/Aud/Übungen/1/Antwort für Übungsblatt 1.aux
INPUT /home/jian/Documents/Aud/Übungen/1/Antwort für Übungsblatt 1.aux
OUTPUT /home/jian/Documents/Aud/Übungen/1/Antwort für Übungsblatt 1.aux
INPUT /usr/share/texlive/texmf-dist/tex/context/base/mkii/supp-pdf.mkii
INPUT /usr/share/texlive/texmf-dist/tex/context/base/mkii/supp-pdf.mkii
INPUT /usr/share/texlive/texmf-dist/tex/latex/oberdiek/epstopdf-base.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/oberdiek/epstopdf-base.sty
INPUT /usr/share/texlive/texmf-dist/tex/generic/oberdiek/infwarerr.sty
INPUT /usr/share/texlive/texmf-dist/tex/generic/oberdiek/infwarerr.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/oberdiek/grfext.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/oberdiek/grfext.sty
INPUT /usr/share/texlive/texmf-dist/tex/generic/oberdiek/kvdefinekeys.sty
INPUT /usr/share/texlive/texmf-dist/tex/generic/oberdiek/kvdefinekeys.sty
INPUT /usr/share/texlive/texmf-dist/tex/generic/oberdiek/ltxcmds.sty
INPUT /usr/share/texlive/texmf-dist/tex/generic/oberdiek/ltxcmds.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/oberdiek/kvoptions.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/oberdiek/kvoptions.sty
INPUT /usr/share/texlive/texmf-dist/tex/generic/oberdiek/kvsetkeys.sty
INPUT /usr/share/texlive/texmf-dist/tex/generic/oberdiek/kvsetkeys.sty
INPUT /usr/share/texlive/texmf-dist/tex/generic/oberdiek/etexcmds.sty
INPUT /usr/share/texlive/texmf-dist/tex/generic/oberdiek/etexcmds.sty
INPUT /usr/share/texlive/texmf-dist/tex/generic/oberdiek/ifluatex.sty
INPUT /usr/share/texlive/texmf-dist/tex/generic/oberdiek/ifluatex.sty
INPUT /usr/share/texlive/texmf-dist/tex/generic/oberdiek/pdftexcmds.sty
INPUT /usr/share/texlive/texmf-dist/tex/generic/oberdiek/pdftexcmds.sty
INPUT /usr/share/texlive/texmf-dist/tex/generic/oberdiek/ifpdf.sty
INPUT /usr/share/texlive/texmf-dist/tex/generic/oberdiek/ifpdf.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/latexconfig/epstopdf-sys.cfg
INPUT /usr/share/texlive/texmf-dist/tex/latex/latexconfig/epstopdf-sys.cfg
INPUT /usr/share/texlive/texmf-dist/tex/latex/base/ts1enc.dfu
INPUT /usr/share/texlive/texmf-dist/tex/latex/base/ts1enc.dfu
INPUT /usr/share/texlive/texmf-dist/tex/latex/translator/translator-basic-dictionary-English.dict
INPUT /usr/share/texlive/texmf-dist/tex/latex/translator/translator-basic-dictionary-English.dict
INPUT /usr/share/texlive/texmf-dist/tex/latex/siunitx/siunitx-abbreviations.cfg
INPUT /usr/share/texlive/texmf-dist/tex/latex/siunitx/siunitx-abbreviations.cfg
INPUT /usr/share/texlive/texmf-dist/fonts/tfm/public/cm/cmr8.tfm
INPUT /usr/share/texlive/texmf-dist/fonts/tfm/public/cm/cmr6.tfm
INPUT /usr/share/texlive/texmf-dist/fonts/tfm/public/cm/cmmi12.tfm
INPUT /usr/share/texlive/texmf-dist/fonts/tfm/public/cm/cmmi8.tfm
INPUT /usr/share/texlive/texmf-dist/fonts/tfm/public/cm/cmmi6.tfm
INPUT /usr/share/texlive/texmf-dist/fonts/tfm/public/cm/cmsy10.tfm
INPUT /usr/share/texlive/texmf-dist/fonts/tfm/public/cm/cmsy8.tfm
INPUT /usr/share/texlive/texmf-dist/fonts/tfm/public/cm/cmsy6.tfm
INPUT /usr/share/texlive/texmf-dist/fonts/tfm/public/cm/cmss12.tfm
INPUT /usr/share/texlive/texmf-dist/fonts/tfm/public/cm/cmss8.tfm
INPUT /usr/share/texlive/texmf-dist/fonts/tfm/public/cm/cmss8.tfm
INPUT /usr/share/texlive/texmf-dist/fonts/tfm/public/cm/cmtt12.tfm
INPUT /usr/share/texlive/texmf-dist/fonts/tfm/public/cm/cmtt8.tfm
INPUT /usr/share/texlive/texmf-dist/fonts/tfm/public/cm/cmtt8.tfm
INPUT /usr/share/texlive/texmf-dist/fonts/tfm/public/cm/cmr17.tfm
INPUT /usr/share/texlive/texmf-dist/fonts/tfm/public/cm/cmr12.tfm
INPUT /usr/share/texlive/texmf-dist/fonts/tfm/public/cm/cmmi12.tfm
INPUT /usr/share/texlive/texmf-dist/fonts/tfm/public/cm/cmsy10.tfm
INPUT /usr/share/texlive/texmf-dist/fonts/tfm/public/cm/cmss12.tfm
INPUT /usr/share/texlive/texmf-dist/fonts/tfm/public/cm/cmss10.tfm
INPUT /usr/share/texlive/texmf-dist/fonts/tfm/public/cm/cmss8.tfm
INPUT /usr/share/texlive/texmf-dist/fonts/tfm/public/cm/cmtt12.tfm
INPUT /usr/share/texlive/texmf-dist/fonts/tfm/public/cm/cmtt10.tfm
INPUT /usr/share/texlive/texmf-dist/fonts/tfm/public/cm/cmtt8.tfm
INPUT /usr/share/texlive/texmf-dist/fonts/tfm/public/cm/cmr17.tfm
INPUT /usr/share/texlive/texmf-dist/fonts/tfm/public/cm/cmbx12.tfm
INPUT /usr/share/texlive/texmf-dist/fonts/tfm/public/cm/cmbx12.tfm
INPUT /usr/share/texlive/texmf-dist/tex/latex/base/omlcmr.fd
INPUT /usr/share/texlive/texmf-dist/tex/latex/base/omlcmr.fd
OUTPUT /home/jian/Documents/Aud/Übungen/1/Antwort für Übungsblatt 1.pdf
INPUT /var/lib/texmf/fonts/map/pdftex/updmap/pdftex.map
INPUT /usr/share/texlive/texmf-dist/tex/latex/listings/lstlang1.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/listings/lstlang1.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/base/omscmr.fd
INPUT /usr/share/texlive/texmf-dist/tex/latex/base/omscmr.fd
INPUT /usr/share/texlive/texmf-dist/fonts/tfm/public/cm/cmti12.tfm
INPUT /usr/share/texlive/texmf-dist/fonts/tfm/public/cm/cmss8.tfm
INPUT /usr/share/texlive/texmf-dist/fonts/tfm/public/cm/cmtt8.tfm
INPUT /home/jian/Documents/Aud/Übungen/1/Antwort für Übungsblatt 1.aux
INPUT /usr/share/texlive/texmf-dist/fonts/type1/public/amsfonts/cm/cmbx12.pfb
INPUT /usr/share/texlive/texmf-dist/fonts/type1/public/amsfonts/cm/cmmi12.pfb
INPUT /usr/share/texlive/texmf-dist/fonts/type1/public/amsfonts/cm/cmmi8.pfb
INPUT /usr/share/texlive/texmf-dist/fonts/type1/public/amsfonts/cm/cmr12.pfb
INPUT /usr/share/texlive/texmf-dist/fonts/type1/public/amsfonts/cm/cmr17.pfb
INPUT /usr/share/texlive/texmf-dist/fonts/type1/public/amsfonts/cm/cmr8.pfb
INPUT /usr/share/texlive/texmf-dist/fonts/type1/public/amsfonts/cm/cmsy10.pfb
INPUT /usr/share/texlive/texmf-dist/fonts/type1/public/amsfonts/cm/cmsy8.pfb
INPUT /usr/share/texlive/texmf-dist/fonts/type1/public/amsfonts/cm/cmti12.pfb
INPUT /usr/share/texlive/texmf-dist/fonts/type1/public/amsfonts/cm/cmtt12.pfb

File diff suppressed because it is too large Load Diff

Binary file not shown.

Binary file not shown.

View File

@ -0,0 +1,132 @@
\documentclass[a4paper,12pt]{article}
\usepackage[utf8]{inputenc}
\usepackage{listings}
\usepackage{adjustbox}
\usepackage{spreadtab}
\usepackage{siunitx}
\usepackage{titling}
\setlength{\droptitle}{-10em}
\begin{document}
\title{Antwort für Übungsblatt 1}
\author{
Jian Dong\\
\texttt{jd81vuti}
\and
Zezhi Chen\\
\texttt{zc75diqa}
\and
Hanyu Sun\\
\texttt{hs54keri}
}
\date{\today}
\maketitle
\section{P1 (Gruppendiskussion)}
\textbf{(a) Algorithmus} \\
Ein Algorithmus ist eine endliche Sequenz von Handlungsvorschriften, die eine Eingabe in eine Ausgabe transformiert. \\
\\
\textbf{(b) Schleifeninvariante} \\
Schleifeninvariante ist die explizite Aussage über den Schleifendurchlauf, die am Anfang und Ende jedes Schleifendurchlaufs und auch vor und nach der Schleife wahr ist. \\
\\
\textbf{(c) Totale Ordnung} \\
Sei eine nicht leere Menge M und eine binänre Relation R auf gegeben, und sie erfüllen die Flogende Eigenschaften:\\
Reflexivität: $\forall$x $\in$ M: x $\leq$ x\\
Transivität: $\forall$x,y,z $\in$ M: x $\leq$ y $\wedge$ y $\leq$ z $\Rightarrow$ x $\leq$ z\\
Antisymmetrie: $\forall$x,y $\in$ M: x $\leq$ y $\wedge$ y $\leq$ x $\Rightarrow$ x = y\\
Totalität: $\forall$x $\in$ M: x $\leq$ x $\vee$ y $\leq$ x\\
Das heißt, bei irgenden zwei Elementen x,y in Menge M bestehen eine Reation (x R y oder y R x).
\section{P2 (Insertion Sort)}
\textbf{(a)} \\
\begin{lstlisting}
FOR j = 1 to A.length - 1
key = A[j]
i = j - 1
WHILE I >= 0 and A[i] < key
A[i+1] = A[i]
i = i - 1
A[i+1] = key
\end{lstlisting}
\vspace*{1\baselineskip}
\textbf{(b)} \\
\textbf{input : [“auf”,“Baum”,“Daten”,“Haus”,“sortieren”]}\\
j = 1, key = "Baum", : [“auf”,“auf”,“Daten”,“Haus”,“sortieren”]\\
j = 1, key = "Baum", : [“Baum”,“auf”,“Daten”,“Haus”,“sortieren”]\\
j = 2, key = "Daten" : [“Baum”,“auf”,“auf”,“Haus”,“sortieren”]\\
j = 2, key = "Daten", : [“Baum”,“Baum”,“auf”,“Haus”,“sortieren”]\\
j = 2, key = "Daten", : [“Daten“,“Baum”,“auf”,“Haus”,“sortieren”]\\
j = 3, key = "Haus", : [“Daten”,“Baum”,“auf”,“auf”,“sortieren”]\\
j = 3, key = "Haus", : [“Daten”,“Baum”,“Haus“,“auf”,“sortieren”]\\
j = 4, key = "sortieren", : [“Daten”,“Baum”,“Haus“,“auf”,“auf”]\\
j = 4, key = "sortieren", : [“Daten”,“Baum”,“Haus“,“Haus”,“auf”]\\
j = 4, key = "sortieren", : [“Daten”,“Baum”,“Baum“,“Haus”,“auf”]\\
j = 4, key = "sortieren", : [“Daten”,“Daten”,“Baum“,“Haus”,“auf”]\\
j = 4, key = "sortieren", : [“sortieren”,“Daten”,“Baum“,“Haus”,“auf”]\\
\textbf{output : [“sortieren”,“Daten”,“Baum“,“Haus”,“auf”]}
\section{P3 (Eigenschaften von Algorithmen)}
\textbf{Algorithmus1:} \\
Sortierung der Elemente einer Liste in absteigender Reihenfolge \\
% 首先判断Array是否为降序若不为降序则随机交换Array中两个树值的位置直到生成降序的Array
Erfüllte Eigenschaften: \\
Determiniertheit, Korrektheit\\
\textbf{Algorithmus2:} \\
Output ist eine Aussage, ob die eingegebene Zahl n Primzahl ist. \\
% 判断当前n是否为质数并返回布尔值
Erfüllte Eigenschaften: \\
Determiniertheit, Determinismus, Terminierung, Korrektheit,
\section{P4 (Laufzeiten)}
\begin{adjustbox}{max width=\textwidth}
\begin{spreadtab}{{tabular}{r|llllll}}
& @sqrt(n) & @n & @$n\,log_2(n)$ & @$n^2$ & @$n^3$ & @$2^n$ \\
\hline
@1 Sekunde & @1000.000 & @1000 & @140 & @31 & @10 & @6 \\
@1 Stunde & @360.000.000 & @60.000 & @4895 & @244 & @39 & @11 \\
@1 Tag & @207.360.000.000 & @3.600.000 & @204.094 & @1897 & @153 & @15 \\
@1 Monat & @186.624.000.000.000 & @108.000.000 & @4.861.992 & @10392 & @476 & @18 \\
@1 Jahr & @24.862.980.000.000.000.000 & @1.314.000.000 & @51.302.995 & @36249 & @1.095 & @18 \\
@1 Jahrhundert & @248.629.800.000.000.000.000.000 & @131.400.000.000 & @4.114.224.723 & @362491 & @5.083 & @25
\end{spreadtab}
\end{adjustbox}
\section{P5 (Türme von Hanoi)}
\textbf{(a)}\\
Es gibt n Scheiben auf dem Stab A , und das Ziel ist Versetzen dieser Scheiben auf den Stab C \\
Das Algorithmus ist wie folgend: \\
\lstset{language=java,caption={Java Code},label=DescriptiveLabel}
\begin{lstlisting}
import java.util.Scanner;
public class Honio {
public static void move(int n,char A,char B,char C){
// obere n Scheiben von dem Stab A auf dem Stab C versetzen
if(n==1){
System.out.println(A+"->"+C);
}
else{
move(n-1,A,C,B);
move(1,A,B,C);
move(n-1,B,A,C);
}
}
public static void main(String[] args){
int Schieben;
Scanner in = new Scanner(System.in);
System.out.println("Wie viel Schieben:");
Schieben = in.nextInt();
Honio.move(Schieben,'A','B','C');
}
}
\end{lstlisting}
\textbf{(b)}\\
$f(n) = (2^n - 1) * 1$ \\
$f(n = 64) = 2^{64} - 1 = \num{1.844674e19} s = \num{5.849423e11} Jahre $ \\
Aussage: Es dauert \num{5.849423e11} Jahre. \\
\textbf{($c^*$)}\\
Logisch gesehen ist unser Algorithmus optimal. Und der Zeitaufwand aus (b) ist ganz groß, dass wir keine Sorge für den Weltuntergang brauchen.
\end{document}

Binary file not shown.

Binary file not shown.

24
Uebung_1/p4.py Normal file
View File

@ -0,0 +1,24 @@
import math
n = [1000, 60000, 3600000, 108000000, 1314000000, 131400000000]
#for num in n:
# i = 1
# while i*i < num:
# i += 1
# print(i-1)
#for num in n:
# i = 1
# while i * math.log(i, 2) < num:
# i += 1
# print(i-1)
temp = 131400000000
i = 4114224721
while i * math.log(i, 2) < temp:
i += 1
print(i-1)
k = i -1
print(k * math.log(k, 2))
print((k+1) * math.log(k+1, 2))

16
Uebung_1/p5.py Normal file
View File

@ -0,0 +1,16 @@
#i = 0
def Hanoi(n, s = ['A', 'B', 'C']):
#global i
if n == 1:
print(s[0] + '->' + s[2])
#i = 1 + i
#print('i =', i)
else:
Hanoi(n-1, [s[0], s[2], s[1]])
Hanoi(1, s)
Hanoi(n-1, [s[1], s[0], s[2]])
Hanoi(n=3)

Binary file not shown.

BIN
Uebung_2/Praktikum1.zip Normal file

Binary file not shown.

View File

@ -0,0 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<classpath>
<classpathentry kind="src" path="src"/>
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/>
<classpathentry kind="con" path="org.eclipse.jdt.junit.JUNIT_CONTAINER/5"/>
<classpathentry kind="output" path="bin"/>
</classpath>

View File

@ -0,0 +1,17 @@
<?xml version="1.0" encoding="UTF-8"?>
<projectDescription>
<name>HybridSort</name>
<comment></comment>
<projects>
</projects>
<buildSpec>
<buildCommand>
<name>org.eclipse.jdt.core.javabuilder</name>
<arguments>
</arguments>
</buildCommand>
</buildSpec>
<natures>
<nature>org.eclipse.jdt.core.javanature</nature>
</natures>
</projectDescription>

View File

@ -0,0 +1,89 @@
package frame;
import java.io.BufferedReader;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;
import java.util.ArrayList;
import lab.Card;
/**
* Do NOT change anything in this class!
*
* This class contains a method for reading the input files into a Card class.
*
* @author Stefan Kropp, Felix Rohrbach
*/
public class CardTestfileReader {
private String filename = null;
/**
* The file should be in the same directory as the java application. if not,
* you have to provide the absolute or relative path information within the
* filename string.
*
* @param filename
* the name of the file to read
*/
public CardTestfileReader(String filename) {
this.filename = filename;
}
/**
* Reads a file, specified in the private field filename and returns the
* information read. The file should have the same format as specified in
* the first lab.
*
* @return Returns a Vector which holds the Card objects. In the case
* an error occurred we throw a RuntimeException.
*/
public ArrayList<Card> readFile() {
try {
ArrayList<Card> cards = new ArrayList<Card>();
FileReader fr = new FileReader(filename);
BufferedReader in = new BufferedReader(fr);
String line;
while ((line = in.readLine()) != null) {
if (line.isEmpty()) {
continue;
}
String[] data = line.split(";");
Card card = new Card();
card.value = Integer.parseInt(data[0]);
card.suit = parseSuit(data[1]);
cards.add(card);
}
in.close();
fr.close();
return cards;
} catch (FileNotFoundException e) {
e.printStackTrace();
throw new RuntimeException("Testfile is broken!");
} catch (IOException e) {
e.printStackTrace();
throw new RuntimeException("Testfile is broken!");
}
}
private Card.Suit parseSuit(String suit) {
suit = suit.trim();
if (suit.contentEquals("Hearts")) {
return Card.Suit.Hearts;
}
if (suit.contentEquals("Diamonds")) {
return Card.Suit.Diamonds;
}
if (suit.contentEquals("Clubs")) {
return Card.Suit.Clubs;
}
if (suit.contentEquals("Spades")) {
return Card.Suit.Spades;
}
throw new RuntimeException("Testfile contains illegal suit "+suit+"!");
}
}

View File

@ -0,0 +1,303 @@
package frame;
import static org.junit.jupiter.api.Assertions.assertTimeoutPreemptively;
import static org.junit.jupiter.api.Assertions.assertTrue;
import static org.junit.jupiter.api.Assertions.assertEquals;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FilenameFilter;
import java.time.Duration;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.stream.Stream;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.AfterAll;
import org.junit.jupiter.api.BeforeAll;
import org.junit.jupiter.api.DisplayName;
import org.junit.jupiter.api.Nested;
import org.junit.jupiter.api.TestInstance;
import org.junit.jupiter.api.TestInstance.Lifecycle;
import org.junit.jupiter.api.extension.ExtensionContext;
import org.junit.jupiter.params.ParameterizedTest;
import org.junit.jupiter.params.provider.Arguments;
import org.junit.jupiter.params.provider.ArgumentsProvider;
import org.junit.jupiter.params.provider.ArgumentsSource;
import org.junit.jupiter.params.provider.ValueSource;
import lab.Card;
import lab.Card.Suit;
import lab.HybridSort;
import lab.HybridSortRandomPivot;
/**
* Do NOT change anything in this class!
*
* The test cases defined by this class are used to test if the input file was
* correctly sorted. This class is also responsible for outputting to the
* console.
*
*/
@DisplayName("QuickSort tests")
class PublicTests {
protected static int NrOfTestFiles;
protected int correct = 0;
protected Duration timeout = Duration.ofSeconds(10);
protected boolean sortingTester(SortArray records) {
boolean sorted = true;
Card lastRecord = records.getElementAt(0);
//System.out.println(lastRecord);
for (int i = 1; i < records.getNumberOfItems() && sorted; i++) {
Card currentRecord = records.getElementAt(i);
//System.out.println(currentRecord);
sorted = (currentRecord.value > lastRecord.value)
|| ((currentRecord.value == lastRecord.value)
&& ((currentRecord.suit == Suit.Clubs)
|| ((currentRecord.suit == Suit.Spades) && (lastRecord.suit != Suit.Clubs))
|| ((currentRecord.suit == Suit.Hearts) && ((lastRecord.suit == Suit.Hearts)
|| (lastRecord.suit == Suit.Diamonds)))
|| ((currentRecord.suit == Suit.Diamonds) && (lastRecord.suit == Suit.Diamonds))));
lastRecord = currentRecord;
}
return sorted;
}
@Nested
@TestInstance(Lifecycle.PER_CLASS)
@DisplayName("Card.compareTo tests")
class CardTests {
@DisplayName("various Tests")
@Test
public void tests() {
Card card1 = new Card(15, Suit.Hearts);
Card card2 = new Card(10, Suit.Spades);
Card card3 = new Card(-10, Suit.Clubs);
Card card4 = new Card(14, Suit.Diamonds);
Card card5 = new Card(0, Suit.Hearts);
Card card6 = new Card(-0, Suit.Hearts);
assertEquals(1, card1.compareTo(card2));
assertEquals(-1, card2.compareTo(card1));
assertEquals(1, card1.compareTo(card3));
assertEquals(-1, card3.compareTo(card1));
assertEquals(1, card1.compareTo(card4));
assertEquals(-1, card4.compareTo(card1));
assertEquals(1, card1.compareTo(card5));
assertEquals(0, card5.compareTo(card6));
assertEquals(-1, card3.compareTo(card2));
}
@DisplayName("Tests with same value")
@Test
public void sameValueTests() {
Card card1 = new Card(-128, Suit.Hearts);
Card card2 = new Card(-128, Suit.Diamonds);
Card card3 = new Card(-128, Suit.Spades);
Card card4 = new Card(-128, Suit.Clubs);
assertEquals(1, card1.compareTo(card2));
assertEquals(-1, card1.compareTo(card3));
assertEquals(-1, card1.compareTo(card4));
assertEquals(1, card3.compareTo(card2));
assertEquals(-1, card2.compareTo(card4));
assertEquals(1, card4.compareTo(card3));
}
}
@Nested
@TestInstance(Lifecycle.PER_CLASS)
@DisplayName("HybridSort Sorting")
class HybridSortSortingTest {
@BeforeAll
public void init() {
correct = 0;
System.out.println("Starting HybridSort tests!");
}
@AfterAll
public void tearDown() {
System.out.println("Correct Hybrid sortings: " + correct + " out of " + 6 + " tests\n");
}
@DisplayName("Tests")
@ParameterizedTest(name = "HybridSort sorting test with input: {0}")
@ValueSource(strings = { "tests/public/TestFile1", "tests/public/TestFile2", "tests/public/TestFile3" })
public void testHybridSort(String inputFile) {
CardTestfileReader reader = new CardTestfileReader(inputFile);
SortArray records = new SortArray(reader.readFile());
HybridSort sortAlgorithm = new HybridSort();
assertTimeoutPreemptively(timeout, () -> {
sortAlgorithm.sort(records, 10);
}, () -> {
System.out.println("HybridSort [" + inputFile + "]: Execution timed out after: " + timeout.getSeconds()
+ " seconds");
return "Test failed!";
});
int readOps = records.getReadingOperations();
int writeOps = records.getWritingOperations();
assertTrue(sortingTester(records), () -> {
System.out.println("HybridSort [" + inputFile + "]: Wrong order!");
return "Test failed!";
});
System.out.println(
"HybridSort [" + inputFile + "]: Correct order! Read Ops: " + readOps + "; Write Ops: " + writeOps);
correct++;
}
@DisplayName("Tests with k=0")
@ParameterizedTest(name = "HybridSort sorting test (k=0) with input: {0}")
@ValueSource(strings = { "tests/public/TestFile1", "tests/public/TestFile2", "tests/public/TestFile3" })
public void testHybridSortk0(String inputFile) {
CardTestfileReader reader = new CardTestfileReader(inputFile);
SortArray records = new SortArray(reader.readFile());
HybridSort sortAlgorithm = new HybridSort();
assertTimeoutPreemptively(timeout, () -> {
sortAlgorithm.sort(records, 0);
}, () -> {
System.out.println("HybridSort, k=0 [" + inputFile + "]: Execution timed out after: " + timeout.getSeconds()
+ " seconds");
return "Test failed!";
});
int readOps = records.getReadingOperations();
int writeOps = records.getWritingOperations();
assertTrue(sortingTester(records), () -> {
System.out.println("HybridSort, k=0 [" + inputFile + "]: Wrong order!");
return "Test failed!";
});
System.out.println(
"HybridSort, k=0 [" + inputFile + "]: Correct order! Read Ops: " + readOps + "; Write Ops: " + writeOps);
correct++;
}
}
@Nested
@TestInstance(Lifecycle.PER_CLASS)
@DisplayName("HybridSortRandomPivot Sorting")
class HybridSortRandomPivotSortingTest {
@BeforeAll
public void init() {
correct = 0;
System.out.println("Starting HybridSortRandomPivot tests!");
}
@AfterAll
public void tearDown() {
System.out.println("Correct Hybrid sortings: " + correct + " out of " + 6 + " tests\n");
}
@DisplayName("Tests")
@ParameterizedTest(name = "HybridSortRandomPivot sorting test with input: {0}")
@ValueSource(strings = { "tests/public/TestFile1", "tests/public/TestFile2", "tests/public/TestFile3" })
public void testHybridSort(String inputFile) {
CardTestfileReader reader = new CardTestfileReader(inputFile);
SortArray records = new SortArray(reader.readFile());
HybridSortRandomPivot sortAlgorithm = new HybridSortRandomPivot();
assertTimeoutPreemptively(timeout, () -> {
sortAlgorithm.sort(records, 10);
}, () -> {
System.out.println("HybridSortRandomPivot [" + inputFile + "]: Execution timed out after: " + timeout.getSeconds()
+ " seconds");
return "Test failed!";
});
int readOps = records.getReadingOperations();
int writeOps = records.getWritingOperations();
assertTrue(sortingTester(records), () -> {
System.out.println("HybridSortRandomPivot [" + inputFile + "]: Wrong order!");
return "Test failed!";
});
System.out.println(
"HybridSortRandomPivot [" + inputFile + "]: Correct order! Read Ops: " + readOps + "; Write Ops: " + writeOps);
correct++;
}
@DisplayName("Tests with k=0")
@ParameterizedTest(name = "HybridSortRandomPivot sorting test (k=0) with input: {0}")
@ValueSource(strings = { "tests/public/TestFile1", "tests/public/TestFile2", "tests/public/TestFile3" })
public void testHybridSortk0(String inputFile) {
CardTestfileReader reader = new CardTestfileReader(inputFile);
SortArray records = new SortArray(reader.readFile());
HybridSortRandomPivot sortAlgorithm = new HybridSortRandomPivot();
assertTimeoutPreemptively(timeout, () -> {
sortAlgorithm.sort(records, 0);
}, () -> {
System.out.println("HybridSortRandomPivot, k=0 [" + inputFile + "]: Execution timed out after: " + timeout.getSeconds()
+ " seconds");
return "Test failed!";
});
int readOps = records.getReadingOperations();
int writeOps = records.getWritingOperations();
assertTrue(sortingTester(records), () -> {
System.out.println("HybridSortRandomPivot, k=0 [" + inputFile + "]: Wrong order!");
return "Test failed!";
});
System.out.println(
"HybridSortRandomPivot, k=0 [" + inputFile + "]: Correct order! Read Ops: " + readOps + "; Write Ops: " + writeOps);
correct++;
}
}
@Nested
@TestInstance(Lifecycle.PER_CLASS)
@DisplayName("HybridSort Complexity")
class HybridSortComplexityTest {
@BeforeAll
public void init() {
correct = 0;
System.out.println("Starting HybridSort complexity tests!");
}
@AfterAll
public void tearDown() {
System.out.println(
"Passed complexity tests for HybridSort: " + correct + " out of " + 3 + " tests\n");
}
private void complexityTesterA(SortArray records, String inputFile, int readOps) {
int n = records.getNumberOfItems();
double nlogn = n * (Math.log(n) / Math.log(2)) * 5;
assertTrue(readOps > 0);
if (inputFile.contains("TestFile1") || inputFile.contains("TestFile2")) {
assertTrue(readOps < nlogn, () -> {
System.out.println("HybridSort complexity test failed for file: " + inputFile
+ " - complexity out of allowed range: O(nlog(n)) required!");
return "Test failed!";
});
} else {
assertTrue(readOps > Math.pow(n, 2) / 2, () -> {
System.out.println("HybridSort complexity test failed for file: " + inputFile
+ " - complexity out of allowed range: O(n^2) required!");
return "Test failed!";
});
}
correct++;
}
@DisplayName("Tests")
@ParameterizedTest(name = "HybridSort complexity test with input: {0}")
@ValueSource(strings = { "tests/public/TestFile1", "tests/public/TestFile2", "tests/public/TestFile3" })
public void testQuicksortAComplexity(String inputFile) {
CardTestfileReader reader = new CardTestfileReader(inputFile);
SortArray records = new SortArray(reader.readFile());
HybridSort sortAlgorithm = new HybridSort();
assertTimeoutPreemptively(timeout, () -> {
sortAlgorithm.sort(records, 10);
}, () -> {
System.out.println("Complexity HybridSort [" + inputFile + "]: Execution timed out after: "
+ timeout.getSeconds() + " seconds");
return "Test failed!";
});
int readOps = records.getReadingOperations();
complexityTesterA(records, inputFile, readOps);
System.out.println("Complexity HybridSort [" + inputFile + "]: Complexity within allowed range!");
}
}
}

View File

@ -0,0 +1,101 @@
package frame;
import java.util.ArrayList;
import lab.Card;
/**
* Do NOT change anything in this class!
*
* The SortArray class provides simple basic functions, to store a list of
* cards to track the number of operations.
*
* This class contains two members (readingOperations and writingOperations)
* that act as counters for the number of accesses to the arrays to be sorted.
* These are used by the JUnit tests to construct the output. The methods
* provided in this class should be sufficient for you to sort the records of
* the input files.
*
* @author Stefan Kropp, Felix Rohrbach
*/
public class SortArray {
private int numberOfItems;
private ArrayList<Card> listOfItems;
private int readingOperations;
private int writingOperations;
/**
* @param numberOfItems
* number of items to hold
*/
public SortArray(ArrayList<Card> items) {
numberOfItems = items.size();
readingOperations = 0;
writingOperations = 0;
listOfItems = items;
// for (String[] element : items) {
// SortingItem s = new SortingItem();
// s.BookSerialNumber = element[0];
// s.ReaderID = element[1];
// s.Status = element[2];
// listOfItems.add(s);
// }
}
/**
* sets the elements at index. if index is >= numberOfItems or less then
* zero an IndexOutOfBoundException will occur.
*
* @param index
* the index of the Elements to set
* @param record
* a Card object
*/
public void setElementAt(int index, Card record) {
this.listOfItems.set(index, record);
writingOperations++;
}
/**
* Retrieves the information stored at position Index. if index is >=
* numberOfItems or less then zero an IndexOutOfBoundException will occur.
*
* @param index
* Index defines which elements to retrieve from the SortArray
* @return Returns a Card object.
*
*/
public Card getElementAt(int index) {
Card result = new Card(this.listOfItems.get(index));
readingOperations++;
return result;
}
/**
* @return Returns the number of reading operations.
*/
public int getReadingOperations() {
return readingOperations;
}
/**
* @return Returns the number of writing operations.
*/
public int getWritingOperations() {
return writingOperations;
}
/**
* @return Returns the numberOfItems.
*/
public int getNumberOfItems() {
return numberOfItems;
}
}

View File

@ -0,0 +1,50 @@
package lab;
/**
* Aufgabe H1b)
*
* Abgabe von: <name>, <name> und <name>
*/
public class Card {
// DO NOT MODIFY
public enum Suit {
Hearts, Diamonds, Clubs, Spades
}
// DO NOT MODIFY
public int value;
public Suit suit;
// DO NOT MODIFY
public Card() {
}
// DO NOT MODIFY
public Card(int value, Suit suit) {
this.value = value;
this.suit = suit;
}
// DO NOT MODIFY
public Card(Card other) {
this.value = other.value;
this.suit = other.suit;
}
public String toString() {
return value+";"+suit;
}
/**
* Compare two card objects. Return -1 if this is deemed smaller than the object other, 0 if they are
* deemed of identical value, and 1 if this is deemed greater than the object other.
* @param other The object we compare this to.
* @return -1, 0 or 1
*/
public int compareTo(Card other) {
// TODO: implement
}
}

View File

@ -0,0 +1,25 @@
package lab;
/**
* Aufgabe H1b)
*
* Abgabe von: <name>, <name> und <name>
*/
import frame.SortArray;
public class HybridSort {
/**
* Sort the given array using a hybrid method of Quick Sort and Insertion Sort.
*
* @param array The array to sort.
* @param k Parameter k when we switch from Quick Sort to Insertion Sort: If the size of the subset which should be sorted is less than k, use Insertion Sort,
* otherwise keep on using Quick Sort.
*/
public void sort(SortArray array, int k) {
assert(k>=0);
// TODO: Implement
}
}

View File

@ -0,0 +1,17 @@
package lab;
import java.util.Random;
/**
* Aufgabe H1c)
*
* Abgabe von: <name>, <name> und <name>
*/
/**
* Use a random pivot within Quick Sort.
*/
public class HybridSortRandomPivot extends HybridSort {
// TODO: Implement
}

View File

@ -0,0 +1,23 @@
package lab;
/**
* Aufgabe H1
*
* Abgabe von: <name>, <name> und <name>
*/
import static org.junit.jupiter.api.Assertions.*;
import org.junit.jupiter.api.Test;
/**
* Use this class to implement your own tests.
*/
class YourTests {
@Test
void test() {
fail("Not yet implemented");
}
}

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff