diff --git a/img/informatik_3/Big_O.svg b/img/informatik_3/Big_O.svg
new file mode 100644
index 0000000..2c689e2
--- /dev/null
+++ b/img/informatik_3/Big_O.svg
@@ -0,0 +1,1353 @@
+
+
+
diff --git a/img/informatik_3/bst.png b/img/informatik_3/bst.png
new file mode 100644
index 0000000..0cc0d0c
Binary files /dev/null and b/img/informatik_3/bst.png differ
diff --git a/img/informatik_3/hash_table.svg b/img/informatik_3/hash_table.svg
new file mode 100644
index 0000000..33532a9
--- /dev/null
+++ b/img/informatik_3/hash_table.svg
@@ -0,0 +1,170 @@
+
+
+
+
+
diff --git a/img/informatik_3/set.png b/img/informatik_3/set.png
new file mode 100644
index 0000000..a9e06b7
Binary files /dev/null and b/img/informatik_3/set.png differ
diff --git a/img/informatik_3/unordered_set.png b/img/informatik_3/unordered_set.png
new file mode 100644
index 0000000..597883e
Binary files /dev/null and b/img/informatik_3/unordered_set.png differ
diff --git a/img/informatik_3/vector.png b/img/informatik_3/vector.png
new file mode 100644
index 0000000..9f07733
Binary files /dev/null and b/img/informatik_3/vector.png differ
diff --git a/img/physik3/Emissionsspektren/actinium.png b/img/physik3/Emissionsspektren/actinium.png
new file mode 100644
index 0000000..7b18722
Binary files /dev/null and b/img/physik3/Emissionsspektren/actinium.png differ
diff --git a/img/physik3/Emissionsspektren/aluminum.png b/img/physik3/Emissionsspektren/aluminum.png
new file mode 100644
index 0000000..9a5f64f
Binary files /dev/null and b/img/physik3/Emissionsspektren/aluminum.png differ
diff --git a/img/physik3/Emissionsspektren/americium.png b/img/physik3/Emissionsspektren/americium.png
new file mode 100644
index 0000000..b89951e
Binary files /dev/null and b/img/physik3/Emissionsspektren/americium.png differ
diff --git a/img/physik3/Emissionsspektren/antimony.png b/img/physik3/Emissionsspektren/antimony.png
new file mode 100644
index 0000000..ebec15f
Binary files /dev/null and b/img/physik3/Emissionsspektren/antimony.png differ
diff --git a/img/physik3/Emissionsspektren/argon.png b/img/physik3/Emissionsspektren/argon.png
new file mode 100644
index 0000000..4b4c790
Binary files /dev/null and b/img/physik3/Emissionsspektren/argon.png differ
diff --git a/img/physik3/Emissionsspektren/arsenic.png b/img/physik3/Emissionsspektren/arsenic.png
new file mode 100644
index 0000000..e6f31ff
Binary files /dev/null and b/img/physik3/Emissionsspektren/arsenic.png differ
diff --git a/img/physik3/Emissionsspektren/barium.png b/img/physik3/Emissionsspektren/barium.png
new file mode 100644
index 0000000..5e38d9d
Binary files /dev/null and b/img/physik3/Emissionsspektren/barium.png differ
diff --git a/img/physik3/Emissionsspektren/berkelium.png b/img/physik3/Emissionsspektren/berkelium.png
new file mode 100644
index 0000000..75dd191
Binary files /dev/null and b/img/physik3/Emissionsspektren/berkelium.png differ
diff --git a/img/physik3/Emissionsspektren/bismuth.png b/img/physik3/Emissionsspektren/bismuth.png
new file mode 100644
index 0000000..a3bc6b9
Binary files /dev/null and b/img/physik3/Emissionsspektren/bismuth.png differ
diff --git a/img/physik3/Emissionsspektren/boron.png b/img/physik3/Emissionsspektren/boron.png
new file mode 100644
index 0000000..9851fa1
Binary files /dev/null and b/img/physik3/Emissionsspektren/boron.png differ
diff --git a/img/physik3/Emissionsspektren/bromine.png b/img/physik3/Emissionsspektren/bromine.png
new file mode 100644
index 0000000..9788b39
Binary files /dev/null and b/img/physik3/Emissionsspektren/bromine.png differ
diff --git a/img/physik3/Emissionsspektren/cadmium.png b/img/physik3/Emissionsspektren/cadmium.png
new file mode 100644
index 0000000..412ed0f
Binary files /dev/null and b/img/physik3/Emissionsspektren/cadmium.png differ
diff --git a/img/physik3/Emissionsspektren/calcium.png b/img/physik3/Emissionsspektren/calcium.png
new file mode 100644
index 0000000..29c2098
Binary files /dev/null and b/img/physik3/Emissionsspektren/calcium.png differ
diff --git a/img/physik3/Emissionsspektren/califirnium.png b/img/physik3/Emissionsspektren/califirnium.png
new file mode 100644
index 0000000..36d5875
Binary files /dev/null and b/img/physik3/Emissionsspektren/califirnium.png differ
diff --git a/img/physik3/Emissionsspektren/carbon.png b/img/physik3/Emissionsspektren/carbon.png
new file mode 100644
index 0000000..0c38017
Binary files /dev/null and b/img/physik3/Emissionsspektren/carbon.png differ
diff --git a/img/physik3/Emissionsspektren/cerium.png b/img/physik3/Emissionsspektren/cerium.png
new file mode 100644
index 0000000..c7a6928
Binary files /dev/null and b/img/physik3/Emissionsspektren/cerium.png differ
diff --git a/img/physik3/Emissionsspektren/cesium.png b/img/physik3/Emissionsspektren/cesium.png
new file mode 100644
index 0000000..0c76cec
Binary files /dev/null and b/img/physik3/Emissionsspektren/cesium.png differ
diff --git a/img/physik3/Emissionsspektren/chlorine.png b/img/physik3/Emissionsspektren/chlorine.png
new file mode 100644
index 0000000..cf9aace
Binary files /dev/null and b/img/physik3/Emissionsspektren/chlorine.png differ
diff --git a/img/physik3/Emissionsspektren/chromium.png b/img/physik3/Emissionsspektren/chromium.png
new file mode 100644
index 0000000..01c2757
Binary files /dev/null and b/img/physik3/Emissionsspektren/chromium.png differ
diff --git a/img/physik3/Emissionsspektren/cobalt.png b/img/physik3/Emissionsspektren/cobalt.png
new file mode 100644
index 0000000..ce64510
Binary files /dev/null and b/img/physik3/Emissionsspektren/cobalt.png differ
diff --git a/img/physik3/Emissionsspektren/copper.png b/img/physik3/Emissionsspektren/copper.png
new file mode 100644
index 0000000..6ab2319
Binary files /dev/null and b/img/physik3/Emissionsspektren/copper.png differ
diff --git a/img/physik3/Emissionsspektren/curium.png b/img/physik3/Emissionsspektren/curium.png
new file mode 100644
index 0000000..e1c5864
Binary files /dev/null and b/img/physik3/Emissionsspektren/curium.png differ
diff --git a/img/physik3/Emissionsspektren/dysprosium.png b/img/physik3/Emissionsspektren/dysprosium.png
new file mode 100644
index 0000000..57223ec
Binary files /dev/null and b/img/physik3/Emissionsspektren/dysprosium.png differ
diff --git a/img/physik3/Emissionsspektren/erbium.png b/img/physik3/Emissionsspektren/erbium.png
new file mode 100644
index 0000000..3243476
Binary files /dev/null and b/img/physik3/Emissionsspektren/erbium.png differ
diff --git a/img/physik3/Emissionsspektren/europium.png b/img/physik3/Emissionsspektren/europium.png
new file mode 100644
index 0000000..fd9d680
Binary files /dev/null and b/img/physik3/Emissionsspektren/europium.png differ
diff --git a/img/physik3/Emissionsspektren/fluorine.png b/img/physik3/Emissionsspektren/fluorine.png
new file mode 100644
index 0000000..c2906d9
Binary files /dev/null and b/img/physik3/Emissionsspektren/fluorine.png differ
diff --git a/img/physik3/Emissionsspektren/gadolinium.png b/img/physik3/Emissionsspektren/gadolinium.png
new file mode 100644
index 0000000..76c2e89
Binary files /dev/null and b/img/physik3/Emissionsspektren/gadolinium.png differ
diff --git a/img/physik3/Emissionsspektren/gallium.png b/img/physik3/Emissionsspektren/gallium.png
new file mode 100644
index 0000000..206f731
Binary files /dev/null and b/img/physik3/Emissionsspektren/gallium.png differ
diff --git a/img/physik3/Emissionsspektren/germanium.png b/img/physik3/Emissionsspektren/germanium.png
new file mode 100644
index 0000000..c6e13b1
Binary files /dev/null and b/img/physik3/Emissionsspektren/germanium.png differ
diff --git a/img/physik3/Emissionsspektren/gold.png b/img/physik3/Emissionsspektren/gold.png
new file mode 100644
index 0000000..8221cd1
Binary files /dev/null and b/img/physik3/Emissionsspektren/gold.png differ
diff --git a/img/physik3/Emissionsspektren/hafnium.png b/img/physik3/Emissionsspektren/hafnium.png
new file mode 100644
index 0000000..a68155b
Binary files /dev/null and b/img/physik3/Emissionsspektren/hafnium.png differ
diff --git a/img/physik3/Emissionsspektren/helium.png b/img/physik3/Emissionsspektren/helium.png
new file mode 100644
index 0000000..4e55c59
Binary files /dev/null and b/img/physik3/Emissionsspektren/helium.png differ
diff --git a/img/physik3/Emissionsspektren/holmium.png b/img/physik3/Emissionsspektren/holmium.png
new file mode 100644
index 0000000..3e752bd
Binary files /dev/null and b/img/physik3/Emissionsspektren/holmium.png differ
diff --git a/img/physik3/Emissionsspektren/hydrogen.png b/img/physik3/Emissionsspektren/hydrogen.png
new file mode 100644
index 0000000..fce9169
Binary files /dev/null and b/img/physik3/Emissionsspektren/hydrogen.png differ
diff --git a/img/physik3/Emissionsspektren/indium.png b/img/physik3/Emissionsspektren/indium.png
new file mode 100644
index 0000000..d2f72d8
Binary files /dev/null and b/img/physik3/Emissionsspektren/indium.png differ
diff --git a/img/physik3/Emissionsspektren/iodine.png b/img/physik3/Emissionsspektren/iodine.png
new file mode 100644
index 0000000..c0d6b5d
Binary files /dev/null and b/img/physik3/Emissionsspektren/iodine.png differ
diff --git a/img/physik3/Emissionsspektren/iridium.png b/img/physik3/Emissionsspektren/iridium.png
new file mode 100644
index 0000000..6438204
Binary files /dev/null and b/img/physik3/Emissionsspektren/iridium.png differ
diff --git a/img/physik3/Emissionsspektren/iron.png b/img/physik3/Emissionsspektren/iron.png
new file mode 100644
index 0000000..41c5f7b
Binary files /dev/null and b/img/physik3/Emissionsspektren/iron.png differ
diff --git a/img/physik3/Emissionsspektren/krypton.png b/img/physik3/Emissionsspektren/krypton.png
new file mode 100644
index 0000000..55800d1
Binary files /dev/null and b/img/physik3/Emissionsspektren/krypton.png differ
diff --git a/img/physik3/Emissionsspektren/lanthanum.png b/img/physik3/Emissionsspektren/lanthanum.png
new file mode 100644
index 0000000..5fe8e40
Binary files /dev/null and b/img/physik3/Emissionsspektren/lanthanum.png differ
diff --git a/img/physik3/Emissionsspektren/lead.png b/img/physik3/Emissionsspektren/lead.png
new file mode 100644
index 0000000..eab128f
Binary files /dev/null and b/img/physik3/Emissionsspektren/lead.png differ
diff --git a/img/physik3/Emissionsspektren/lithium.png b/img/physik3/Emissionsspektren/lithium.png
new file mode 100644
index 0000000..507a520
Binary files /dev/null and b/img/physik3/Emissionsspektren/lithium.png differ
diff --git a/img/physik3/Emissionsspektren/lutetium.png b/img/physik3/Emissionsspektren/lutetium.png
new file mode 100644
index 0000000..d07b98f
Binary files /dev/null and b/img/physik3/Emissionsspektren/lutetium.png differ
diff --git a/img/physik3/Emissionsspektren/magnesium.png b/img/physik3/Emissionsspektren/magnesium.png
new file mode 100644
index 0000000..be175f9
Binary files /dev/null and b/img/physik3/Emissionsspektren/magnesium.png differ
diff --git a/img/physik3/Emissionsspektren/managanese.png b/img/physik3/Emissionsspektren/managanese.png
new file mode 100644
index 0000000..af03bc2
Binary files /dev/null and b/img/physik3/Emissionsspektren/managanese.png differ
diff --git a/img/physik3/Emissionsspektren/mercury.png b/img/physik3/Emissionsspektren/mercury.png
new file mode 100644
index 0000000..5bf2433
Binary files /dev/null and b/img/physik3/Emissionsspektren/mercury.png differ
diff --git a/img/physik3/Emissionsspektren/molybdenum.png b/img/physik3/Emissionsspektren/molybdenum.png
new file mode 100644
index 0000000..ccc6db3
Binary files /dev/null and b/img/physik3/Emissionsspektren/molybdenum.png differ
diff --git a/img/physik3/Emissionsspektren/neodymium.png b/img/physik3/Emissionsspektren/neodymium.png
new file mode 100644
index 0000000..f4e57a4
Binary files /dev/null and b/img/physik3/Emissionsspektren/neodymium.png differ
diff --git a/img/physik3/Emissionsspektren/neon.png b/img/physik3/Emissionsspektren/neon.png
new file mode 100644
index 0000000..088d122
Binary files /dev/null and b/img/physik3/Emissionsspektren/neon.png differ
diff --git a/img/physik3/Emissionsspektren/nickel.png b/img/physik3/Emissionsspektren/nickel.png
new file mode 100644
index 0000000..bfc067f
Binary files /dev/null and b/img/physik3/Emissionsspektren/nickel.png differ
diff --git a/img/physik3/Emissionsspektren/niobium.png b/img/physik3/Emissionsspektren/niobium.png
new file mode 100644
index 0000000..218929e
Binary files /dev/null and b/img/physik3/Emissionsspektren/niobium.png differ
diff --git a/img/physik3/Emissionsspektren/nitrogen.png b/img/physik3/Emissionsspektren/nitrogen.png
new file mode 100644
index 0000000..a5695e4
Binary files /dev/null and b/img/physik3/Emissionsspektren/nitrogen.png differ
diff --git a/img/physik3/Emissionsspektren/osmium.png b/img/physik3/Emissionsspektren/osmium.png
new file mode 100644
index 0000000..436a13f
Binary files /dev/null and b/img/physik3/Emissionsspektren/osmium.png differ
diff --git a/img/physik3/Emissionsspektren/oxygen.png b/img/physik3/Emissionsspektren/oxygen.png
new file mode 100644
index 0000000..f69172a
Binary files /dev/null and b/img/physik3/Emissionsspektren/oxygen.png differ
diff --git a/img/physik3/Emissionsspektren/palladium.png b/img/physik3/Emissionsspektren/palladium.png
new file mode 100644
index 0000000..83f568c
Binary files /dev/null and b/img/physik3/Emissionsspektren/palladium.png differ
diff --git a/img/physik3/Emissionsspektren/platinum.png b/img/physik3/Emissionsspektren/platinum.png
new file mode 100644
index 0000000..71e2fe5
Binary files /dev/null and b/img/physik3/Emissionsspektren/platinum.png differ
diff --git a/img/physik3/Emissionsspektren/plutonium.png b/img/physik3/Emissionsspektren/plutonium.png
new file mode 100644
index 0000000..46804f2
Binary files /dev/null and b/img/physik3/Emissionsspektren/plutonium.png differ
diff --git a/img/physik3/Emissionsspektren/poponium.png b/img/physik3/Emissionsspektren/poponium.png
new file mode 100644
index 0000000..af9d819
Binary files /dev/null and b/img/physik3/Emissionsspektren/poponium.png differ
diff --git a/img/physik3/Emissionsspektren/potassium.png b/img/physik3/Emissionsspektren/potassium.png
new file mode 100644
index 0000000..0d2064d
Binary files /dev/null and b/img/physik3/Emissionsspektren/potassium.png differ
diff --git a/img/physik3/Emissionsspektren/praseodymium.png b/img/physik3/Emissionsspektren/praseodymium.png
new file mode 100644
index 0000000..008d111
Binary files /dev/null and b/img/physik3/Emissionsspektren/praseodymium.png differ
diff --git a/img/physik3/Emissionsspektren/promethuim.png b/img/physik3/Emissionsspektren/promethuim.png
new file mode 100644
index 0000000..c986edd
Binary files /dev/null and b/img/physik3/Emissionsspektren/promethuim.png differ
diff --git a/img/physik3/Emissionsspektren/protactinium.png b/img/physik3/Emissionsspektren/protactinium.png
new file mode 100644
index 0000000..0f2bead
Binary files /dev/null and b/img/physik3/Emissionsspektren/protactinium.png differ
diff --git a/img/physik3/Emissionsspektren/radium.png b/img/physik3/Emissionsspektren/radium.png
new file mode 100644
index 0000000..e376076
Binary files /dev/null and b/img/physik3/Emissionsspektren/radium.png differ
diff --git a/img/physik3/Emissionsspektren/radon.png b/img/physik3/Emissionsspektren/radon.png
new file mode 100644
index 0000000..3e8a277
Binary files /dev/null and b/img/physik3/Emissionsspektren/radon.png differ
diff --git a/img/physik3/Emissionsspektren/rehenium.png b/img/physik3/Emissionsspektren/rehenium.png
new file mode 100644
index 0000000..eb12807
Binary files /dev/null and b/img/physik3/Emissionsspektren/rehenium.png differ
diff --git a/img/physik3/Emissionsspektren/rohdium.png b/img/physik3/Emissionsspektren/rohdium.png
new file mode 100644
index 0000000..3288ca6
Binary files /dev/null and b/img/physik3/Emissionsspektren/rohdium.png differ
diff --git a/img/physik3/Emissionsspektren/rubidium.png b/img/physik3/Emissionsspektren/rubidium.png
new file mode 100644
index 0000000..8207565
Binary files /dev/null and b/img/physik3/Emissionsspektren/rubidium.png differ
diff --git a/img/physik3/Emissionsspektren/ruthenium.png b/img/physik3/Emissionsspektren/ruthenium.png
new file mode 100644
index 0000000..1b8dd74
Binary files /dev/null and b/img/physik3/Emissionsspektren/ruthenium.png differ
diff --git a/img/physik3/Emissionsspektren/samarium.png b/img/physik3/Emissionsspektren/samarium.png
new file mode 100644
index 0000000..8887078
Binary files /dev/null and b/img/physik3/Emissionsspektren/samarium.png differ
diff --git a/img/physik3/Emissionsspektren/scandium.png b/img/physik3/Emissionsspektren/scandium.png
new file mode 100644
index 0000000..19e505f
Binary files /dev/null and b/img/physik3/Emissionsspektren/scandium.png differ
diff --git a/img/physik3/Emissionsspektren/selenium.png b/img/physik3/Emissionsspektren/selenium.png
new file mode 100644
index 0000000..d0a643e
Binary files /dev/null and b/img/physik3/Emissionsspektren/selenium.png differ
diff --git a/img/physik3/Emissionsspektren/silicon.png b/img/physik3/Emissionsspektren/silicon.png
new file mode 100644
index 0000000..7b44491
Binary files /dev/null and b/img/physik3/Emissionsspektren/silicon.png differ
diff --git a/img/physik3/Emissionsspektren/silver.png b/img/physik3/Emissionsspektren/silver.png
new file mode 100644
index 0000000..585413c
Binary files /dev/null and b/img/physik3/Emissionsspektren/silver.png differ
diff --git a/img/physik3/Emissionsspektren/soduim.png b/img/physik3/Emissionsspektren/soduim.png
new file mode 100644
index 0000000..b902851
Binary files /dev/null and b/img/physik3/Emissionsspektren/soduim.png differ
diff --git a/img/physik3/Emissionsspektren/strontium.png b/img/physik3/Emissionsspektren/strontium.png
new file mode 100644
index 0000000..257e718
Binary files /dev/null and b/img/physik3/Emissionsspektren/strontium.png differ
diff --git a/img/physik3/Emissionsspektren/sulfur.png b/img/physik3/Emissionsspektren/sulfur.png
new file mode 100644
index 0000000..a7ec838
Binary files /dev/null and b/img/physik3/Emissionsspektren/sulfur.png differ
diff --git a/img/physik3/Emissionsspektren/tantalum.png b/img/physik3/Emissionsspektren/tantalum.png
new file mode 100644
index 0000000..cfa6596
Binary files /dev/null and b/img/physik3/Emissionsspektren/tantalum.png differ
diff --git a/img/physik3/Emissionsspektren/technetium.png b/img/physik3/Emissionsspektren/technetium.png
new file mode 100644
index 0000000..8c5175f
Binary files /dev/null and b/img/physik3/Emissionsspektren/technetium.png differ
diff --git a/img/physik3/Emissionsspektren/tellurium.png b/img/physik3/Emissionsspektren/tellurium.png
new file mode 100644
index 0000000..89e8dda
Binary files /dev/null and b/img/physik3/Emissionsspektren/tellurium.png differ
diff --git a/img/physik3/Emissionsspektren/terbium.png b/img/physik3/Emissionsspektren/terbium.png
new file mode 100644
index 0000000..4a40d94
Binary files /dev/null and b/img/physik3/Emissionsspektren/terbium.png differ
diff --git a/img/physik3/Emissionsspektren/thallium.png b/img/physik3/Emissionsspektren/thallium.png
new file mode 100644
index 0000000..abd3af8
Binary files /dev/null and b/img/physik3/Emissionsspektren/thallium.png differ
diff --git a/img/physik3/Emissionsspektren/thorium.png b/img/physik3/Emissionsspektren/thorium.png
new file mode 100644
index 0000000..cd49eae
Binary files /dev/null and b/img/physik3/Emissionsspektren/thorium.png differ
diff --git a/img/physik3/Emissionsspektren/thulium.png b/img/physik3/Emissionsspektren/thulium.png
new file mode 100644
index 0000000..62dc748
Binary files /dev/null and b/img/physik3/Emissionsspektren/thulium.png differ
diff --git a/img/physik3/Emissionsspektren/tin.png b/img/physik3/Emissionsspektren/tin.png
new file mode 100644
index 0000000..2c29ea1
Binary files /dev/null and b/img/physik3/Emissionsspektren/tin.png differ
diff --git a/img/physik3/Emissionsspektren/titanium.png b/img/physik3/Emissionsspektren/titanium.png
new file mode 100644
index 0000000..1450545
Binary files /dev/null and b/img/physik3/Emissionsspektren/titanium.png differ
diff --git a/img/physik3/Emissionsspektren/tungsten.png b/img/physik3/Emissionsspektren/tungsten.png
new file mode 100644
index 0000000..0853775
Binary files /dev/null and b/img/physik3/Emissionsspektren/tungsten.png differ
diff --git a/img/physik3/Emissionsspektren/uranium.png b/img/physik3/Emissionsspektren/uranium.png
new file mode 100644
index 0000000..9f057a6
Binary files /dev/null and b/img/physik3/Emissionsspektren/uranium.png differ
diff --git a/img/physik3/Emissionsspektren/vanadium.png b/img/physik3/Emissionsspektren/vanadium.png
new file mode 100644
index 0000000..29cb30e
Binary files /dev/null and b/img/physik3/Emissionsspektren/vanadium.png differ
diff --git a/img/physik3/Emissionsspektren/xenon.png b/img/physik3/Emissionsspektren/xenon.png
new file mode 100644
index 0000000..9ece510
Binary files /dev/null and b/img/physik3/Emissionsspektren/xenon.png differ
diff --git a/img/physik3/Emissionsspektren/ytterbium.png b/img/physik3/Emissionsspektren/ytterbium.png
new file mode 100644
index 0000000..0bcb39d
Binary files /dev/null and b/img/physik3/Emissionsspektren/ytterbium.png differ
diff --git a/img/physik3/Emissionsspektren/yttrium.png b/img/physik3/Emissionsspektren/yttrium.png
new file mode 100644
index 0000000..0c5c391
Binary files /dev/null and b/img/physik3/Emissionsspektren/yttrium.png differ
diff --git a/img/physik3/Emissionsspektren/zinc.png b/img/physik3/Emissionsspektren/zinc.png
new file mode 100644
index 0000000..6786587
Binary files /dev/null and b/img/physik3/Emissionsspektren/zinc.png differ
diff --git a/img/physik3/Emissionsspektren/zirconium.png b/img/physik3/Emissionsspektren/zirconium.png
new file mode 100644
index 0000000..1524628
Binary files /dev/null and b/img/physik3/Emissionsspektren/zirconium.png differ
diff --git a/src/analysis_3.typ b/src/analysis_3.typ
index 1b64b45..7cf228f 100644
--- a/src/analysis_3.typ
+++ b/src/analysis_3.typ
@@ -209,7 +209,7 @@ $ D eq b^2 minus 4 dot a dot c $
],
[Fall 3 $D < 0$], [
- $ underline(underline(lambda_(1, 2)))) eq
+ $ underline(underline(lambda_(1, 2))) eq
frac(minus b plus.minus root(, D), 2 dot a) eq
frac(minus b, 2 dot a) plus.minus i dot frac(root(, abs(D)), 2 dot abs(a)) eq
underline(underline(minus delta plus.minus i dot omega_d)) $
diff --git a/src/informatik_3.typ b/src/informatik_3.typ
index 43a9a61..7a05aa6 100644
--- a/src/informatik_3.typ
+++ b/src/informatik_3.typ
@@ -68,26 +68,54 @@ Vec3 v;
v.x = 1.0; // okay, is public
v.y = 2.0; // compiler error!
```]
-*Klassen Initialisieren*: Die Funktion "Foo()" wird beim aufrufen von "Foo f;" aufgerufen. Dort wird die Variabel "i" mit 123 initialisiert. Beim aufrufen von "f.bar(456)" wird 456 ausgegeben! Möchte man 123 ausgeben das das "int i" bei der Funktion weglassen damit das i der Klasse verwendet wird.
+==== Constructor (Konstruktor) (Klassen Initialisieren)
+Die Funktion "Foo()" wird beim aufrufen von "Foo f;" aufgerufen. Dort wird die Variabel "i" mit 123 initialisiert. Beim aufrufen von "f.bar(456)" wird 456 ausgegeben! Möchte man 123 ausgeben das das "int i" bei der Funktion weglassen damit das i der Klasse verwendet wird.
#table(columns: 1fr)[```cpp
#include
class Foo {
- public:
- int i;
- Foo() {
- i = 123;
- }
- void bar(int i) {
- printf("%i\n", i); // output is "456"
- }
+ public:
+ int i;
+ Foo() {
+ i = 123;
+ }
+ void bar(int i) {
+ printf("%i\n", i); // output is "456"
+ }
};
int main() {
-Foo f;
-f.bar(456);
+ Foo f;
+ f.bar(456);
}
```]
-*Args:* In cpp kann eine Funktion mehrmahls aufgerufen werden. Der compiler schaut selbst wie viele argumente mitgegeben werden und linkt dies ensprechend. (Angebliech soll das auch führ normale funktionen gehen 🤔)
+==== Destructor
+Wenn beispielsweise eine Klasse Speicher alloziert, dann kann dieser mit dem Destructor wieder freigegeben werden.
+#table(columns: 1fr, [```cpp
+class Speicher {
+public:
+ // Constructor
+ Speicher() {
+ std::cout << "Ressourcen wurden reserviert." << std::endl;
+ }
+
+ // Destructor
+ ~Speicher() {
+ std::cout << "Ressourcen wurden sauber freigegeben!" << std::endl;
+ }
+};
+
+int main() {
+ {
+ Speicher meinObjekt; // Constructor wird hier aufgerufen
+ } // Hier endet der Bereich: Destructor wird automatisch aufgerufen!
+
+ std::cout << "Programm-Ende." << std::endl;
+ return 0;
+}
+```])
+
+=== Overloading
+In cpp kann eine Funktion mehrmahls aufgerufen werden. Der compiler schaut selbst wie viele argumente mitgegeben werden und linkt dies ensprechend.
#table(columns: 1fr)[```cpp
class Foo {
Foo(){}
@@ -108,13 +136,8 @@ class Foo {
};
```]
-==== constructor
-
-==== decounstructor
-
-=== overloading
-
=== std -> Namespace
+*std* steht für die Standardfunktionen. Wenn du z. B. eine eigene Vektor-Funktion programmiert hast, dann weiss der Compiler nicht, ob er die Standard- oder deine Funktion nehmen soll. Darum schreibt man: ```cpp std::vector()```.
=== std::string
Für Strings: ```cpp #include ```
@@ -189,6 +212,7 @@ std::vector v2(first, last);
std::vector> v{{ 0, 1 },
{ -1, 0, 2 }}; ```],
)
+
==== std::list
Listen sind verkettete Daten. Listen sollten verwendet werden wenn häufig elemente in der mitte hinzugefügt oder enternt werden.
#table(columns: (1fr, 1fr),
@@ -366,13 +390,61 @@ bool eq = std::equal(v.begin(), v.begin() + 1, v.begin() + 3);
)
=== Runtime complexity
-==== Binary search tree
-==== std::set
-==== std::unordered_set
-==== Hash table
-==== Big O notation
-==== Performance übersicht
+==== Binary search tree (BST)
+Da der Baum sortiert ist, musst du nicht jedes Element prüfen. Bei jedem Schritt halbiert sich der Bereich, den du noch durchsuchen musst.
+- Zeitkomplexität: Im Idealfall (wenn der Baum ausbalanciert ist) liegt sie bei O(log n).
+- Der "Worst Case": Wenn du Zahlen bereits sortiert einfügst (1, 2, 3, 4...), wird der Baum zu einer langen Linie. Dann sinkt die Performance auf O(n).
+#image("../img/informatik_3/bst.png", width: 100%)
+==== std::set
+Ein Set (Menge) ist ein Container, der zwei Regeln hat:
+- Einzigartigkeit: Jedes Element darf nur ein einziges Mal vorkommen. Wenn du versuchst, die Zahl 5 doppelt einzufügen, wird das zweite Mal einfach ignoriert.
+- Automatische Sortierung: In einem Standard-Set werden die Elemente immer automatisch sortiert (standardmäßig aufsteigend).
+
+==== std::unordered_set
+Ein unordered_set ist im Grunde die "schnellere, aber chaotischere" Version des normalen Sets. Während das normale std::set intern einen Baum nutzt und alles sortiert, basiert das std::unordered_set auf einer Hash Table.
+
+==== Hash table
+Eine Hash Table (Hashtabelle) ist eine Datenstruktur, die Daten extrem schnell speichert und wiederfindet – im Idealfall in O(1) (konstanter Zeit).
+#image("../img/informatik_3/hash_table.svg", width: 80%)
++ Key (Schlüssel): Du gibst einen Namen oder eine ID ein (z. B. "Max").
++ Hash-Funktion: Ein Algorithmus berechnet aus diesem Schlüssel eine Zahl (den Index).
++ Array (Eimer): Die Daten werden an genau diesem Index im Speicher abgelegt.
+
+==== Big O notation
+Die Big O Notation (Groß-O-Notation) ist ein Maßstab in der Informatik, um die Effizienz eines Algorithmus zu beschreiben. Sie gibt an, wie die Laufzeit oder der Speicherbedarf ansteigt, wenn die Menge der Eingabedaten (n) größer wird.
+#image("../img/informatik_3/Big_O.svg", width: 90%)
+
+#table(columns: (60pt, 80pt, 1fr, 1fr),
+fill: (x, y) => if y == 0 {gray.lighten(40%)},
+[Notation], [Name], [Erklärung], [Beispiel],
+[O(1)], [Konstant], ["Immer gleich schnell, egal wie viele Daten."], [Zugriff auf ein Array-Element per Index.],
+[O(log n)], [Logarithmisch], [Wird bei mehr Daten nur minimal langsamer.], [Binäre Suche in einer sortierten Liste.],
+[O(n)], [Linear], [Laufzeit wächst genau proportional zur Datenmenge.], [Eine einfache for-Schleife über alle Elemente.],
+[O($n^2$)], [Quadratisch], [Doppelte Daten = vierfache Zeit (sehr langsam).], [Zwei verschachtelte Schleifen.],
+)
+
+==== Performance übersicht
+#table(columns: (70pt, 1fr, 1fr, 1fr),
+fill: (x, y) => if y == 0 {gray.lighten(40%)},
+[Container], [std::vector], [std::set], [std::unordered_set],
+[Methode], [Lineare Suche (std::find)], [Binärer Suchbaum], [Hash-Tabelle],
+[Verhalten], [Sucht jedes Wort nacheinander ab.], [Teilt die Suchmenge bei jedem Schritt (links/rechts).], [Berechnet einen Index (Hash) und greift direkt darauf zu.],
+[Komplexität], [O(n) (Linear)], [O(log n) (Logarithmisch) ], [O(1) (Konstant) ],
+[Ergebnis], [Zeit verdoppelt sich bei doppeltem Wörterbuchumfang.], [Deutlich schneller: Bei 100k Wörtern genügen ca. 17 Vergleiche.], [Die schnellste Methode; die Zeit bleibt bei wachsender Datenmenge nahezu gleich.],
+
+[Einfacher Zugriff], [O(1)], [O(log n)], [O(1)],
+[Einfügen], [O(1)], [O(log n)], [O(1)],
+[Suchen], [O(n)], [O(log n)], [O(1)],
+[Example], [#image("../img/informatik_3/vector.png")], [#image("../img/informatik_3/set.png")], [#image("../img/informatik_3/unordered_set.png")],
+)
+
+*Warum sind die Unterschiede so extrem?*
+- Linear (O(n)): In einem *vector* mit 100.000 Wörtern müssen im Schnitt 50.000 Vergleiche durchgeführt werden, um ein Wort zu finden.
+- Logarithmisch (O(log n)): Ein *set* nutzt einen Baum. Die maximale Anzahl der Vergleiche entspricht der Tiefe des Baumes. Bei 100.000 Elementen wächst die Tiefe nur auf etwa 17 an ($2^17 approx 131.000$).
+- Konstant (O(1)): Das *unordered_set* berechnet mittels einer Hash-Funktion sofort den Speicherort ("Bucket") des Wortes. Dies ist unabhängig von der Gesamtzahl der Wörter.
+
+#pagebreak()
=== References
In cpp gib es Referenzen. Diese sind einfacher zu handhaben und sicherer als "call by References".
#table(columns: (0.4fr, 1fr),
@@ -510,21 +582,116 @@ std::cout << G << std::endl;
)
==== Input
+#table(columns: 1fr, [```cpp
+#include
+int main () {
+ std::cout << "Please enter your name: ";
+ std::string name;
+ std::getline(std::cin, name);
+ std::cout << "Your name is " << name << "." << std::endl;
+ return 0;
+}
+```])
+Alternativ: \
+#table(columns: 1fr, [```cpp
+double d;
+std::cin >> d;
+```])
+
+Falls man einen ```cpp int``` oder ```cpp double``` will kann man ```cpp int x = stoi(wert_als_string)``` oder ```cpp double x = stod(wert_als_string)``` verwenden.
=== Stringstream
-==== Output
-==== Input
+*Zahlen in einen String umwandeln*
+#table(columns: 1fr, [```cpp
+#include
+#include
+#include
+
+int main() {
+ int alter = 25;
+ double groesse = 1.85;
+
+ std::stringstream ss;
+ ss << "Ich bin " << alter << " Jahre alt und " << groesse << "m gross.";
+
+ std::string ergebnis = ss.str(); // .str() gibt den fertigen String zurück
+ std::cout << ergebnis << std::endl;
+
+ return 0;
+}
+```])
+
+*Einen String parsen (zerlegen)*
+#table(columns: 1fr, [```cpp
+std::string daten = "100 200 300";
+std::stringstream ss(daten);
+int a, b, c;
+
+ss >> a >> b >> c; // Extrahiert die Zahlen automatisch als Integer
+
+std::cout << a + b + c; // Ergibt 600
+```])
+
+#table(columns: (1fr, 2fr),
+[`<<`], [Schreibt Daten in dem Stream],
+[`>>`], [Liest Daten aus dem Stream heraus],
+[`ss.str()`], [String herausholen (du hast *std::string* als typ)],
+[`ss.clear()`], [Leert den Stram],
+[`ss.to_string(Zahl)`], [Wandelt die Zahl in einen Sting um.],
+)
=== File I/O
==== Output
-==== Input
+#table(columns: 1fr, [```cpp
+#include
+#include
+#include
+int main() {
+ // Wenn die Datei nicht existiert, wird sie erstellt.
+ // Wenn sie existiert, wird der Inhalt standardmäßig überschrieben!
+ std::ofstream datei("ausgabe.txt");
+
+ if (datei.is_open()) {
+ datei << "Das ist die erste Zeile.\n";
+ datei << "Hier ist eine Zahl: " << 42 << std::endl;
+
+ datei.close();
+ std::cout << "Datei erfolgreich gespeichert." << std::endl;
+ } else {
+ std::cerr << "Fehler beim Öffnen der Datei!" << std::endl;
+ }
+ return 0;
+}
+```])
file append
std::ios::app
std::ofstream myfile("hello.txt", std::ios::app);
+==== Input
+#table(columns: 1fr, [```cpp
+#include
+#include
+#include
+
+int main() {
+ std::ifstream datei("beispiel.txt");
+
+ if (!datei.is_open()) {
+ std::cerr << "Fehler: Datei konnte nicht geöffnet werden!" << std::endl;
+ return 1;
+ }
+
+ std::string zeile;
+ while (std::getline(datei, zeile)) {
+ std::cout << zeile << std::endl;
+ }
+ return 0;
+}
+```])
+
=== Git
#table(columns: (0.8fr, 1fr),
[```sh git init ```], [Neues git repository erstellen],
@@ -572,14 +739,14 @@ for (auto value : values){
}
```])
-#table(columns: 1fr, [```cpp
-std::list values = {1, 2, 3};
-for (auto &value : values){
- std::cout << value << std::endl;
-}
-```])
-
-
+// #pagebreak()
+//
+// #table(columns: 1fr, [```cpp
+// std::list values = {1, 2, 3};
+// for (auto &value : values){
+// std::cout << value << std::endl;
+// }
+// ```])
=== testing
```cpp
diff --git a/src/physik_3.typ b/src/physik_3.typ
index 9b58ea6..08a11bd 100644
--- a/src/physik_3.typ
+++ b/src/physik_3.typ
@@ -3,6 +3,104 @@
== Physik 3
=== Physik des Lichts
==== Elektromagnetische Wellen
+
+Emissionsspektren
+#table(columns: (25pt, 80pt, 1fr,)*1,
+[Ac], [Actinium], [#image("../img/physik3/Emissionsspektren/actinium.png")],
+[Ag], [Silver \ Silber], [#image("../img/physik3/Emissionsspektren/silver.png")],
+[Al], [Aluminum \ Aluminium], [#image("../img/physik3/Emissionsspektren/aluminum.png")],
+[Am], [Americium], [#image("../img/physik3/Emissionsspektren/americium.png")],
+[Ar], [Argon], [#image("../img/physik3/Emissionsspektren/argon.png")],
+[As], [Arsenic], [#image("../img/physik3/Emissionsspektren/arsenic.png")],
+[Au], [Gold], [#image("../img/physik3/Emissionsspektren/gold.png")],
+[B], [Boron], [#image("../img/physik3/Emissionsspektren/boron.png")],
+[Ba], [Barium], [#image("../img/physik3/Emissionsspektren/barium.png")],
+[Bi], [Bismuth], [#image("../img/physik3/Emissionsspektren/bismuth.png")],
+[Bk], [Berkelium], [#image("../img/physik3/Emissionsspektren/berkelium.png")],
+[Br], [Bromine], [#image("../img/physik3/Emissionsspektren/bromine.png")],
+[C], [Carbon], [#image("../img/physik3/Emissionsspektren/carbon.png")],
+[Ca], [Calcium], [#image("../img/physik3/Emissionsspektren/calcium.png")],
+[Cd], [Cadmium], [#image("../img/physik3/Emissionsspektren/cadmium.png")],
+[Ce], [Cerium], [#image("../img/physik3/Emissionsspektren/cerium.png")],
+[Cf], [Californium], [#image("../img/physik3/Emissionsspektren/califirnium.png")],
+[Cl], [Chlorine], [#image("../img/physik3/Emissionsspektren/chlorine.png")],
+[Cm], [Curium], [#image("../img/physik3/Emissionsspektren/curium.png")],
+[Co], [Cobalt], [#image("../img/physik3/Emissionsspektren/cobalt.png")],
+[Cr], [Chromium], [#image("../img/physik3/Emissionsspektren/chromium.png")],
+[Cs], [Cesium], [#image("../img/physik3/Emissionsspektren/cesium.png")],
+[Cu], [Copper], [#image("../img/physik3/Emissionsspektren/copper.png")],
+[Dy], [Dysposium], [#image("../img/physik3/Emissionsspektren/dysprosium.png")],
+[Er], [Erbium], [#image("../img/physik3/Emissionsspektren/erbium.png")],
+[Eu], [Europium], [#image("../img/physik3/Emissionsspektren/europium.png")],
+[F], [Flourine], [#image("../img/physik3/Emissionsspektren/fluorine.png")],
+[Fe], [Iron], [#image("../img/physik3/Emissionsspektren/iron.png")],
+[Ga], [Gallium], [#image("../img/physik3/Emissionsspektren/gallium.png")],
+[Gd], [Gadolinium], [#image("../img/physik3/Emissionsspektren/gadolinium.png")],
+[Ge], [Germanium], [#image("../img/physik3/Emissionsspektren/germanium.png")],
+[H], [Hydrogen], [#image("../img/physik3/Emissionsspektren/hydrogen.png")],
+[He], [Helium], [#image("../img/physik3/Emissionsspektren/helium.png")],
+[Hf], [Hafnium], [#image("../img/physik3/Emissionsspektren/hafnium.png")],
+[Hg], [Mercury], [#image("../img/physik3/Emissionsspektren/mercury.png")],
+[Ho], [Holmium], [#image("../img/physik3/Emissionsspektren/holmium.png")],
+[I], [Iodine], [#image("../img/physik3/Emissionsspektren/iodine.png")],
+[In], [Indium], [#image("../img/physik3/Emissionsspektren/indium.png")],
+[Ir], [Iridium], [#image("../img/physik3/Emissionsspektren/iridium.png")],
+[K], [Potassium], [#image("../img/physik3/Emissionsspektren/poponium.png")],
+[Kr], [Krypton], [#image("../img/physik3/Emissionsspektren/krypton.png")],
+[La], [Lanthanum], [#image("../img/physik3/Emissionsspektren/lanthanum.png")],
+[Li], [Lithium], [#image("../img/physik3/Emissionsspektren/lithium.png")],
+[Lu], [Lutetium], [#image("../img/physik3/Emissionsspektren/lutetium.png")],
+[Mg], [Magnesium], [#image("../img/physik3/Emissionsspektren/magnesium.png")],
+[Mn], [Maganese], [#image("../img/physik3/Emissionsspektren/managanese.png")],
+[Mo], [Molybdenum], [#image("../img/physik3/Emissionsspektren/molybdenum.png")],
+[N], [Nitrogen], [#image("../img/physik3/Emissionsspektren/nitrogen.png")],
+[Na], [Sodium], [#image("../img/physik3/Emissionsspektren/soduim.png")],
+[Nb], [Niobium], [#image("../img/physik3/Emissionsspektren/niobium.png")],
+[Nd], [Neodymium], [#image("../img/physik3/Emissionsspektren/neodymium.png")],
+[Ne], [Neon], [#image("../img/physik3/Emissionsspektren/neon.png")],
+[Ni], [Nickel], [#image("../img/physik3/Emissionsspektren/nickel.png")],
+[O], [Oxygen], [#image("../img/physik3/Emissionsspektren/oxygen.png")],
+[Os], [Osmium], [#image("../img/physik3/Emissionsspektren/osmium.png")],
+[Pa], [Protactinium], [#image("../img/physik3/Emissionsspektren/protactinium.png")],
+[Pb], [Lead], [#image("../img/physik3/Emissionsspektren/lead.png")],
+[Pd], [Palladium], [#image("../img/physik3/Emissionsspektren/palladium.png")],
+[Pm], [Promethuim], [#image("../img/physik3/Emissionsspektren/promethuim.png")],
+[Po], [Polonim], [#image("../img/physik3/Emissionsspektren/poponium.png")],
+[Pr], [Praseodymium], [#image("../img/physik3/Emissionsspektren/praseodymium.png")],
+[Pt], [Platinum], [#image("../img/physik3/Emissionsspektren/platinum.png")],
+[Pu], [Plutonium], [#image("../img/physik3/Emissionsspektren/plutonium.png")],
+[Ra], [Radium], [#image("../img/physik3/Emissionsspektren/radium.png")],
+[Rb], [Rubidium], [#image("../img/physik3/Emissionsspektren/rubidium.png")],
+[Re], [Rhenium], [#image("../img/physik3/Emissionsspektren/rehenium.png")],
+[Rh], [Rhodium], [#image("../img/physik3/Emissionsspektren/rohdium.png")],
+[Rn], [Radon], [#image("../img/physik3/Emissionsspektren/radon.png")],
+[Ru], [Ruthenium], [#image("../img/physik3/Emissionsspektren/ruthenium.png")],
+[S], [Sulfur], [#image("../img/physik3/Emissionsspektren/sulfur.png")],
+[Sb], [Antimony], [#image("../img/physik3/Emissionsspektren/antimony.png")],
+[Sc], [Scandium], [#image("../img/physik3/Emissionsspektren/scandium.png")],
+[Se], [Selenium], [#image("../img/physik3/Emissionsspektren/selenium.png")],
+[Si], [Silicon], [#image("../img/physik3/Emissionsspektren/silicon.png")],
+[Sm], [Samarium], [#image("../img/physik3/Emissionsspektren/samarium.png")],
+[Sn], [Tin], [#image("../img/physik3/Emissionsspektren/tin.png")],
+[Sr], [Strontium], [#image("../img/physik3/Emissionsspektren/strontium.png")],
+[Ta], [Tantalum], [#image("../img/physik3/Emissionsspektren/tantalum.png")],
+[Tb], [Tertium], [#image("../img/physik3/Emissionsspektren/terbium.png")],
+[Tc], [Technetium], [#image("../img/physik3/Emissionsspektren/technetium.png")],
+[Te], [Tellurium], [#image("../img/physik3/Emissionsspektren/tellurium.png")],
+[Th], [Thorium], [#image("../img/physik3/Emissionsspektren/thorium.png")],
+[Ti], [Titanium], [#image("../img/physik3/Emissionsspektren/titanium.png")],
+[Tl], [Thalium], [#image("../img/physik3/Emissionsspektren/thallium.png")],
+[Tm], [Thulium], [#image("../img/physik3/Emissionsspektren/thulium.png")],
+[U], [Uranium], [#image("../img/physik3/Emissionsspektren/uranium.png")],
+[V], [Vanadium], [#image("../img/physik3/Emissionsspektren/vanadium.png")],
+[W], [Tungsten], [#image("../img/physik3/Emissionsspektren/tungsten.png")],
+[Xe], [Xenon], [#image("../img/physik3/Emissionsspektren/xenon.png")],
+[Y], [Yttrium], [#image("../img/physik3/Emissionsspektren/yttrium.png")],
+[Yb], [Ytterbium], [#image("../img/physik3/Emissionsspektren/ytterbium.png")],
+[Zn], [Zinc], [#image("../img/physik3/Emissionsspektren/zinc.png")],
+[Zn], [Zirconium], [#image("../img/physik3/Emissionsspektren/zirconium.png")],
+)
+
=== Kalorik
==== Druck