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