Burrows–Wheeler transform: Difference between revisions
Content added Content deleted
No edit summary |
(added BQN solution) |
||
Line 14: | Line 14: | ||
Source: [[wp:Burrows–Wheeler_transform|Burrows–Wheeler transform]] |
Source: [[wp:Burrows–Wheeler_transform|Burrows–Wheeler transform]] |
||
<br><br> |
<br><br> |
||
=={{header|BQN}}== |
|||
<lang BQN>stx←@+2 |
|||
BWT ← { # Burrows-Wheeler Transform and its inverse as an invertible function |
|||
𝕊: "Input contained STX"!⊑stx¬∘∊𝕩 ⋄ (stx⊸∾⊏˜·⍋↓) 𝕩; |
|||
𝕊⁼: 1↓(⊑˜⍟(↕≠∘⊣)⟜⊑ ⍋)⊸⊏ 𝕩 |
|||
} |
|||
</lang> |
|||
Example use: |
|||
<lang> BWT "banana" |
|||
"annb␂aa" |
|||
BWT⁼ BWT "banana" |
|||
"banana" |
|||
BWT "appellee" |
|||
"e␂elplepa" |
|||
BWT⁼ BWT "appellee" |
|||
"appellee" |
|||
BWT "dogwood" |
|||
"do␂oodwg" |
|||
BWT⁼ BWT "dogwood" |
|||
"dogwood" |
|||
BWT "TO BE OR NOT TO BE OR WANT TO BE OR NOT?" |
|||
"?OOORREEETTRTW BBB ATTT NNOOONOO␂ " |
|||
BWT⁼ BWT "TO BE OR NOT TO BE OR WANT TO BE OR NOT?" |
|||
"TO BE OR NOT TO BE OR WANT TO BE OR NOT?" |
|||
BWT "SIX.MIXED.PIXIES.SIFT.SIXTY.PIXIE.DUST.BOXES" |
|||
"STEXYDST.E.IXXIIXXSSMPPS.B..EE.␂.USFXDIIOIIIT" |
|||
BWT⁼ BWT "SIX.MIXED.PIXIES.SIFT.SIXTY.PIXIE.DUST.BOXES" |
|||
"SIX.MIXED.PIXIES.SIFT.SIXTY.PIXIE.DUST.BOXES" |
|||
BWT "␂abc" |
|||
Error: Input contained STX |
|||
</lang> |
|||
=={{header|C}}== |
=={{header|C}}== |