{"id":2424,"date":"2019-12-21T10:27:33","date_gmt":"2019-12-21T07:27:33","guid":{"rendered":"http:\/\/demensdeum.com\/blog\/?p=2424"},"modified":"2024-12-16T22:32:31","modified_gmt":"2024-12-16T19:32:31","slug":"lexicompare","status":"publish","type":"post","link":"https:\/\/demensdeum.com\/blog\/de\/2019\/12\/21\/lexicompare\/","title":{"rendered":"Lexikographischer Vergleichsalgorithmus"},"content":{"rendered":"<p>Der lexikografische String-Vergleichsalgorithmus funktioniert sehr einfach; die Zeichencodes werden in einer Schleife verglichen und das Ergebnis wird zur\u00fcckgegeben, wenn die Zeichen nicht gleich sind.<\/p>\n<p>Ein Beispiel f\u00fcr die C-Sprache finden Sie hier:<br \/><a href=\"https:\/\/github.com\/gcc-mirror\/gcc\/blob\/master\/libiberty\/memcmp.c\">https:\/\/github.com\/gcc-mirror\/gcc\/blob\/master\/libiberty\/memcmp.c<\/a><\/p>\n<p>Es sollte ber\u00fccksichtigt werden, dass Sie Zeichen in einer einzigen statischen Codierung vergleichen m\u00fcssen, zum Beispiel habe ich in Swift den zeichenweisen Vergleich in UTF-32 verwendet. Die Array-Sortieroption mit memcmp funktioniert genau f\u00fcr Einzelbyte-Zeichen. In anderen F\u00e4llen (Codierungen mit variabler L\u00e4nge) ist die Reihenfolge m\u00f6glicherweise falsch. Ich schlie\u00dfe die M\u00f6glichkeit einer Implementierung auf Basis von Codierungen mit variabler L\u00e4nge nicht aus, aber h\u00f6chstwahrscheinlich wird es um eine Gr\u00f6\u00dfenordnung komplizierter sein.<\/p>\n<p>Die zeitliche Komplexit\u00e4t des Algorithmus betr\u00e4gt im besten Fall O(1), im Durchschnitt und im schlechtesten Fall O(n)<\/p>\n<h3>Quellen<\/h3>\n<p><a href=\"https:\/\/ru.wikipedia.org\/wiki\/Lexicographic_order\" target=\"_blank\" rel=\"noopener\">https:\/\/ru.wikipedia.org\/wiki\/Lexicographic_order<\/a> <\/p>\n<h3>Quellen<\/h3>\n<p><a href=\"https:\/\/gitlab.com\/demensdeum\/algorithms\/blob\/master\/lexiCompare\/lexiCompare.swift\" target=\"_blank\" rel=\"noopener\">https:\/\/gitlab.com\/demensdeum \/algorithms\/blob\/master\/lexiCompare\/lexiCompare.swift<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Der lexikografische String-Vergleichsalgorithmus funktioniert sehr einfach; die Zeichencodes werden in einer Schleife verglichen und das Ergebnis wird zur\u00fcckgegeben, wenn die Zeichen nicht gleich sind. Ein Beispiel f\u00fcr die C-Sprache finden Sie hier:https:\/\/github.com\/gcc-mirror\/gcc\/blob\/master\/libiberty\/memcmp.c Es sollte ber\u00fccksichtigt werden, dass Sie Zeichen in einer einzigen statischen Codierung vergleichen m\u00fcssen, zum Beispiel habe ich in Swift den zeichenweisen Vergleich<a class=\"more-link\" href=\"https:\/\/demensdeum.com\/blog\/de\/2019\/12\/21\/lexicompare\/\">Continue reading <span class=\"screen-reader-text\">&#8220;Lexikographischer Vergleichsalgorithmus&#8221;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[61,52],"tags":[131,135],"class_list":["post-2424","post","type-post","status-publish","format-standard","hentry","category-techie","category-tutorials","tag-algorithms","tag-lexicompare","entry"],"translation":{"provider":"WPGlobus","version":"3.0.2","language":"de","enabled_languages":["en","ru","zh","de","fr","ja","pt","hi"],"languages":{"en":{"title":true,"content":true,"excerpt":false},"ru":{"title":true,"content":true,"excerpt":false},"zh":{"title":true,"content":true,"excerpt":false},"de":{"title":true,"content":true,"excerpt":false},"fr":{"title":true,"content":true,"excerpt":false},"ja":{"title":true,"content":true,"excerpt":false},"pt":{"title":true,"content":true,"excerpt":false},"hi":{"title":false,"content":false,"excerpt":false}}},"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/demensdeum.com\/blog\/de\/wp-json\/wp\/v2\/posts\/2424","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/demensdeum.com\/blog\/de\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/demensdeum.com\/blog\/de\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/demensdeum.com\/blog\/de\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/demensdeum.com\/blog\/de\/wp-json\/wp\/v2\/comments?post=2424"}],"version-history":[{"count":13,"href":"https:\/\/demensdeum.com\/blog\/de\/wp-json\/wp\/v2\/posts\/2424\/revisions"}],"predecessor-version":[{"id":3929,"href":"https:\/\/demensdeum.com\/blog\/de\/wp-json\/wp\/v2\/posts\/2424\/revisions\/3929"}],"wp:attachment":[{"href":"https:\/\/demensdeum.com\/blog\/de\/wp-json\/wp\/v2\/media?parent=2424"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/demensdeum.com\/blog\/de\/wp-json\/wp\/v2\/categories?post=2424"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/demensdeum.com\/blog\/de\/wp-json\/wp\/v2\/tags?post=2424"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}