|
|
|
|
|
by SimplyUnknown
258 days ago
|
|
I'm still not sure I get it. I think it is 1. Put the BWT string in the right-most empty column 2. Sort the rows of the matrix such that the strings read along the columns of the matrix are in lexicographical order starting from the top-row???? 3. Repeat step 1 and 2 until matrix is full 4. Extract the row of the matrix that has the end-delimiter in the final column It's the "sort matrix" step that seems under-explained to me. |
|
1. We sorted the first column to get the BWT column. Thereby we created the structure where the BWT column comes before the sorted column.
2. Therefore if we insert the BWT column before a sorted column, the order of row elements is preserved
3. If we now sort again, the order of characters across individual rows is again preserved
4. Going to step 2 again preserves row order
5. Once all columns are populated, therefore all rows are in the correct original order. And thanks to the end marker we can get the original string from any row.