一、基本概念:

像素灰度值为0-255,需要8位二进制数来存储。若一灰度序列为{p1,p2,p3…pn},pi为第i个像素点的灰度值。则所需的空间为8n。

二、问题提出:

若图像中有一大部分的颜色的相同的或是相近的,能不能有更好的方式存储?

三、解决方案:

将像素点的序列{p1,p2,p3…pn}分为m段,每段是所占位数相近的像素点,得到新序列为{s1,s2,s3…sm},每一段中包含一个或者多个像素点,取这一段中像素占用最大的位数作为当前段所有的像素点所占的位数(如s1中的最大像素是128,则取7位为s1中所有像素的所占的位数),用L[t]记录第t段中所包含的像素点的个数,每个占用b[t]位(如前面举例的s1是取7位作为此段的像素点所占的位数,若还有其他的需要1位,2位。。。8位,所以b[t]需要3位要标识当前段所占的位数,7位就表示成110,1位就表示成001)。所以我们要引入一个段头来记录当前段的L[t]和b[t],段头的位数就是L[t]的位数8加上b[t]的位数3,一共是11位。

四、最优子结构性质分析

先从第一元素开始,不断地向集合当中加入元素点。第一个元素点所需要的位数为s[1]=log(p1)1+11(段头长度),在加入第二个点此处为:
s[2]=min{s[1]+1 * log(p2)+11,s[0]+2
max{log(p1),log(p2)}+11},
加入第三个点为:
s[3]=min{s[2]+1log(p3)+11,s[1]+2max{log(p3),log(p2)}+11,s[0]+3*max{log(p1),log(p2),log(p3)}}
依次类推,可得到最优子结构:


等式分析:b max为前面所说的取当前段的最大像素点所占的位数。i为外层循环,i不断地加1,就是不断地往已经选好的最优s[i-1]集合里加像素点。k为内层循环,k增加来寻找当前所有元素点的最优情况,如s[2]、s[3]的样子。k为i和256的最小值,前面规定了一个段不能超过256个,k不能超过i是显而易见的。

我是参考这两位博主的,自己的见解可能还不够,大二寒假自学算法,在变强的路上希望能够越走越远,最后但愿疫情能够早点好起来,武汉加油。(第一个链接主要是分析,第二个是实例)

https://blog.csdn.net/qq_22238021/article/details/78908323
https://blog.csdn.net/lin434406218/article/details/52698296

算法设计与分析——图像的压缩相关推荐

  1. 哈工大2020秋算法设计与分析大作业(一)

    哈工大2020秋算法设计与分析大作业(一) 前言 正文 1 论文题目 标题 作者 刊物 2 论文阅读报告 2.1 摘要 2.2 问题定义 2.3 算法或证明过程 2.4 实验结论 哈工大2020秋算法 ...

  2. 【图的同构识别】算法设计与分析实验2

    计算机科学与工程学院实验报告 课程名称 算法设计与分析 班级 实验内容 实验2:图的同构识别 指导教师 姓名 重剑DS 学号 实验日期 2022.05.19 一.问题描述,含输入.输出数据内容.格式 ...

  3. 算法设计与分析(电子科技大学)(上)算法基础和贪心算法

    算法分析与设计 引论 (1)理解算法和程序的差别 (2)理解判断问题和优化问题这两类计算问题 1.理解指数增长的规模 2.理解渐进表达式 掌握渐进符号Ο.Θ.Ω的含义,能判断一个函数属于哪个渐近增长阶 ...

  4. 算法设计与分析:二叉树问题的解决思路

    文章目录 前言 二叉树的基本思想 简单题 合并二叉树 二叉树的坡度 中等题 二叉树剪枝 总结 前言 二叉树是数据结构中使用频率非常高的一种了,凭借高实用性和效率成为数据结构中必须攻克的一环.关于二叉树 ...

  5. 天津理工大学研究生学位课《算法设计与分析》期末大作业

    2022- 2023学年度第一学期 研究生学位课< 算法设计与分析 > 期末大作业 2022级电子信息天理研究生 一.简答题 1.若,写出用Θ.Ω和О描述f(n) 的渐进表达.(7分) 答 ...

  6. 算法设计与分析课程的时间空间复杂度

    算法设计与分析课程的时间空间复杂度: 总结 算法 时间复杂度 空间复杂度 说明 Hanoi $ O(2^n) $ $ O(n) $ 递归使用 会场安排问题 \(O(nlogn)\) \(O(n)\) ...

  7. 哈工大威海算法设计与分析_计算机算法设计与分析第一章 算法概述

    晓强Deep Learning的读书分享会,先从这里开始,从大学开始.大家好,我是晓强,计算机科学与技术专业研究生在读.我会不定时的更新我的文章,内容可能包括深度学习入门知识,具体包括CV,NLP方向 ...

  8. PHP第五周答案,算法设计与分析第五周作业——Word Ladder

    算法设计与分析第五周作业--Word Ladder 上周找了一道深度搜索优先搜索的算法题来做,于是这周就选了一道广度优先搜索算法题来试试手. 本周所选题目:原题目链接 题目详情 题目大意:给出一个字符 ...

  9. 太原理工大学linux与python编程r实验报告_太原理工大学算法设计与分析实验报告...

    <太原理工大学算法设计与分析实验报告>由会员分享,可在线阅读,更多相关<太原理工大学算法设计与分析实验报告(12页珍藏版)>请在人人文库网上搜索. 1.本科实验报告课程名称: ...

  10. 算法设计与分析——算法思想总结

    算法设计与分析 1.分治法 分治法的基本思想是将一个规模为n的问题分解为k个规模较小的子问题,这些子问题相互独立且与原问题相同.递归的解这些子问题,然后将各子问题的解合并得到原问题的解. 分治法所能解 ...

最新文章

  1. MongoDB之conf配置文件详解
  2. NorthWest University - Medical Engineering
  3. spring AoP学习 -----AoP织入器ProxyFactory剖析
  4. [Java5新特性] 动态代理
  5. intellij行数输出限制
  6. java api 开发_Java开发人员应该知道的前20个库和API
  7. 客户端版本和服务器版本上传软件
  8. java软件工程_java复习
  9. ArcGIS工具之ET GeoWizards、GeoTools、GeoTools
  10. java代码求IP和mac地址
  11. 《人月神话》读书笔记2--空间技能
  12. Android ProgressBar示例
  13. linux 提取有效源码,MPSOC之4——petalinux提取源码
  14. 【DSP开发】解读TI的KeyStone II云技术应用
  15. C/C++回调方式系列之二class接口回调和lambda程式
  16. 媒体查询加上rem实现页面字体大小自适应
  17. 前瞻性研究(Prospective study)
  18. Spring Cloud实战(二)-Spring Cloud Eureka
  19. win10系统与时间服务器同步超时,Win10时间同步出错怎么办 Win10时间同步出错解决方法...
  20. WordPress模板教程

热门文章

  1. 【C语言】实现 4阶(经典)龙格-库塔法 求解二阶微分方程
  2. 了解SINAD、ENOB、SNR、THD、 THD + N、SFDR,不在噪底中迷失
  3. win10蓝牙无法连接
  4. 遥感原理与应用总结——第一章:遥感原理的基本概念
  5. IBM发布基于内存的人工智能计算架构
  6. 修改centos系统时间
  7. Unity接入Steam成就
  8. 计算机网络各章节知识点总结
  9. 安卓UI相关开源项目库汇总
  10. 饿了么移动 APP 的架构演进