自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(2)
  • 收藏
  • 关注

原创 哈夫曼树及哈夫曼树的编码解码

总节点n = x + y = 边数 + 1 = my + 1 -> x = (x - 1) / (m - 1) -> n = x + y = (m*x - 1) / (m - 1)总节点数n = (m*x - 1) / (m - 1) // x为叶子数,m为非叶子节点度数。哈夫曼树又称最优树,它是带权路径长度最小的树,它仅有度为m和度为0的节点(叶子)。②每次选取频度最小的两个字符,分别作为左、右孩子(权重为频度), O(n)选取1、2,作为左、右孩子,3作为父母节点。

2023-05-11 20:39:59 2680 1

原创 快排(算法思想、代码实现、优化)

因为当key初始取left时,right判断在前的话,最后重合处为right指向的数(大于key),所以要和right - 1(小于key)交换。相信大家已经注意到了,我们以区间为单位进行划分(而不是以单个数字为单位O(n)),每次都将区间对半分,再对各个区间进行操作,这就是分治法的思想。设区间长度为n,那么每次划分的区间长度分别为n - 1和 1,而不是n/2和n/2,这样就相当于每次排列一个数字,排列n次,O(n)。在我们选取key值时,key的值未必是区间的中位数,这导致了区间的长度不一样。

2023-05-07 13:37:55 656 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除