IT评测·应用市场-qidao123.com

标题: 经典面试题之老鼠试药与汉明码 [打印本页]

作者: 王國慶    时间: 2022-8-13 02:18
标题: 经典面试题之老鼠试药与汉明码
  前几天看了介绍汉明码的视频,当即就想到了这道面试题,k只小白鼠检测n瓶药中的1瓶毒药,初学者很容易被唬住,解法也鲜有提及背后的原理,以至于我当时看完完全不理解。
  其实就是信息传输中的汉明码检验,一段长度为n的二进制信息,在2^n处(n=0,1,2,3,...)添加检验码,用于检验后续段落中的信息是否发生翻转,回看开头的面试题,n瓶药中的1瓶毒药,就是长度为n的二进制信息中有1处数据发生翻转,k只小白鼠就是对应最大检验位2^n,所以也有2^k≥n+1,表示检验码和信息之间的关系,1代表2^0,人为地在头部添加1位检验码表示整段信息的状态。
  顺着解题的路子,有些思路上来就把药次序转为二进制排下来,第1只小白鼠喝第1列所有数字为1的药,第2只小白鼠喝第2列所有数字为1的药,也就是第n只小白鼠喝第n列数字为1的药,其实就是对应汉明码中第n位校验码从第n位开始检测n位跳过n位再检测n位的原则。

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!




欢迎光临 IT评测·应用市场-qidao123.com (https://dis.qidao123.com/) Powered by Discuz! X3.4