自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 图——一种多对多的数据结构

图是一种描述多对多数据关系的数据结构,线性表和树都可以看作是图的一种特殊情况。图中包含以下元素:1.一组定点:通常用V(Vertex)表示顶点的集合。2.一组边:通常用E(Edge)表示边的集合,便是顶点对(v,w)∈E,其中v,w∈V。有向边表示从v指向w的边(单行线)。不考虑重边和自回路。数据名称:图(Graph)数据对象集:G(V,E)由一个非空的有限定点集合V,和一个有限边集合E组成。操作集:·Graph Create():初始化并返回一个空图。

2022-11-24 19:37:46 726 1

原创 并查集相关

已知有十台电脑{1,2,3,4,5,6,7,8,9,10},任给其中两台电脑,我们该如何判断这两台电脑有没有形成连接?解决办法:我们可以将这十台电脑看做10个集合{1},{2},{3},{4},{5},{6},{7},{8},{9},{10}。将两台电脑连接起来的行为可以抽象为将两台电脑对应的集合合并,判断两台电脑是否连接只需要看他们是否属于同一个集合就可以了。

2022-11-23 17:05:13 178

原创 哈夫曼树和哈夫曼编码

带权路径长度(WPL):设二叉树有n个叶子结点,每个叶子节点带有权值wkw_kwk​,从根结点到每个叶子结点的路径长度为lkl_klk​,则每个叶子结点的带权路径长度之和就是:WPL=∑i=1nwklk∑i=1n​wk​lk​。这里的带权路径长度就可以理解为引言里面提到的字符出现的频率。哈夫曼树:WPL最小的树。

2022-11-23 09:18:43 243

原创 堆的概念、结构、插入、删除、和建立。

计算机处理数据需要按照一定的顺序,最简单的顺序就是先来后到,按时间顺序来处理数据。但有时,计算机需要处理的数据有优先级别。比如,打印一张纸排在了发射火箭前面,显然发射火箭比打印一张纸要重要的多,但如果按照时间先后顺序来处理的话,就会先打印一张纸再发射火箭,这显然是不合理的。这时我们就需要一种优先队列(Priority Queue)来应对这种情况。采用数组,链表,有序数组和无序数组的形式都可以实现优先队列,但是都各有不足。于是考虑使用二叉树的形式来实现优先队列,这就有了堆的概念。

2022-11-21 20:30:12 298 1

空空如也

空空如也

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

TA关注的人

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