@@ -10,11 +10,11 @@ namespace Algorithms.DataCompression;
10
10
/// </summary>
11
11
public class ShannonFanoCompressor
12
12
{
13
- private readonly IHeuristicKnapsackSolver < ( char symbol , double frequency ) > splitter ;
13
+ private readonly IHeuristicKnapsackSolver < ( char Symbol , double Frequency ) > splitter ;
14
14
private readonly Translator translator ;
15
15
16
16
public ShannonFanoCompressor (
17
- IHeuristicKnapsackSolver < ( char symbol , double frequency ) > splitter ,
17
+ IHeuristicKnapsackSolver < ( char Symbol , double Frequency ) > splitter ,
18
18
Translator translator )
19
19
{
20
20
this . splitter = splitter ;
@@ -27,7 +27,7 @@ public ShannonFanoCompressor(
27
27
/// </summary>
28
28
/// <param name="uncompressedText">Text message to compress.</param>
29
29
/// <returns>Compressed string and keys to decompress it.</returns>
30
- public ( string compressedText , Dictionary < string , string > decompressionKeys ) Compress ( string uncompressedText )
30
+ public ( string CompressedText , Dictionary < string , string > DecompressionKeys ) Compress ( string uncompressedText )
31
31
{
32
32
if ( string . IsNullOrEmpty ( uncompressedText ) )
33
33
{
@@ -49,16 +49,16 @@ public ShannonFanoCompressor(
49
49
return ( translator . Translate ( uncompressedText , compressionKeys ) , decompressionKeys ) ;
50
50
}
51
51
52
- private ( Dictionary < string , string > compressionKeys , Dictionary < string , string > decompressionKeys ) GetKeys (
52
+ private ( Dictionary < string , string > CompressionKeys , Dictionary < string , string > DecompressionKeys ) GetKeys (
53
53
ListNode tree )
54
54
{
55
55
var compressionKeys = new Dictionary < string , string > ( ) ;
56
56
var decompressionKeys = new Dictionary < string , string > ( ) ;
57
57
58
58
if ( tree . Data . Length == 1 )
59
59
{
60
- compressionKeys . Add ( tree . Data [ 0 ] . symbol . ToString ( ) , string . Empty ) ;
61
- decompressionKeys . Add ( string . Empty , tree . Data [ 0 ] . symbol . ToString ( ) ) ;
60
+ compressionKeys . Add ( tree . Data [ 0 ] . Symbol . ToString ( ) , string . Empty ) ;
61
+ decompressionKeys . Add ( string . Empty , tree . Data [ 0 ] . Symbol . ToString ( ) ) ;
62
62
return ( compressionKeys , decompressionKeys ) ;
63
63
}
64
64
@@ -86,7 +86,7 @@ private ListNode GenerateShannonFanoTree(ListNode node)
86
86
return node ;
87
87
}
88
88
89
- var left = splitter . Solve ( node . Data , 0.5 * node . Data . Sum ( x => x . frequency ) , x => x . frequency , _ => 1 ) ;
89
+ var left = splitter . Solve ( node . Data , 0.5 * node . Data . Sum ( x => x . Frequency ) , x => x . Frequency , _ => 1 ) ;
90
90
var right = node . Data . Except ( left ) . ToArray ( ) ;
91
91
92
92
node . LeftChild = GenerateShannonFanoTree ( new ListNode ( left ) ) ;
@@ -122,9 +122,9 @@ private ListNode GetListNodeFromText(string text)
122
122
/// </summary>
123
123
public class ListNode
124
124
{
125
- public ListNode ( ( char symbol , double frequency ) [ ] data ) => Data = data ;
125
+ public ListNode ( ( char Symbol , double Frequency ) [ ] data ) => Data = data ;
126
126
127
- public ( char symbol , double frequency ) [ ] Data { get ; }
127
+ public ( char Symbol , double Frequency ) [ ] Data { get ; }
128
128
129
129
public ListNode ? RightChild { get ; set ; }
130
130
0 commit comments