算法实际运用

我们在linux中用select实现多路复用中有几个宏 FD_SET FD_CLR FD_ZERO在这里充分利用到了集合的概念和算法:

因一项工作而卡住需等待这项工作时,导致别的工作不能完全进行(这样浪费资源和时间)怎么处理呢 这里有几种解决的方法


其中一种就是每隔一段时间进行循环检测看这项工作是否完成,这种的利弊我们暂且不谈:我们来说另一种集合的方法,(不知怎么就想到了函数指针表也记在这里吧也许什么时候灵感出现)

将现在能做的工作打表,然后依次运行运行完后再次检测当前时刻哪些工作准备好了,再次重复

)这样就尽可能减少应为阻塞而导致工程进度的耽搁


无损压缩常见的为Huffman算法和LZW(Lenpel-Ziv &Welch)压缩算法,huffman这个大家学过吧,功能是建立最优huffman树,使总长度变短。正好满足压缩的要求,对于LZW算法经常使用。举个例:

对原始数据ABCCAABCDDAACCDB进行LZW压缩 

    原始数据中,只包括4个字符(Character),A,B,C,D,四个字符可以用一个2bit的数表示,0-A,1-B,2-C,3-D,从最直观的角度看,原始字符串存在重复字符:ABCCAABCDDAACCDB,用4代表AB,5代表CC,上面的字符串可以替代表示为:45A4CDDAA5DB,这样是不是就比原数据短了一些呢!



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值