TestID= fopen('Test_text_file.txt','r');
abstract_words= textscan(TestID , '%s');
fclose(TestID);
alphabet = ['a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z' ...
'(',')','.',',','/','-',' '].';
num_words= length(abstract_words{1});
Prob=zeros(length(alphabet),1);
R= reshape(abstract_words{1},[1,num_words]);
C2M= cell2mat(R);
for i= 1:length(alphabet)
F= find(C2M == alphabet(i));
Prob(i) = length(F);
display(strcat(alphabet(i),' --> ',num2str(Prob(i))));
end
space= num_words-1;
Prob(33)=space;
Prob= Prob /sum(Prob);
figure;
stem(Prob);
[J,I] = sort(Prob, 'descend');
SA= alphabet(I);
LengthOfAlphabet= i;
for i=1:LengthOfAlphabet
Code(i)= ' ';
index{i} = i;
end
while(length(Prob)> 2)
[~,Prob] = sort(Prob, 'descend');
Smallest= Prob(length(Prob));
Before_smallest = Prob(length(Prob)-1);
Smallest_set = index{Smallest};
BS_set = index{Before_smallest};
Smallest_P = Prob(Smallest);
BF_P = Prob(Before_smallest);
Joined_set = {Smallest_set,BS_set};
SumProb= Smallest_P + BF_P ;
index{Prob(length(Prob))} = ' ';
index{Prob(length(Prob)-1)} = ' ';
Prob (Prob(length(Prob):length(Prob)-1))= ' ';
index = [index Joined_set];
Prob = Prob+SumProb;
for o=1:length(Smallest_set)
Code(Smallest_set(o))= strcat('1',Code(Smallest_set(o)));
end
for o=1:length(BS_set)
Code(BS_set(o))= strcat('0',Code(BS_set(o))); <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
end
end
Symbols=alphabet;
Code_Word=Code;