mirror of
https://github.com/tu-darmstadt-informatik/AuD_TU_Darmstadt.git
synced 2025-12-13 01:35:51 +00:00
original files
This commit is contained in:
commit
51856ede88
9
Uebung_1/Antwort für Übungsblatt 1.aux
Normal file
9
Uebung_1/Antwort für Übungsblatt 1.aux
Normal 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}}
|
||||
121
Uebung_1/Antwort für Übungsblatt 1.fdb_latexmk
Normal file
121
Uebung_1/Antwort für Übungsblatt 1.fdb_latexmk
Normal 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"
|
||||
208
Uebung_1/Antwort für Übungsblatt 1.fls
Normal file
208
Uebung_1/Antwort für Übungsblatt 1.fls
Normal 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
|
||||
1030
Uebung_1/Antwort für Übungsblatt 1.log
Normal file
1030
Uebung_1/Antwort für Übungsblatt 1.log
Normal file
File diff suppressed because it is too large
Load Diff
BIN
Uebung_1/Antwort für Übungsblatt 1.pdf
Normal file
BIN
Uebung_1/Antwort für Übungsblatt 1.pdf
Normal file
Binary file not shown.
BIN
Uebung_1/Antwort für Übungsblatt 1.synctex.gz
Normal file
BIN
Uebung_1/Antwort für Übungsblatt 1.synctex.gz
Normal file
Binary file not shown.
132
Uebung_1/Antwort für Übungsblatt 1.tex
Normal file
132
Uebung_1/Antwort für Übungsblatt 1.tex
Normal 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}
|
||||
BIN
Uebung_1/AuD19_Blatt1-PLoes_27042019.pdf
Normal file
BIN
Uebung_1/AuD19_Blatt1-PLoes_27042019.pdf
Normal file
Binary file not shown.
BIN
Uebung_1/AuD19_Blatt1_19042019.pdf
Normal file
BIN
Uebung_1/AuD19_Blatt1_19042019.pdf
Normal file
Binary file not shown.
24
Uebung_1/p4.py
Normal file
24
Uebung_1/p4.py
Normal 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
16
Uebung_1/p5.py
Normal 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)
|
||||
|
||||
|
||||
BIN
Uebung_2/AuD19_Blatt2_26042019.pdf
Normal file
BIN
Uebung_2/AuD19_Blatt2_26042019.pdf
Normal file
Binary file not shown.
BIN
Uebung_2/Praktikum1.zip
Normal file
BIN
Uebung_2/Praktikum1.zip
Normal file
Binary file not shown.
7
Uebung_2/Praktikum1/HybridSort/.classpath
Normal file
7
Uebung_2/Praktikum1/HybridSort/.classpath
Normal 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>
|
||||
17
Uebung_2/Praktikum1/HybridSort/.project
Normal file
17
Uebung_2/Praktikum1/HybridSort/.project
Normal 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>
|
||||
@ -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+"!");
|
||||
}
|
||||
}
|
||||
303
Uebung_2/Praktikum1/HybridSort/src/frame/PublicTests.java
Normal file
303
Uebung_2/Praktikum1/HybridSort/src/frame/PublicTests.java
Normal 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!");
|
||||
}
|
||||
}
|
||||
}
|
||||
101
Uebung_2/Praktikum1/HybridSort/src/frame/SortArray.java
Normal file
101
Uebung_2/Praktikum1/HybridSort/src/frame/SortArray.java
Normal 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;
|
||||
}
|
||||
}
|
||||
50
Uebung_2/Praktikum1/HybridSort/src/lab/Card.java
Normal file
50
Uebung_2/Praktikum1/HybridSort/src/lab/Card.java
Normal 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
|
||||
}
|
||||
|
||||
}
|
||||
25
Uebung_2/Praktikum1/HybridSort/src/lab/HybridSort.java
Normal file
25
Uebung_2/Praktikum1/HybridSort/src/lab/HybridSort.java
Normal 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
|
||||
}
|
||||
|
||||
}
|
||||
@ -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
|
||||
|
||||
}
|
||||
23
Uebung_2/Praktikum1/HybridSort/src/lab/YourTests.java
Normal file
23
Uebung_2/Praktikum1/HybridSort/src/lab/YourTests.java
Normal 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");
|
||||
}
|
||||
|
||||
}
|
||||
5000
Uebung_2/Praktikum1/HybridSort/tests/public/TestFile1
Normal file
5000
Uebung_2/Praktikum1/HybridSort/tests/public/TestFile1
Normal file
File diff suppressed because it is too large
Load Diff
5000
Uebung_2/Praktikum1/HybridSort/tests/public/TestFile2
Normal file
5000
Uebung_2/Praktikum1/HybridSort/tests/public/TestFile2
Normal file
File diff suppressed because it is too large
Load Diff
5000
Uebung_2/Praktikum1/HybridSort/tests/public/TestFile3
Normal file
5000
Uebung_2/Praktikum1/HybridSort/tests/public/TestFile3
Normal file
File diff suppressed because it is too large
Load Diff
Loading…
x
Reference in New Issue
Block a user