首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >堆、python、代码生成

问堆、python、代码生成
EN

Stack Overflow用户
提问于 2014-04-30 09:32:01
回答 1查看 225关注 0票数 0

我想生成一个表,输出dna字母的频率和码字。我应该得到的输出是:

代码语言:javascript
复制
Symbol: T Codeword:         000 Freq: 10
Symbol: T Codeword:         001 Freq: 15
Symbol: T Codeword:          01 Freq: 25
Symbol: T Codeword:           1 Freq: 50
Average VLC codeword length: 1.75 bits per symbol
Average fixed length codeword length: 2 bits per symbol

然而,对于平均VLC码字长度,我得到了一个很长的十进制数,对于固定的码字长度也是如此。加上固定长度应该大于VLC,但我的正好相反。我想我实现的日志代码是错误的,但是我到底做错了什么呢?代码如下:

代码语言:javascript
复制
def main():
  dnaData = readFile()
  dataSymbol = symbol(dnaData)
  node = symNode(dataSymbol)
  heap = mkHeap(len(node), compareFunc)
  dataCollectNode(node, heap)

  while heap.size > 1:
      n1 = removeMin(heap)
      n2 = removeMin(heap)

      for element in n1.symbol:
          element.code = ('0' + element.code)

      for element in n2.symbol:
          element.code = ('1' + element.code)

      newNode = mkNode((n1.cumFreq+n2.cumFreq),(n1.symbol + n2.symbol))
      add(heap, newNode)

  print("Variable length code output...")
  print("---------------------------------------")
  total_different_symbols = 0
  heapNode = top(heap)
  for element in heapNode.symbol:
      print("Symbol: %2s " % element.name, end ='')
      print("Codeword: %8s " % element.code, end ='')
      print("Frequency: %5d " % element.freq)
      temp = int(element.freq)*len(element.code)

      total_different_symbols += temp

  total_different_symbols = total_different_symbols / heapNode.cumFreq
  print("Average VLC codeword length: ", total_different_symbols, " bits per symbols")
  average_fixed_length_codeword = log(total_different_symbols)
  print("Average fixed length codeword length: ", average_fixed_length_codeword, " bits per symbol")

有什么提示吗?

EN

回答 1

Stack Overflow用户

发布于 2014-04-30 09:36:09

明白了,我必须把它改成log(total_different_symbols, 2)

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23378174

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档