首页
新闻
会员
周边
捐助
园子
·
关注
·
粉丝
·
会员
·
随便看看
·
消息
欢迎,请先
登录
或者
注册
。
登录
/
注册
闪存
博客
发言
小组
投递
新闻
提问
博问
添加
收藏
文库
问题反馈
问题列表
我关注的
我的博问
博问标签
对数据压缩存储降低算法的空间复杂度
0
[已关闭问题]
关闭于 2025-10-23 20:57
“降低算法的空间复杂度”
主要不是去压缩输入数据
,而是
削减算法在运行过程中额外申请的“工作空间”
(auxiliary space)。
输入数据本身的大小通常被视为
问题规模 n
,属于“必须存在”的硬成本,
不在复杂度优化的靶心
。
1. 空间复杂度到底度量什么?
S(n) = 输入空间 + 输出空间 + 辅助空间
输入空间
:题目给的,
默认不计
(否则任何算法都至少是 Θ(n))。
输出空间
:题目要求返回的结果,
通常也不可省
。
辅助空间
:算法执行时
临时
再 malloc / new / append 出来的缓冲区、栈、队列、哈希表……
这才是可以“砍”的部分
。
. 输入数据能不能“压”?
能
,但属于
数据压缩/编码
领域,不叫“降低算法空间复杂度”。
例:把 1 GB 的文本先压缩成 100 MB 再处理,
问题规模从 n 变成 0.1 n
,可这份压缩是
预处理
,和算法本身的设计无关。
_java_python
|
小虾三级
|
园豆:
1014
提问于:2025-10-23 20:57
显示帮助
使用"Ctrl+Enter"可进行快捷提交,评论支持部分 Markdown 语法:[link](http://example.com) _italic_ **bold** `code`。
<
>
分享
分享您的问题
清除回答草稿
您需要
登录
以后才能回答,未注册用户请先
注册
。