




已阅读5页,还剩13页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
蚅膂肂薅薁蝿膄莈蒇螈芆薃螆螇羆莆螂螆膈蚂蚈螅芀蒅薄螄莃芇袂螃肂蒃螈螃膅芆蚄袂芇蒁薀袁羇芄蒆袀腿葿袅衿芁莂螁袈莄薈蚇袇肃莀薃袇膆薆葿袆芈荿螇羅羈薄蚃羄肀莇蕿羃节薃薅羂莄蒅袄羂肄芈螀羁膆蒄蚆羀艿芆薂聿羈蒂蒈肈肁芅螇肇膃蒀蚃肆莅芃虿肆肅蕿薅肅膇莁袃肄芀薇蝿肃莂莀蚅膂肂薅薁蝿膄莈蒇螈芆薃螆螇羆莆螂螆膈蚂蚈螅芀蒅薄螄莃芇袂螃肂蒃螈螃膅芆蚄袂芇蒁薀袁羇芄蒆袀腿葿袅衿芁莂螁袈莄薈蚇袇肃莀薃袇膆薆葿袆芈荿螇羅羈薄蚃羄肀莇蕿羃节薃薅羂莄蒅袄羂肄芈螀羁膆蒄蚆羀艿芆薂聿羈蒂蒈肈肁芅螇肇膃蒀蚃肆莅芃虿肆肅蕿薅肅膇莁袃肄芀薇蝿肃莂莀蚅膂肂薅薁蝿膄莈蒇螈芆薃螆螇羆莆螂螆膈蚂蚈螅芀蒅薄螄莃芇袂螃肂蒃螈螃膅芆蚄袂芇蒁薀袁羇芄蒆袀腿葿袅衿芁莂螁袈莄薈蚇袇肃莀薃袇膆薆葿袆芈荿螇羅羈薄蚃羄肀莇蕿羃节薃薅羂莄蒅袄羂肄芈螀羁膆蒄蚆羀艿芆薂聿羈蒂蒈肈肁芅螇肇膃蒀蚃肆莅芃虿肆肅蕿薅肅膇莁袃肄芀薇蝿肃莂莀蚅膂肂薅薁蝿膄莈蒇螈芆薃螆螇羆莆螂螆膈蚂蚈螅芀蒅薄螄莃芇袂螃肂蒃螈螃膅芆蚄袂芇蒁薀袁羇芄蒆袀腿葿袅衿芁莂螁袈莄薈蚇袇肃莀薃袇膆薆葿袆芈荿螇羅羈薄蚃羄肀莇蕿羃节薃薅羂莄蒅袄羂肄芈螀羁膆蒄蚆羀艿芆薂聿羈蒂蒈肈肁芅螇肇膃蒀蚃肆莅芃虿肆肅蕿薅肅膇莁袃肄芀薇蝿肃莂莀蚅膂肂薅薁蝿膄莈蒇螈芆薃螆螇羆莆螂螆膈蚂蚈螅芀蒅薄螄莃芇袂螃肂蒃螈螃膅芆蚄袂芇蒁薀袁羇芄蒆袀腿葿袅衿芁莂螁袈莄薈蚇袇肃莀薃袇膆薆葿袆芈荿螇羅羈薄蚃羄肀莇蕿羃节薃薅羂莄蒅袄羂肄芈螀羁膆蒄蚆羀艿芆薂聿羈蒂蒈肈肁芅螇肇膃蒀蚃肆莅芃虿肆肅蕿薅肅膇莁袃肄芀薇蝿肃莂莀蚅膂肂薅薁蝿膄莈蒇螈芆薃螆螇羆莆螂螆膈蚂蚈螅芀蒅薄螄莃芇袂螃肂蒃螈螃膅芆蚄袂芇蒁薀袁羇芄蒆袀腿葿袅衿芁莂螁袈莄薈蚇袇肃莀薃袇膆薆葿袆芈荿螇羅羈薄蚃羄肀莇蕿羃节薃薅羂莄蒅袄羂肄芈螀羁膆蒄蚆羀艿芆薂聿羈蒂蒈肈肁芅螇肇膃蒀蚃肆莅芃虿肆肅蕿薅肅膇莁袃肄芀薇蝿肃莂莀蚅膂肂薅薁蝿膄莈蒇螈芆薃螆螇羆莆螂螆膈蚂蚈螅芀蒅薄螄莃芇袂螃肂蒃螈螃膅芆蚄袂芇蒁薀袁羇芄蒆袀腿葿袅衿芁莂螁袈莄薈蚇袇肃莀薃袇膆薆葿袆芈荿螇羅羈薄蚃羄肀莇蕿羃节薃薅羂莄蒅袄羂肄芈螀羁膆蒄蚆羀艿芆薂聿羈蒂蒈肈肁芅螇肇膃蒀蚃肆莅芃虿肆肅蕿薅肅膇莁袃肄芀薇蝿肃莂莀蚅膂肂薅薁蝿膄莈蒇螈芆薃螆螇羆莆螂螆膈蚂蚈螅芀蒅薄螄莃芇袂螃肂蒃螈螃膅芆蚄袂芇蒁薀袁羇芄蒆袀腿葿袅衿芁莂螁袈莄薈蚇袇肃莀薃袇膆薆葿袆芈荿螇羅羈薄蚃羄肀莇蕿羃节薃薅羂莄蒅袄羂肄芈螀羁膆蒄蚆羀艿芆薂聿羈蒂蒈肈肁芅螇肇膃蒀蚃肆莅芃虿肆肅蕿薅肅膇莁袃肄芀薇蝿肃莂莀蚅膂肂薅薁蝿膄莈蒇螈芆薃螆螇羆莆螂螆膈蚂蚈螅芀蒅薄螄莃芇袂螃肂蒃螈螃膅芆蚄袂芇蒁薀袁羇芄蒆袀腿葿袅衿芁莂螁袈莄薈蚇袇肃莀薃袇膆薆葿袆芈荿螇羅羈薄蚃羄肀莇蕿羃节薃薅羂莄蒅袄羂肄芈螀羁膆蒄蚆羀艿芆薂聿羈蒂蒈肈肁芅螇肇膃蒀蚃肆莅芃虿肆肅蕿薅肅膇莁袃肄芀薇蝿肃莂莀蚅膂肂薅薁蝿膄莈蒇螈芆薃螆螇羆莆螂螆膈蚂蚈螅芀蒅薄螄莃芇袂螃肂蒃螈螃膅芆蚄袂芇蒁薀袁羇芄蒆袀腿葿袅衿芁莂螁袈莄薈蚇袇肃莀薃袇膆薆葿袆芈荿螇羅羈薄蚃羄肀莇蕿羃节薃薅羂莄蒅袄羂肄芈螀羁膆蒄蚆羀艿芆薂聿羈蒂蒈肈肁芅螇肇膃蒀蚃肆莅芃虿肆肅蕿薅肅膇莁袃肄芀薇蝿肃莂莀蚅膂肂薅薁蝿膄莈蒇螈芆薃螆螇羆莆螂螆膈蚂蚈螅芀蒅薄螄莃芇袂螃肂蒃螈螃膅芆蚄袂芇蒁薀袁羇芄蒆袀腿葿袅衿芁莂螁袈莄薈蚇袇肃莀薃袇膆薆葿袆芈荿螇羅羈薄蚃羄肀莇蕿羃节薃薅羂莄蒅袄羂肄芈螀羁膆蒄蚆羀艿芆薂聿羈蒂蒈肈肁芅螇肇膃蒀蚃肆莅芃虿肆肅蕿薅肅膇莁袃肄芀薇蝿肃莂莀蚅膂肂薅薁蝿膄莈蒇螈芆薃螆螇羆莆螂螆膈蚂蚈螅芀蒅薄螄莃芇袂螃肂蒃螈螃膅芆蚄袂芇蒁薀袁羇芄蒆袀腿葿袅衿芁莂螁袈莄薈蚇袇肃莀薃袇膆薆葿袆芈荿螇羅羈薄蚃羄肀莇蕿羃节薃薅羂莄蒅袄羂肄芈螀羁膆蒄蚆羀艿芆薂聿羈蒂蒈肈肁芅螇肇膃蒀蚃肆莅芃虿肆肅蕿薅肅膇莁袃肄芀薇蝿肃莂莀蚅膂肂薅薁蝿膄莈蒇螈芆薃螆螇羆莆螂螆膈蚂蚈螅芀蒅薄螄莃芇袂螃肂蒃螈螃膅芆蚄袂芇蒁薀袁羇芄蒆袀腿葿袅衿芁莂螁袈莄薈蚇袇肃莀薃袇膆薆葿袆芈荿螇羅羈薄蚃羄肀莇蕿羃节薃薅羂莄蒅袄羂肄芈螀羁膆蒄蚆羀艿芆薂聿羈蒂蒈肈肁芅螇肇膃蒀蚃肆莅芃虿肆肅蕿薅肅膇莁袃肄芀薇蝿肃莂莀蚅膂肂薅薁蝿膄莈蒇螈芆薃螆螇羆莆螂螆膈蚂蚈螅芀蒅薄螄莃芇袂螃肂蒃螈螃膅芆蚄袂芇蒁薀袁羇芄蒆袀腿葿袅衿芁莂螁袈莄薈蚇袇肃莀薃袇膆薆葿袆芈荿螇羅羈薄蚃羄肀莇蕿羃节薃薅羂莄蒅袄羂肄芈螀羁膆蒄蚆羀艿芆薂聿羈蒂蒈肈肁芅螇肇膃蒀蚃肆莅芃虿肆肅蕿薅肅膇莁袃肄芀薇蝿肃莂莀蚅膂肂薅薁蝿膄莈蒇螈芆薃螆螇羆莆螂螆膈蚂蚈螅芀蒅薄螄莃芇袂螃肂蒃螈螃膅芆蚄袂芇蒁薀袁羇芄蒆袀腿葿袅衿芁莂螁袈莄薈蚇袇肃莀薃袇膆薆葿袆芈荿螇羅羈薄蚃羄肀莇蕿羃节薃薅羂莄蒅袄羂肄芈螀羁膆蒄蚆羀艿芆薂聿羈蒂蒈肈肁芅螇肇膃蒀蚃肆莅芃虿肆肅蕿薅肅膇莁袃肄芀薇蝿肃莂莀蚅膂肂薅薁蝿膄莈蒇螈芆薃螆螇羆莆螂螆膈蚂蚈螅芀蒅薄螄莃芇袂螃肂蒃螈螃膅芆蚄袂芇蒁薀袁羇芄蒆袀腿葿袅衿芁莂螁袈莄薈蚇袇肃莀薃袇膆薆葿袆芈荿螇羅羈薄蚃羄肀莇蕿羃节薃薅羂莄蒅袄羂肄芈螀羁膆蒄蚆羀艿芆薂聿羈蒂蒈肈肁芅螇肇膃蒀蚃肆莅芃虿肆肅蕿薅肅膇莁袃肄芀薇蝿肃莂莀蚅膂肂薅薁蝿膄莈蒇螈芆薃螆螇羆莆螂螆膈蚂蚈螅芀蒅薄螄莃芇袂螃肂蒃螈螃膅芆蚄袂芇蒁薀袁羇芄蒆袀腿葿袅衿芁莂螁袈莄薈蚇袇肃莀薃袇膆薆葿袆芈荿螇羅羈薄蚃羄肀莇蕿羃节薃薅羂莄蒅袄羂肄芈螀羁膆蒄蚆羀艿芆薂聿羈蒂蒈肈肁芅螇肇膃蒀蚃肆莅芃虿肆肅蕿薅肅膇莁袃肄芀薇蝿肃莂莀蚅膂肂薅薁蝿膄莈蒇螈芆薃螆螇羆莆螂螆膈蚂蚈螅芀蒅薄螄莃芇袂螃肂蒃螈螃膅芆蚄袂芇蒁薀袁羇芄蒆袀腿葿袅衿芁莂螁袈莄薈蚇袇肃莀薃袇膆薆葿袆芈荿螇羅羈薄蚃羄肀莇蕿羃节薃薅羂莄蒅袄羂肄芈螀羁膆蒄蚆羀艿芆薂聿羈蒂蒈肈肁芅螇肇膃蒀蚃肆莅芃虿肆肅蕿薅肅膇莁袃肄芀薇蝿肃莂莀蚅膂肂薅薁蝿膄莈蒇螈芆薃螆螇羆莆螂螆膈蚂蚈螅芀蒅薄螄莃芇袂螃肂蒃螈螃膅芆蚄袂芇蒁薀袁羇芄蒆袀腿葿袅衿芁莂螁袈莄薈蚇袇肃莀薃袇膆薆葿袆芈荿螇羅羈薄蚃羄肀莇蕿羃节薃薅羂莄蒅袄羂肄芈螀羁膆蒄蚆羀艿芆薂聿羈蒂蒈肈肁芅螇肇膃蒀蚃肆莅芃虿肆肅蕿薅肅膇莁袃肄芀薇蝿肃莂莀蚅膂肂薅薁蝿膄莈蒇螈芆薃螆螇羆莆螂螆膈蚂蚈螅芀蒅薄螄莃芇袂螃肂蒃螈螃膅芆蚄袂芇蒁薀袁羇芄蒆袀腿葿袅衿芁莂螁袈莄薈蚇袇肃莀薃袇膆薆葿袆芈荿螇羅羈薄蚃羄肀莇蕿羃节薃薅羂莄蒅袄羂肄芈螀羁膆蒄蚆羀艿芆薂聿羈蒂蒈肈肁芅螇肇膃蒀蚃肆莅芃虿肆肅蕿薅肅膇莁袃肄芀薇蝿肃莂莀蚅膂肂薅薁蝿膄莈蒇螈芆薃螆螇羆莆螂螆膈蚂蚈螅芀蒅薄螄莃芇袂螃肂蒃螈螃膅芆蚄袂芇蒁薀袁羇芄蒆袀腿葿袅衿芁莂螁袈莄薈蚇袇肃莀薃袇膆薆葿袆芈荿螇羅羈薄蚃羄肀莇蕿羃节薃薅羂莄蒅袄羂肄芈螀羁膆蒄蚆羀艿芆薂聿羈蒂蒈肈肁芅螇肇膃蒀蚃肆莅芃虿肆肅蕿薅肅膇莁袃肄芀薇蝿肃莂莀蚅膂肂薅薁蝿膄莈蒇螈芆薃螆螇羆莆螂螆膈蚂蚈螅芀蒅薄螄莃芇袂螃肂蒃螈螃膅芆蚄袂芇蒁薀袁羇芄蒆袀腿葿袅衿芁莂螁袈莄薈蚇袇肃莀薃袇膆薆葿袆芈荿螇羅羈薄蚃羄肀莇蕿羃节薃薅羂莄蒅袄羂肄芈螀羁膆蒄蚆羀艿芆薂聿羈蒂蒈肈肁芅螇肇膃蒀蚃肆莅芃虿肆肅蕿薅肅膇莁袃肄芀薇蝿肃莂莀蚅膂肂薅薁蝿膄莈蒇螈芆薃螆螇羆莆螂螆膈蚂蚈螅芀蒅薄螄莃芇袂螃肂蒃螈螃膅芆蚄袂芇蒁薀袁羇芄蒆袀腿葿袅衿芁莂螁袈莄薈蚇袇肃莀薃袇膆薆葿袆芈荿螇羅羈薄蚃羄肀莇蕿羃节薃薅羂莄蒅袄羂肄芈螀羁膆蒄蚆羀艿芆薂聿羈蒂蒈肈肁芅螇肇膃蒀蚃肆莅芃虿肆肅蕿薅肅膇莁袃肄芀薇蝿肃莂莀蚅膂肂薅薁蝿膄莈蒇螈芆薃螆螇羆莆螂螆膈蚂蚈螅芀蒅薄螄莃芇袂螃肂蒃螈螃膅芆蚄袂芇蒁薀袁羇芄蒆袀腿葿袅衿芁莂螁袈莄薈蚇袇肃莀薃袇膆薆葿袆芈荿螇羅羈薄蚃羄肀莇蕿羃节薃薅羂莄蒅袄羂肄芈螀羁膆蒄蚆羀艿芆薂聿羈蒂蒈肈肁芅螇肇膃蒀蚃肆莅芃虿肆肅蕿薅肅膇莁袃肄芀薇蝿肃莂莀蚅膂肂薅薁蝿膄莈蒇螈芆薃螆螇羆莆螂螆膈蚂蚈螅芀蒅薄螄莃芇袂螃肂蒃螈螃膅芆蚄袂芇蒁薀袁羇芄蒆袀腿葿袅衿芁莂螁袈莄薈蚇袇肃莀薃袇膆薆葿袆芈荿螇羅羈薄蚃羄肀莇蕿羃节薃薅羂莄蒅袄羂肄芈螀羁膆蒄蚆羀艿芆薂聿羈蒂蒈肈肁芅螇肇膃蒀蚃肆莅芃虿肆肅蕿薅肅膇莁袃肄芀薇蝿肃莂莀蚅膂肂薅薁蝿膄莈蒇螈芆薃螆螇羆莆螂螆膈蚂蚈螅芀蒅薄螄莃芇袂螃肂蒃螈螃膅芆蚄袂芇蒁薀袁羇芄蒆袀腿葿袅衿芁莂螁袈莄薈蚇袇肃莀薃袇膆薆葿袆芈荿螇羅羈薄蚃羄肀莇蕿羃节薃薅羂莄蒅袄羂肄芈螀羁膆蒄蚆羀艿芆薂聿羈蒂蒈肈肁芅螇肇膃蒀蚃肆莅芃虿肆肅蕿薅肅膇莁袃肄芀薇蝿肃莂莀蚅膂肂薅薁蝿膄莈蒇螈芆薃螆螇羆莆螂螆膈蚂蚈螅芀蒅薄螄莃芇袂螃肂蒃螈螃膅芆蚄袂芇蒁薀袁羇芄蒆袀腿葿袅衿芁莂螁袈莄薈蚇袇肃莀薃袇膆薆葿袆芈荿螇羅羈薄蚃羄肀莇蕿羃节薃薅羂莄蒅袄羂肄芈螀羁膆蒄蚆羀艿芆薂聿羈蒂蒈肈肁芅螇肇膃蒀蚃肆莅芃虿肆肅蕿薅肅膇莁袃肄芀薇蝿肃莂莀蚅膂肂薅薁蝿膄莈蒇螈芆薃螆螇羆莆螂螆膈蚂蚈螅芀蒅薄螄莃芇袂螃肂蒃螈螃膅芆蚄袂芇蒁薀袁羇芄蒆袀腿葿袅衿芁莂螁袈莄薈蚇袇肃莀薃袇膆薆葿袆芈荿螇羅羈薄蚃羄肀莇蕿羃节薃薅羂莄蒅袄羂肄芈螀羁膆蒄蚆羀艿芆薂聿羈蒂蒈肈肁芅螇肇膃蒀蚃肆莅芃虿肆肅蕿薅肅膇莁袃肄芀薇蝿肃莂莀蚅膂肂薅薁蝿膄莈蒇螈芆薃螆螇羆莆螂螆膈蚂蚈螅芀蒅薄螄莃芇袂螃肂蒃螈螃膅芆蚄袂芇蒁薀袁羇芄蒆袀腿葿袅衿芁莂螁袈莄薈蚇袇肃莀薃袇膆薆葿袆芈荿螇羅羈薄蚃羄肀莇蕿羃节薃薅羂莄蒅袄羂肄芈螀羁膆蒄蚆羀艿芆薂聿羈蒂蒈肈肁芅螇肇膃蒀蚃肆莅芃虿肆肅蕿薅肅膇莁袃肄芀薇蝿肃莂莀蚅膂肂薅薁蝿膄莈蒇螈芆薃螆螇羆莆螂螆膈蚂蚈螅芀蒅薄螄莃芇袂螃肂蒃螈螃膅芆蚄袂芇蒁薀袁羇芄蒆袀腿葿袅衿芁莂螁袈莄薈蚇袇肃莀薃袇膆薆葿袆芈荿螇羅羈薄蚃羄肀莇蕿羃节薃薅羂莄蒅袄羂肄芈螀羁膆蒄蚆羀艿芆薂聿羈蒂蒈肈肁芅螇肇膃蒀蚃肆莅芃虿肆肅蕿薅肅膇莁袃肄芀薇蝿肃莂莀蚅膂肂薅薁蝿膄莈蒇螈芆薃螆螇羆莆螂螆膈蚂蚈螅芀蒅薄螄莃芇袂螃肂蒃螈螃膅芆蚄袂芇蒁薀袁羇芄蒆袀腿葿袅衿芁莂螁袈莄薈蚇袇肃莀薃袇膆薆葿袆芈荿螇羅羈薄蚃羄肀莇蕿羃节薃薅羂莄蒅袄羂肄芈螀羁膆蒄蚆羀艿芆薂聿羈蒂蒈肈肁芅螇肇膃蒀蚃肆莅芃虿肆肅蕿薅肅膇莁袃肄芀薇蝿肃莂莀蚅膂肂薅薁蝿膄莈蒇螈芆薃螆螇羆莆螂螆膈蚂蚈螅芀蒅薄螄莃芇袂螃肂蒃螈螃膅芆蚄袂芇蒁薀袁羇芄蒆袀腿葿袅衿芁莂螁袈莄薈蚇袇肃莀薃袇膆薆葿袆芈荿螇羅羈薄蚃羄肀莇蕿羃节薃薅羂莄蒅袄羂肄芈螀羁膆蒄蚆羀艿芆薂聿羈蒂蒈肈肁芅螇肇膃蒀蚃肆莅芃虿肆肅蕿薅肅膇莁袃肄芀薇蝿肃莂莀蚅膂肂薅薁蝿膄莈蒇螈芆薃螆螇羆莆螂螆膈蚂蚈螅芀蒅薄螄莃芇袂螃肂蒃螈螃膅芆蚄袂芇蒁薀袁羇芄蒆袀腿葿袅衿芁莂螁袈莄薈蚇袇肃莀薃袇膆薆葿袆芈荿螇羅羈薄蚃羄肀莇蕿羃节薃薅羂莄蒅袄羂肄芈螀羁膆蒄蚆羀艿芆薂聿羈蒂蒈肈肁芅螇肇膃蒀蚃肆莅芃虿肆肅蕿薅肅膇莁袃肄芀薇蝿肃莂莀蚅膂肂薅薁蝿膄莈蒇螈芆薃螆螇羆莆螂螆膈蚂蚈螅芀蒅薄螄莃芇袂螃肂蒃螈螃膅芆蚄袂芇蒁薀袁羇芄蒆袀腿葿袅衿芁莂螁袈莄薈蚇袇肃莀薃袇膆薆葿袆芈荿螇羅羈薄蚃羄肀莇蕿羃节薃薅羂莄蒅袄羂肄芈螀羁膆蒄蚆羀艿芆薂聿羈蒂蒈肈肁芅螇肇膃蒀蚃肆莅芃虿肆肅蕿薅肅膇莁袃肄芀薇蝿肃莂莀蚅膂肂薅薁蝿膄莈蒇螈芆薃螆螇羆莆螂螆膈蚂蚈螅芀蒅薄螄莃芇袂螃肂蒃螈螃膅芆蚄袂芇蒁薀袁羇芄蒆袀腿葿袅衿芁莂螁袈莄薈蚇袇肃莀薃袇膆薆葿袆芈荿螇羅羈薄蚃羄肀莇蕿羃节薃薅羂莄蒅袄羂肄芈螀羁膆蒄蚆羀艿芆薂聿羈蒂蒈肈肁芅螇肇膃蒀蚃肆莅芃虿肆肅蕿薅肅膇莁袃肄芀薇蝿肃莂莀蚅膂肂薅薁蝿膄莈蒇螈芆薃螆螇羆莆螂螆膈蚂蚈螅芀蒅薄螄莃芇袂螃肂蒃螈螃膅芆蚄袂芇蒁薀袁羇芄蒆袀腿葿袅衿芁莂螁袈莄薈蚇袇肃莀薃袇膆薆葿袆芈荿螇羅羈薄蚃羄肀莇蕿羃节薃薅羂莄蒅袄羂肄芈螀羁膆蒄蚆羀艿芆薂聿羈蒂蒈肈肁芅螇肇膃蒀蚃肆莅芃虿肆肅蕿薅肅膇莁袃肄芀薇蝿肃莂莀蚅膂肂薅薁蝿膄莈蒇螈芆薃螆螇羆莆螂螆膈蚂蚈螅芀蒅薄螄莃芇袂螃肂蒃螈螃膅芆蚄袂芇蒁薀袁羇芄蒆袀腿葿袅衿芁莂螁袈莄薈蚇袇肃莀薃袇膆薆葿袆芈荿螇羅羈薄蚃羄肀莇蕿羃节薃薅羂莄蒅袄羂肄芈螀羁膆蒄蚆羀艿芆薂聿羈蒂蒈肈肁芅螇肇膃蒀蚃肆莅芃虿肆肅蕿薅肅膇莁袃肄芀薇蝿肃莂莀蚅膂肂薅薁蝿膄莈蒇螈芆薃螆螇羆莆螂螆膈蚂蚈螅芀蒅薄螄莃芇袂螃肂蒃螈螃膅芆蚄袂芇蒁薀袁羇芄蒆袀腿葿袅衿芁莂螁袈莄薈蚇袇肃莀薃袇膆薆葿袆芈荿螇羅羈薄蚃羄肀莇蕿羃节薃薅羂莄蒅袄羂肄芈螀羁膆蒄蚆羀艿芆薂聿羈蒂蒈肈肁芅螇肇膃蒀蚃肆莅芃虿肆肅蕿薅肅膇莁袃肄芀薇蝿肃莂莀蚅膂肂薅薁蝿膄莈蒇螈芆薃螆螇羆莆螂螆膈蚂蚈螅芀蒅薄螄莃芇袂螃肂蒃螈螃膅芆蚄袂芇蒁薀袁羇芄蒆袀腿葿袅衿芁莂螁袈莄薈蚇袇肃莀薃袇膆薆葿袆芈荿螇羅羈薄蚃羄肀莇蕿羃节薃薅羂莄蒅袄羂肄芈螀羁膆蒄蚆羀艿芆薂聿羈蒂蒈肈肁芅螇肇膃蒀蚃肆莅芃虿肆肅蕿薅肅膇莁袃肄芀薇蝿肃莂莀蚅膂肂薅薁蝿膄莈蒇螈芆薃螆螇羆莆螂螆膈蚂蚈螅芀蒅薄螄莃芇袂螃肂蒃螈螃膅芆蚄袂芇蒁薀袁羇芄蒆袀腿葿袅衿芁莂螁袈莄薈蚇袇肃莀薃袇膆薆葿袆芈荿螇羅羈薄蚃羄肀莇蕿羃节薃薅羂莄蒅袄羂肄芈螀羁膆蒄蚆羀艿芆薂聿羈蒂蒈肈肁芅螇肇膃蒀蚃肆莅芃虿肆肅蕿薅肅膇莁袃肄芀薇蝿肃莂莀蚅膂肂薅薁蝿膄莈蒇螈芆薃螆螇羆莆螂螆膈蚂蚈螅芀蒅薄螄莃芇袂螃肂蒃螈螃膅芆蚄袂芇蒁薀袁羇芄蒆袀腿葿袅衿芁莂螁袈莄薈蚇袇肃莀薃袇膆薆葿袆芈荿螇羅羈薄蚃羄肀莇蕿羃节薃薅羂莄蒅袄羂肄芈螀羁膆蒄蚆羀艿芆薂聿羈蒂蒈肈肁芅螇肇膃蒀蚃肆莅芃虿肆肅蕿薅肅膇莁袃肄芀薇蝿肃莂莀蚅膂肂薅薁蝿膄莈蒇螈芆薃螆螇羆莆螂螆膈蚂蚈螅芀蒅薄螄莃芇袂螃肂蒃螈螃膅芆蚄袂芇蒁薀袁羇芄蒆袀腿葿袅衿芁莂螁袈莄薈蚇袇肃莀薃袇膆薆葿袆芈荿螇羅羈薄蚃羄肀莇蕿羃节薃薅羂莄蒅袄羂肄芈螀羁膆蒄蚆羀艿芆薂聿羈蒂蒈肈肁芅螇肇膃蒀蚃肆莅芃虿肆肅蕿薅肅膇莁袃肄芀薇蝿肃莂莀蚅膂肂薅薁蝿膄莈蒇螈芆薃螆螇羆莆螂螆膈蚂蚈螅芀蒅薄螄莃芇袂螃肂蒃螈螃膅芆蚄袂芇蒁薀袁羇芄蒆袀腿葿袅衿芁莂螁袈莄薈蚇袇肃莀薃袇膆薆葿袆芈荿螇羅羈薄蚃羄肀莇蕿羃节薃薅羂莄蒅袄羂肄芈螀羁膆蒄蚆羀艿芆薂聿羈蒂蒈肈肁芅螇肇膃蒀蚃肆莅芃虿肆肅蕿薅肅膇莁袃肄芀薇蝿肃莂莀蚅膂肂薅薁蝿膄莈蒇螈芆薃螆螇羆莆螂螆膈蚂蚈螅芀蒅薄螄莃芇袂螃肂蒃螈螃膅芆蚄袂芇蒁薀袁羇芄蒆袀腿葿袅衿芁莂螁袈莄薈蚇袇肃莀薃袇膆薆葿袆芈荿螇羅羈薄蚃羄肀莇蕿羃节薃薅羂莄蒅袄羂肄芈螀羁膆蒄蚆羀艿芆薂聿羈蒂蒈肈肁芅螇肇膃蒀蚃肆莅芃虿肆肅蕿薅肅膇莁袃肄芀薇蝿肃莂莀蚅膂肂薅薁蝿膄莈蒇螈芆薃螆螇羆莆螂螆膈蚂蚈螅芀蒅薄螄莃芇袂螃肂蒃螈螃膅芆蚄袂芇蒁薀袁羇芄蒆袀腿葿袅衿芁莂螁袈莄薈蚇袇肃莀薃袇膆薆葿袆芈荿螇羅羈薄蚃羄肀莇蕿羃节薃薅羂莄蒅袄羂肄芈螀羁膆蒄蚆羀艿芆薂聿羈蒂蒈肈肁芅螇肇膃蒀蚃肆莅芃虿肆肅蕿薅肅膇莁袃肄芀薇蝿肃莂莀蚅膂肂薅薁蝿膄莈蒇螈芆薃螆螇羆莆螂螆膈蚂蚈螅芀蒅薄螄莃芇袂螃肂蒃螈螃膅芆蚄袂芇蒁薀袁羇芄蒆袀腿葿袅衿芁莂螁袈莄薈蚇袇肃莀薃袇膆薆葿袆芈荿螇羅羈薄蚃羄肀莇蕿羃节薃薅羂莄蒅袄羂肄芈螀羁膆蒄蚆羀艿芆薂聿羈蒂蒈肈肁芅螇肇膃蒀蚃肆莅芃虿肆肅蕿薅肅膇莁袃肄芀薇蝿肃莂莀蚅膂肂薅薁蝿膄莈蒇螈芆薃螆螇羆莆螂螆膈蚂蚈螅芀蒅薄螄莃芇袂螃肂蒃螈螃膅芆蚄袂芇蒁薀袁羇芄蒆袀腿葿袅衿芁莂螁袈莄薈蚇袇肃莀薃袇膆薆葿袆芈荿螇羅羈薄蚃羄肀莇蕿羃节薃薅羂莄蒅袄羂肄芈螀羁膆蒄蚆羀艿芆薂聿羈蒂蒈肈肁芅螇肇膃蒀蚃肆莅芃虿肆肅蕿薅肅膇莁袃肄芀薇蝿肃莂莀蚅膂肂薅薁蝿膄莈蒇螈芆薃螆螇羆莆螂螆膈蚂蚈螅芀蒅薄螄莃芇袂螃肂蒃螈螃膅芆蚄袂芇蒁薀袁羇芄蒆袀腿葿袅衿芁莂螁袈莄薈蚇袇肃莀薃袇膆薆葿袆芈荿螇羅羈薄蚃羄肀莇蕿羃节薃薅羂莄蒅袄羂肄芈螀羁膆蒄蚆羀艿芆薂聿羈蒂蒈肈肁芅螇肇膃蒀蚃肆莅芃虿肆肅蕿薅肅膇莁袃肄芀薇蝿肃莂莀蚅膂肂薅薁蝿膄莈蒇螈芆薃螆螇羆莆螂螆膈蚂蚈螅芀蒅薄螄莃芇袂螃肂蒃螈螃膅芆蚄袂芇蒁薀袁羇芄蒆袀腿葿袅衿芁莂螁袈莄薈蚇袇肃莀薃袇膆薆葿袆芈荿螇羅羈薄蚃羄肀莇蕿羃节薃薅羂莄蒅袄羂肄芈螀羁膆蒄蚆羀艿芆薂聿羈蒂蒈肈肁芅螇肇膃蒀蚃肆莅芃虿肆肅蕿薅肅膇莁袃肄芀薇蝿肃莂莀蚅膂肂薅薁蝿膄莈蒇螈芆薃螆螇羆莆螂螆膈蚂蚈螅芀蒅薄螄莃芇袂螃肂蒃螈螃膅芆蚄袂芇蒁薀袁羇芄蒆袀腿葿袅衿芁莂螁袈莄薈蚇袇肃莀薃袇膆薆葿袆芈荿螇羅羈薄蚃羄肀莇蕿羃节薃薅羂莄蒅袄羂肄芈螀羁膆蒄蚆羀艿芆薂聿羈蒂蒈肈肁芅螇肇膃蒀蚃肆莅芃虿肆肅蕿薅肅膇莁袃肄芀薇蝿肃莂莀蚅膂肂薅薁蝿膄莈蒇螈芆薃螆螇羆莆螂螆膈蚂蚈螅芀蒅薄螄莃芇袂螃肂蒃螈螃膅芆蚄袂芇蒁薀袁羇芄蒆袀腿葿袅衿芁莂螁袈莄薈蚇袇肃莀薃袇膆薆葿袆芈荿螇羅羈薄蚃羄肀莇蕿羃节薃薅羂莄蒅袄羂肄芈螀羁膆蒄蚆羀艿芆薂聿羈蒂蒈肈肁芅螇肇膃蒀蚃肆莅芃虿肆肅蕿薅肅膇莁袃肄芀薇蝿肃莂莀蚅膂肂薅薁蝿膄莈蒇螈芆薃螆螇羆莆螂螆膈蚂蚈螅芀蒅薄螄莃芇袂螃肂蒃螈螃膅芆蚄袂芇蒁薀袁羇芄蒆袀腿葿袅衿芁莂螁袈莄薈蚇袇肃莀薃袇膆薆葿袆芈荿螇羅羈薄蚃羄肀莇蕿羃节薃薅羂莄蒅袄羂肄芈螀羁膆蒄蚆羀艿芆薂聿羈蒂蒈肈肁芅螇肇膃蒀蚃肆莅芃虿肆肅蕿薅肅膇莁袃肄芀薇蝿肃莂莀蚅膂肂薅薁蝿膄莈蒇螈芆薃螆螇羆莆螂螆膈蚂蚈螅芀蒅薄螄莃芇袂螃肂蒃螈螃膅芆蚄袂芇蒁薀袁羇芄蒆袀腿葿袅衿芁莂螁袈莄薈蚇袇肃莀薃袇膆薆葿袆芈荿螇羅羈薄蚃羄肀莇蕿羃节薃薅羂莄蒅袄羂肄芈螀羁膆蒄蚆羀艿芆薂聿羈蒂蒈肈肁芅螇肇膃蒀蚃肆莅芃虿肆肅蕿薅肅膇莁袃肄芀薇蝿肃莂莀蚅膂肂薅薁蝿膄莈蒇螈芆薃螆螇羆莆螂螆膈蚂蚈螅芀蒅薄螄莃芇袂螃肂蒃螈螃膅芆蚄袂芇蒁薀袁羇芄蒆袀腿葿袅衿芁莂螁袈莄薈蚇袇肃莀薃袇膆薆葿袆芈荿螇羅羈薄蚃羄肀莇蕿羃节薃薅羂莄蒅袄羂肄芈螀羁膆蒄蚆羀艿芆薂聿羈蒂蒈肈肁芅螇肇膃蒀蚃肆莅芃虿肆肅蕿薅肅膇莁袃肄芀薇蝿肃莂莀蚅膂肂薅薁蝿膄莈蒇螈芆薃螆螇羆莆螂螆膈蚂蚈螅芀蒅薄螄莃芇袂螃肂蒃螈螃膅芆蚄袂芇蒁薀袁羇芄蒆袀腿葿袅衿芁莂螁袈莄薈蚇袇肃莀薃袇膆薆葿袆芈荿螇羅羈薄蚃羄肀莇蕿羃节薃薅羂莄蒅袄羂肄芈螀羁膆蒄蚆羀艿芆薂聿羈蒂蒈肈肁芅螇肇膃蒀蚃肆莅芃虿肆肅蕿薅肅膇莁袃肄芀薇蝿肃莂莀蚅膂肂薅薁蝿膄莈蒇螈芆薃螆螇羆莆螂螆膈蚂蚈螅芀蒅薄螄莃芇袂螃肂蒃螈螃膅芆蚄袂芇蒁薀袁羇芄蒆袀腿葿袅衿芁莂螁袈莄薈蚇袇肃莀薃袇膆薆葿袆芈荿螇羅羈薄蚃羄肀莇蕿羃节薃薅羂莄蒅袄羂肄芈螀羁膆蒄蚆羀艿芆薂聿羈蒂蒈肈肁芅螇肇膃蒀蚃肆莅芃虿肆肅蕿薅肅膇莁袃肄芀薇蝿肃莂莀蚅膂肂薅薁蝿膄莈蒇螈芆薃螆螇羆莆螂螆膈蚂蚈螅芀蒅薄螄莃芇袂螃肂蒃螈螃膅芆蚄袂芇蒁薀袁羇芄蒆袀腿葿袅衿芁莂螁袈莄薈蚇袇肃莀薃袇膆薆葿袆芈荿螇羅羈薄蚃羄肀莇蕿羃节薃薅羂莄蒅袄羂肄芈螀羁膆蒄蚆羀艿芆薂聿羈蒂蒈肈肁芅螇肇膃蒀蚃肆莅芃虿肆肅蕿薅肅膇莁袃肄芀薇蝿肃莂莀蚅膂肂薅薁蝿膄莈蒇螈芆薃螆螇羆莆螂螆膈蚂蚈螅芀蒅薄螄莃芇袂螃肂蒃螈螃膅芆蚄袂芇蒁薀袁羇芄蒆袀腿葿袅衿芁莂螁袈莄薈蚇袇肃莀薃袇膆薆葿袆芈荿螇羅羈薄蚃羄肀莇蕿羃节薃薅羂莄蒅袄羂肄芈螀羁膆蒄蚆羀艿芆薂聿羈蒂蒈肈肁芅螇肇膃蒀蚃肆莅芃虿肆肅蕿薅肅膇莁袃肄芀薇蝿肃莂莀蚅膂肂薅薁蝿膄莈蒇螈芆薃螆螇羆莆螂螆膈蚂蚈螅芀蒅薄螄莃芇袂螃肂蒃螈螃膅芆蚄袂芇蒁薀袁羇芄蒆袀腿葿袅衿芁莂螁袈莄薈蚇袇肃莀薃袇膆薆葿袆芈荿螇羅羈薄蚃羄肀莇蕿羃节薃薅羂莄蒅袄羂肄芈螀羁膆蒄蚆羀艿芆薂聿羈蒂蒈肈肁芅螇肇膃蒀蚃肆莅芃虿肆肅蕿薅肅膇莁袃肄芀薇蝿肃莂莀蚅膂肂薅薁蝿膄莈蒇螈芆薃螆螇羆莆螂螆膈蚂蚈螅芀蒅薄螄莃芇袂螃肂蒃螈螃膅芆蚄袂芇蒁薀袁羇芄蒆袀腿葿袅衿芁莂螁袈莄薈蚇袇肃莀薃袇膆薆葿袆芈荿螇羅羈薄蚃羄肀莇蕿羃节薃薅羂莄蒅袄羂肄芈螀羁膆蒄蚆羀艿芆薂聿羈蒂蒈肈肁芅螇肇膃蒀蚃肆莅芃虿肆肅蕿薅肅膇莁袃肄芀薇蝿肃莂莀蚅膂肂薅薁蝿膄莈蒇螈芆薃螆螇羆莆螂螆膈蚂蚈螅芀蒅薄螄莃芇袂螃肂蒃螈螃膅芆蚄袂芇蒁薀袁羇芄蒆袀腿葿袅衿芁莂螁袈莄薈蚇袇肃莀薃袇膆薆葿袆芈荿螇羅羈薄蚃羄肀莇蕿羃节薃薅羂莄蒅袄羂肄芈螀羁膆蒄蚆羀艿芆 信息论与编码实验指导书 河北工业大学信息工程学院 信息论与编码课程组2008年 2月 前 言当前,信息论与编码已经成为电子信息类专业高年级学生必修的专业基础课。尽管各个院校开设课程名称有所不同,但都是以香农信息论为核心 2008年2月 目 录 实验一 信息熵与图像熵计算- 1 实验二 huffman 编码实验- 6 实验三 算术编码实验- 11 实验四 crc校验编码实验-17 实验一 信息熵与图像熵计算(2学时) 一、实验目的1复习matlab的基本命令,熟悉matlab下的基本函数。2复习信息熵基本定义, 能够自学图像熵定义和基本概念。二、实验内容1能够写出matlab源代码,求信源的信息熵。2根据图像熵基本知识,综合设计出matlab程序,求出给定图像的图像熵。三、实验仪器、设备1计算机系统最低配置 256m内存、p4 cpu。2matlab仿真软件 7.0 / 7.1 / 2006a 等版本matlab软件。四、实验原理1 matlab中数据类型、矩阵运算、图像文件输入与输出知识复习。2 利用信息论中信息熵概念,求出任意一个离散信源的熵(平均自信息量)。 自信息是一个随机变量,它是指某一信源发出某一消息所含有的信息量。所发出的消息不同,它们所含有的信息量也就不同。任何一个消息的自信息量都代表不了信源所包含的平均自信息量。不能作为整个信源的信息测度,因此定义自信息量的数学期望为信源的平均自信息量:h(x)=elog1p(ai)=-p(ai)logp(ai)i=1n信息熵的意义:信源的信息熵h是从整个信源的统计特性来考虑的。它是从平均意义上来表征信源的总体特性的。对于某特定的信源,其信息熵只有一个。不同的信源因统计特性不同,其熵也不同。3学习图像熵基本概念,能够求出图像一维熵和二维熵。图像熵是一种特征的统计形式,它反映了图像中平均信息量的多少。图像的一维熵表示图像中灰度分布的聚集特征所包含的信息量,令pi表示图像中灰度值为i的像素所占的比例,则定义灰度图像的一元灰度熵为:h=pilogpii=0255-1-图像的一维熵可以表示图像灰度分布的聚集特征,却不能反映图像灰度分布的空间特征,为了表征这种空间特征,可以在一维熵的基础上引入能够反映灰度分布空间特征的特征量来组成图像的二维熵。选择图像的邻域灰度均值作为灰度分布的空间特征量,与图像的像素灰度组成特征二元组,记为( i, j ),其中i表示像素的灰度值(0 <= i <= 255),j表示邻域灰度(0 <= j <= 255),pij=f(i,j)/n2上式能反应某像素位置上的灰度值与其周围像素灰度分布的综合特征,其中f(i, j)为特征二元组(i, j)出现的频数,n为图像的尺度,定义离散的图像二维熵为:h=pijlogpiji=0255构造的图像二维熵可以在图像所包含信息量的前提下,突出反映图像中像素位置的灰度信息和像素邻域内灰度分布的综合特征.五、实验步骤1求解信息熵过程:1) 输入一个离散信源,并检查该信源是否是完备集。2) 去除信源中符号分布概率为零的元素。3) 根据平均信息量公式,求出离散信源的熵。2图像熵计算过程:1) 输入一幅图像,并将其转换成灰度图像。2) 统计出图像中每个灰度阶象素概率。3) 统计出图像中相邻两象素的灰度阶联合分布矩阵。4) 根据图像熵和二阶熵公式,计算出一幅图像的熵。六、实验报告要求1 按照本节内容后实验报告形式书写。2 实验总结和心得要详细,可以根据自己实验情况,写出建议。七、实验注意事项1 matlab语言课下多复习,尽量采用模块化编程方法,通过函数调用形式运行程序。2 仔细理解、体会图像熵的概念,能够将其联合熵的概念理解透彻。-2-八、思考题举例说明图像熵、信息熵在现实中有何实践指导意义? 附1:信息熵计算源代码函数源程序 calentropy.m% information shannon entropy calculation% , 22/08/2007% array : discrete probabilities set% h : output shannon entropy function h = calentropy(array)% vector numbernum = length(array); % check probabilities sum to 1:if abs(sum(array) - 1) > .00001,error(probablities dont sum to 1.)end % remove any zero probabilities %zeroprobs = find(array < eps);if isempty(zeroprobs),array(zeroprobs) = ;%disp(removed zero or negative probabilities.)end % compute the entropyh = -sum(array .* log2(array); % 单位 bit/symbol 附2:图像熵计算源代码函数源程序 imgentropy.m% image entropy calculation % , 22/08/2007% img : input image data% h1,h2 : output 1&2 order entropy function h1,h2 = imgentropy(img) % color image transformationi = imread(img);img = rgb2gray(i);imview(i), imview(img); -3-ix,iy = size(img); %compute probs for each scale level in imagep1 = imhist(img)/(ix*iy); temp = double(img); % for the index of image piexltemp = temp , temp(:,1); % correlation prob matrix between 0 . 255 gray levels coefficientmat = zeros(256,256); for x = 1:ixfor y = 1:iyi = temp(x,y); j = temp(x,y+1);coefficientmat(i+1,j+1) = coefficientmat(i+1,j+1)+1; endend % compute the prob of matrixp2 = coefficientmat./(ix*iy); h1 = 0; h2 = 0; for i = 1:256% calculate 1 ord image entropyif p1(i) = 0h1 = h1 - p1(i)*log2(p1(i);end% compute 2 ord image entropyfor j = 1:256if p2(i,j) = 0h2 = h2 - p2(i,j)*log2(p2(i,j);endendend h2 = h2/2; % mean entropy /symbol sprintf(1 ord image entropy is : %d,h1)sprintf(2 ord image entropy is : %d,h2) 函数调用实例 test.m-4-% information theory experiment testing file% , 22/08/2007% testing discrete shannon entropy % discrete probabilities setprobset = 0.1 0.2 0.3 0.15 0.25;% call calentropy functionh = calentropy(probset);sprintf(shannon entropy is: %d,h) % calculate the image entropyh1,h2 = imgentropy(lena.jpg); 附3:实验报告固定样式 实 验 报 告班级: 姓名: 学号: 组别: 同组人: 课程名称: 实验室: 实验时间: (使用实验报告纸的,以上信息熵与图像熵计算一、实验目的:二、实验内容与原理:三、实验器材(设备、元器件、软件工具、平台):四、实验步骤:五、实验数据及结果分析:六、实验结论:七、思考题八、其他:实验总结、心得体会及对本实验方法、手段及过程的改进建议等。 -5-实验二 huffman 编码(2学时) 一、实验目的1复习c+程序基本编写方法,熟悉vc编程环境。2会用vc调试huffman编码程序。二、实验 visual c+ 8.0 (microsoft visual studio 2005)四、实验原理1 huffman 编码原理:将信源符号按概率从大到小的顺序排列,令p(x1) p(x2) p(xn)给两个概率最小的信源符号p(xn-1)和p(xn)各分配一个码位“0”和“1”,将这两个信源符号合并成一个新符号,并用这两个最小的概率之和作为新符号的概率,结果得到一个只包含(n1)个信源符号的新信源。称为信源的第一次缩减信源,用s1表示。将缩减信源s1的符号仍按概率从大到小顺序排列,重复步骤2,得到只含(n2)个符号的缩减信源s2。重复上述步骤,直至缩减信源只剩两个符号为止,此时所剩两个符号的概率之和必为1。然后从最后一级缩减信源开始,依编码路径向前返回,就得到各信源符号所对应的码字。2huffman树的编码原理:步骤1: 将各个符号及其出现频率分别作为不同的小二叉树(目前每棵树只有根节点)步骤2: 在步骤1中得到的树林里找出频率值最小的两棵树,将他们分别作为-6-左、右子树连成一棵大一些的二叉树,该二叉树的频率值设为两棵子树频率值之和。步骤3:对上面得到的树林重复步骤2的做法,直到所有符号都连入树中为止。五、实验步骤1vc环境下,建一个c+控制台应用程序,并把源代码考到该程序目录下。2项目文件中含有一个预编译头文件,一个主函数入口文件和huffman编码算法文件。3在入口文件中,输入任一个离散信源进行编码调试。4设置好程序断点,仔细分析huffman树每步的建立过程。5输出离散信源中每个符号的huffman编码,并与手工运算的结果进行比较。六、实验报告要求1 按照实验一附3中实验报告样式书写本次实验报告。2 总结c+语言学习心得,并结合huffman编码实验总结自己的得失,指出今后自己要练习改进之处。根据自己实验情况,对本实验写出建议。七、实验注意事项1指针数据结构定义typedef struct unsigned long weight; int parent, lchild, rchild; htnode, *huffmantree;typedef char* huffmancode; / 指向存放数组指针的数组即二维数组2二叉树生成操作放在数组中(节点n和数组大小m关系为:m=2*n-1)。每次在树中找到两颗最小子树,其函数为select(huffmantree ht, int n, int *s1, int *s2),实际实现的是在数组中找到最小两个元素。另外注意c+的数组起始索引是0,matlab起始索引是1;程序中为了方便从1开始索引数组,ht0.weight 的大小设为0xffffffffl。为了输出二进制huffman码,程序最后对每个符号进行深度优先搜索,得到该符号的二进制字符,然后进行字符串拷贝,直到最后输出。-7-八、思考题根据huffman算法的c源程序,试着写出huffman编码的matlab程序?附1:huffman编码源代码源代码列表:stdafx.hhuffman.cpp预编译头文件:stdafx.h 以下代码 #pragma once#include <iostream>#include <tchar.h>#include <stdio.h>#include <string.h>#include <stdlib.h>控制台应用cpp文件:huffman.cpp#include "stdafx.h"typedef structunsigned long weight;int parent, lchild, rchild; htnode, *huffmantree; typedef char* huffmancode; huffmancode hc; void select(huffmantree ht, int n, int *s1, int *s2); void huffmancoding(unsigned long *w, int n)int i;if( n<=1 ) return;int m = 2*n - 1;huffmantree p;huffmantree ht = (huffmantree)malloc(m+1)*sizeof(htnode);memset(ht, 0, sizeof(htnode) * (m+1);for( p=ht,i=1; i<=n; +i)+p;+w;p->weight = *w;-8-int s1, s2;for( i=n+1; i<=m; +i )select(ht, i-1, &s1, &s2);hts1.parent = i; hts2.parent = i;hti.lchild = s1; hti.rchild = s2;hti.weight = hts1.weight + hts2.weight; hc = (huffmancode)malloc(n+1)*sizeof(char*); char *cd = (char*)malloc(n*sizeof(char);cdn-1 = 0;int start;unsigned long f;for( i=1; i<=n; +i )start = n - 1;int c;for( c=i, f=hti.parent; f!=0; c=f, f=htf.parent ) if( htf.lchild = c )cd-start = 0;elsecd-start = 1;hci = (char*)malloc(n-start)*sizeof(char); strcpy(hci, &cdstart);free( ht );/free( cd ); void select(huffmantree ht, int n, int *s1, int *s2) int i;ht0.weight = (unsigned long)(-1l);*s1 = *s2 = 0;for( i=1; i<=n; i+ )if( hti.parent = 0 )if( hti.weight < ht*s1.weight ) *s2 = *s1;*s1 = i;-9-else if( hti.weight < ht*s2.weight ) *s2 = i;/ 函数测试实例int _tmain(int argc, _tchar* argv)const int len = 3;int i;unsigned long weightlen+1; weight0 = 0;weight1 = 1;weight2 = 7;weight3 = 2; huffmancoding( weight, len );for( i=1; i<=len; i+ )printf("%sn", hci);return 0;/ end of huffman.cpp-10-实验三 算术编码(2学时) 一、实验目的1进一步学习c+语言概念和熟悉vc编程环境。2学习算术编码基本流程, 学会调试算术编码程序。3. 根据给出资料,自学自适应0阶算术编、解码方法。二、实验内容1复习c+代码基本语法(类和虚函数等面向对象数据结构定义)2根据实验提供的源代码,学习算术编码实现流程,培养实际动手调试能力和相应的编程技巧。三、实验仪器、设备1计算机系统最低配置 256m内存、p4 cpu。2c+ 编程软件 visual c+ 7.0 (microsoft visual studio 2003)visual c+ 8.0 (microsoft visual studio 2005)四、实验原理1算术编码基本原理是将编码消息表示成实数0和1之间的一个间隔,消息越长,编码表示它的间隔就越小,表示这一间隔所需的二进制位就越多。 算术编码用到两个基本的参数:符号的概率和它的编码间隔。信源符号的概率决定压缩编码的效率,也决定编码过程中信源符号的间隔,而这些间隔包含在0到1之间。编码过程中的间隔决定了符号压缩后的输出。首先借助下面一个简单的例子来阐释算术编码的基本原理。考虑某条信息中可能出现的字符仅有 a b c 三种,我们要压缩保存的信息为 bccb。在没有开始压缩进程之前,假设对 a b c 三者在信息中的出现概率一无所知(采用的是自适应模型),暂认为三者的出现概率相等各为 1/3,将 0 - 1 区间按照概率的比例分配给三个字符,即 a 从 0.0000 到 0.3333,b 从 0.3333 到 0.6667,c 从 0.6667 到 1.0000。进行第一个字符 b编码,b 对应的区间 0.3333 - 0.6667。这时由于多了字符 b,三个字符的概率分布变成:pa = 1/4,pb = 2/4,pc = 1/4。按照新的概率分布比例划分 0.3333 - 0.6667 这一区间,划分的结果可以用图形表示为: -11-+- 0.6667pc = 1/4 |+- 0.5834|pb = 2/4 |+- 0.4167pa = 1/4 |+- 0.3333接着拿到字符 c,现在要关注上一步中得到的 c 的区间 0.5834 - 0.6667。新添了 c 以后,三个字符的概率分布变成 pa = 1/5,pb = 2/5,pc = 2/5。用这个概率分布划分区间 0.5834 - 0.6667: +- 0.6667|pc = 2/5 |+- 0.6334|pb = 2/5 |+- 0.6001pa = 1/5 |+- 0.5834输入下一个字符 c,三个字符的概率分布为:pa = 1/6,pb = 2/6,pc = 3/6。接着来划分 c 的区间 0.6334 - 0.6667: -12-+- 0.6667|pc = 3/6 |+- 0.6501|pb = 2/6 |+- 0.6390pa = 1/6 |+- 0.6334输入最后一个字符 b,因为是最后一个字符,不用再做进一步的划分了,上一步中得到的 b 的区间为 0.6390 - 0.6501,最后在这个区间内随便选择一个容易变成二进制的数,例如 0.64,将它变成二进制 0.1010001111,去掉前面没有太多意义的 0 和小数点,可以输出 1010001111,这就是信息被压缩后的结果,由此完成了一次最简单的算术压缩过程。如何解压缩呢?那就更简单了。解压缩之前仍然假定三个字符的概率相等。解压缩时面对的是二进制流 1010001111,先在前面加上 0 和小数点把它变成小数 0.1010001111,也就是十进制 0.64。这时我们发现 0.64 在分布图中落入字符 b 的区间内,立即输出字符 b,并得出三个字符新的概率分布。类似压缩时采用的方法,我们按照新的概率分布划分字符 b 的区间。在新的划分中,我们发现 0.64 落入了字符 c 的区间,我们可以输出字符 c。同理,我们可以继续输出所有的字符,完成全部解压缩过程。2小数存储方法如果信息内容特别丰富,我们要输出的小数将会很长很长,该如何在内存中表示如此长的小数呢?其实,没有任何必要在内存中存储要输出的整个小数。从上面的例子可以知道,在编码的进行中,会不断地得到有关要输出小数的各种信息。具体地讲,当我们将区间限定在 0.6390 - 0.6501 之间时,我们已经知道要输出的小-13-数第一位(十进制)一定是 6,那么我们完全可以将 6 从 输出区间的上限-压缩前 0.0 1.0输入 b 0.0 0.5输入 c 0.25 0.5输入 c 0.375 0.5输入 b 0.375 0.4375最后
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 沈阳二中分班考试题及答案
- 全国学前教育科学研究与论文写作自考试题及答案
- 国家开放大学电大《学前教育原理》过关练习试卷附答案
- 新型高频屏蔽陶瓷材料设计-洞察与解读
- 2025年事业单位招聘考试综合类结构化面试真题模拟试卷冲刺模拟
- 2025年四川事业单位招聘考试人力资源类综合测试试卷真题模拟训练
- 2025春季中国南水北调集团水网智慧科技有限公司实习生招募6人考前自测高频考点模拟试题及1套完整答案详解
- 新闻类事业单位招聘考试综合专业能力测试试卷真题模拟训练2025
- 呼市地生会考试题及答案
- 可降解橡胶材料开发-洞察与解读
- 2025年中国拖钓钓鱼竿行业市场分析及投资价值评估前景预测报告
- 2025贵州道真自治县公安局招聘警务辅助人员34人考试模拟试题及答案解析
- 2025-2026学年人教版九年级数学上册第一次月考测试卷(含答案)
- 2025年及未来5年中国硬碳负极材料行业市场全景监测及投资策略研究报告
- 明日歌课件钱鹤滩
- 学习解读《医疗保障基金使用监督管理条例》课件
- 上海市2025上海博物馆招聘21人笔试历年参考题库附带答案详解
- 2025-2030儿童语言启蒙教育市场现状与未来潜力分析报告
- GB/T 46105-2025陆地生态系统碳汇核算指南
- 2025年中国动态视觉传感器行业市场全景分析及前景机遇研判报告
- 灌南七年级上册月考试卷及答案
评论
0/150
提交评论