{"title":"Efficient Construction of Minimum-Redundancy Codes for Large Alphabets","authors":"Alistair Moffat, A. Turpin","doi":"10.1109/18.681345","DOIUrl":null,"url":null,"abstract":"We consider the problem of calculating minimum-redundancy codes for alphabets in which there is significant repetition of symbol weights. On a sorted-by-weight alphabet of, n symbols and r distinct symbol weights we show that a minimum-redundancy prefix code can be constructed in O(r+r log(n/r)) time, and that a minimum redundancy L-bit length-limited prefix code can be constructed in O(Lr+Lrlog(n/r)) time. When r is small relative to n-which is necessarily the case for most practical coding problems on large alphabets-these bounds represent a substantial improvement upon the best previous algorithms for these two problems, which consumed O(n) time and O(nL) time, respectively. The improved algorithms are also space-efficient.","PeriodicalId":13250,"journal":{"name":"IEEE Trans. Inf. Theory","volume":"119 1","pages":"1650-1657"},"PeriodicalIF":0.0000,"publicationDate":"1998-07-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"46","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"IEEE Trans. Inf. Theory","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1109/18.681345","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 46
Abstract
We consider the problem of calculating minimum-redundancy codes for alphabets in which there is significant repetition of symbol weights. On a sorted-by-weight alphabet of, n symbols and r distinct symbol weights we show that a minimum-redundancy prefix code can be constructed in O(r+r log(n/r)) time, and that a minimum redundancy L-bit length-limited prefix code can be constructed in O(Lr+Lrlog(n/r)) time. When r is small relative to n-which is necessarily the case for most practical coding problems on large alphabets-these bounds represent a substantial improvement upon the best previous algorithms for these two problems, which consumed O(n) time and O(nL) time, respectively. The improved algorithms are also space-efficient.