UmU
  • Communities
  • Create Post
  • heart
    Support Lemmy
  • search
    Search
  • Login
  • Sign Up
JPDev@programming.dev to Programmer Humor@programming.dev · 3 years ago

Returns a sorted list in O(1) time

programming.dev

message-square
27
link
fedilink
294

Returns a sorted list in O(1) time

programming.dev

JPDev@programming.dev to Programmer Humor@programming.dev · 3 years ago
message-square
27
link
fedilink
  • Rikudou_Sage@lemmings.world
    link
    fedilink
    arrow-up
    97
    ·
    3 years ago

    While this doesn’t work all the time, when it does, it’s really fast. Similar to the isPrime function, it’s correct most of the time and is much faster than alternative implementations:

    function isPrime(number) {
        return false;
    }
    
    • Dave.@aussie.zone
      link
      fedilink
      arrow-up
      36
      ·
      edit-2
      3 years ago

      What your code can do is run this first and if it returns false then do a quick double check using a traditional isPrime function. Really speeds things up!

      • Rikudou_Sage@lemmings.world
        link
        fedilink
        arrow-up
        25
        ·
        3 years ago

        I mean, it has a 99.999%+ success rate on a large enough sample and I can live with that.

        • Dave.@aussie.zone
          link
          fedilink
          arrow-up
          6
          ·
          3 years ago

          Nah, you’ve always got to check the corner cases. It’s a variation on Murphy’s Law - you don’t encounter corner cases when you’re developing a program but corner cases are 99 percent of an everyday user’s interaction.

      • Doc Avid Mornington@midwest.social
        link
        fedilink
        English
        arrow-up
        5
        ·
        3 years ago

        Good idea, but it would be much faster if you do the double-check on true instead.

        • xmunk@sh.itjust.works
          link
          fedilink
          arrow-up
          1
          ·
          3 years ago

          This is a power(ful) idea.

          Are my stats/programmers in the house?

      • fibojoly@sh.itjust.works
        link
        fedilink
        arrow-up
        4
        ·
        3 years ago

        Better. Return true if the number is in a stored list of known primes, otherwise return false right away. But then, start a separate thread with an actual verification algorithm. When the verification is done, if it was actually a prime number, you just crash the program with a WasActuallyPrime exception.

    • itslilith@lemmy.blahaj.zone
      link
      fedilink
      arrow-up
      16
      ·
      3 years ago

      asymptotically this is 100% correct!

      • mumblerfish@lemmy.world
        link
        fedilink
        arrow-up
        5
        ·
        3 years ago

        What would be the accuracy on something like a 64bit unsigned integer?

        • itslilith@lemmy.blahaj.zone
          link
          fedilink
          arrow-up
          17
          ·
          3 years ago

          WolframAlpha estimates PrimePi[2^64-1] to be about 4.15829E17, so about 97.7%

    • asudox (only for mod, alt)@lemmy.world
      link
      fedilink
      arrow-up
      3
      ·
      3 years ago

      50/50 chance of being right in O(1) time

      • Rikudou_Sage@lemmings.world
        link
        fedilink
        English
        arrow-up
        8
        ·
        3 years ago

        It’s right much more often than just 50/50.

      • andnekon@programming.dev
        link
        fedilink
        arrow-up
        5
        ·
        3 years ago

        50/50 would be for isOdd with the same implementation

      • Lmaydev@programming.devdeleted by creator
        link
        fedilink
        arrow-up
        3
        ·
        3 years ago

        Primes are not that common especially as numbers get bigger.

        It’ll be right the vast majority of times.

    • xmunk@sh.itjust.works
      link
      fedilink
      arrow-up
      2
      ·
      3 years ago

      deleted by creator

Programmer Humor@programming.dev

programmer_humor@programming.dev

Subscribe from Remote Instance

Create a post
You are not logged in. However you can subscribe from another Fediverse account, for example Lemmy or Mastodon. To do this, paste the following into the search field of your instance: !programmer_humor@programming.dev

Welcome to Programmer Humor!

This is a place where you can post jokes, memes, humor, etc. related to programming!

For sharing awful code theres also Programming Horror.

Rules

  • Keep content in english
  • No advertisements
  • Posts must be related to programming or programmer topics
    • If the mod doesn’t find it funny, you’re banned. Ha-ha!.. For real: do not use the community for “statements”. There are other places for such content. Keep it chill and funny.
Visibility: Public
globe

This community can be federated to other instances and be posted/commented in by their users.

  • 1.16K users / day
  • 3.18K users / week
  • 6.91K users / month
  • 16K users / 6 months
  • 2 local subscribers
  • 33.5K subscribers
  • 2.44K Posts
  • 90.4K Comments
  • Modlog
  • mods:
  • Feyter@programming.dev
  • adr1an@programming.dev
  • BurningTurtle@programming.dev
  • Pierre-Yves Lapersonne@programming.dev
  • BE: 0.19.20
  • Modlog
  • Instances
  • Docs
  • Code
  • join-lemmy.org