eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.comp.programmingSortowanie bąbelkowe › Re: Sortowanie bąbelkowe
  • X-Received: by 2002:ac8:734f:: with SMTP id q15mr3548366qtp.19.1566549277789; Fri, 23
    Aug 2019 01:34:37 -0700 (PDT)
    X-Received: by 2002:ac8:734f:: with SMTP id q15mr3548366qtp.19.1566549277789; Fri, 23
    Aug 2019 01:34:37 -0700 (PDT)
    Path: news-archive.icm.edu.pl!news.icm.edu.pl!newsfeed.pionier.net.pl!2.eu.feeder.erj
    e.net!4.us.feeder.erje.net!feeder.erje.net!weretis.net!feeder6.news.weretis.net
    !feeder.usenetexpress.com!feeder-in1.iad1.usenetexpress.com!border1.nntp.dca1.g
    iganews.com!nntp.giganews.com!f14no7201550qtq.0!news-out.google.com!q13ni995qtn
    .0!nntp.google.com!f14no7201548qtq.0!postnews.google.com!glegroupsg2000goo.goog
    legroups.com!not-for-mail
    Newsgroups: pl.comp.programming
    Date: Fri, 23 Aug 2019 01:34:37 -0700 (PDT)
    In-Reply-To: <d...@g...com>
    Complaints-To: g...@g...com
    Injection-Info: glegroupsg2000goo.googlegroups.com; posting-host=165.225.84.70;
    posting-account=bMuEOQoAAACUUr_ghL3RBIi5neBZ5w_S
    NNTP-Posting-Host: 165.225.84.70
    References: <5...@g...com>
    <b...@g...com>
    <3...@g...com>
    <d...@g...com>
    User-Agent: G2/1.0
    MIME-Version: 1.0
    Message-ID: <d...@g...com>
    Subject: Re: Sortowanie bąbelkowe
    From: Maciej Sobczak <s...@g...com>
    Injection-Date: Fri, 23 Aug 2019 08:34:37 +0000
    Content-Type: text/plain; charset="UTF-8"
    Content-Transfer-Encoding: quoted-printable
    Lines: 36
    Xref: news-archive.icm.edu.pl pl.comp.programming:213827
    [ ukryj nagłówki ]

    > A dlaczego rekurencja jest fuj?

    Bo sortowanie bąbelkowe jest procesem fizycznym, który ani się na rekurencji nie
    opiera ani też nie odnosi się do niej w swoim opisie. Właśnie brak odniesienia do
    rekurencji w opisie tego procesu sprawia, że rekurencja jest tam obcą konstrukcją.
    Można byłoby się z niej wytłumaczyć, gdyby była artefaktem implementacyjnym,
    wymaganym przez użytą technologię (coś w stylu - dlaczego w silniku benzynowym jest
    świeca zapłonowa). Ale nie jest.

    Ot, jakiś fan programowania funkcyjnego się popisał.

    > (I dlaczego Stephen Wolfram zdecydował się ją wesprzeć w swoim języku?)

    A dlaczego uważasz, że się zdecydował albo że ją wsparł? W takiej formie jak powyżej,
    możliwość użycia rekurencji jest raczej przypadkowym efektem ubocznym innych reguł. O
    innych językach też tak można powiedzieć - funkcja może zawołać funkcję; właściwie
    może zawołać dowolną, bo niby czemu nie; o kurczę, sama siebie też może zawołać, a to
    dopiero ciekawostka!

    Należałoby raczej powiedzieć, że jej nie zabronił. Bo i nie było potrzeby zabraniać.
    Ale żeby robić z tego fetysz?
    Zwłaszcza, że wersja bez rekurencji nie jest ani trochę dłuższa. A przy użyciu lambdy
    można było całość zapisać jednym wyrażeniem:

    FixedPoint[#/.{pre___,a_,b_,post___}/;a>b->{pre,b,a,
    post}&,testData]

    I tego już rekurencja nie potrafi. A nadal jest zgodnie z opisem.

    --
    Maciej Sobczak * http://www.inspirel.com

Podziel się

Poleć ten post znajomemu poleć

Wydrukuj ten post drukuj

Najnowsze wątki z tej grupy


Najnowsze wątki

Szukaj w grupach

Eksperci egospodarka.pl

1 1 1

Wpisz nazwę miasta, dla którego chcesz znaleźć jednostkę ZUS.

Wzory dokumentów

Bezpłatne wzory dokumentów i formularzy.
Wyszukaj i pobierz za darmo: