- 博客(18)
- 收藏
- 关注
原创 数据结构——树(哈夫曼树)
(1)结点路径:从树中一个结点到另一个结点之间的分支构成这两个结点之间的路径(2)路径长度:结点路径上的分支数目称为路径长度(3)权值:各种开销的抽象成虎(4)结点的带权路径长度:从该结点到树的根节点之间的路径长度与结点的权的乘积(5)树的路径长度:从树根到每一个结点的路径长度之和(6)树的带权路径长度:树中所有叶子结点的带权路径长度之和(WPL)(7)哈夫曼树:具有n个叶子结点,每个结点的权值为w_i,WPL最小的树为哈夫曼树。
2025-05-20 17:34:13
321
原创 数据结构——树(树和二叉树)
(1)实现步骤:a、加虚线:在树的每一层按照从左到右的顺序在兄弟结点之间加虚线相连b、去连线:除最左的第一个子结点之外,父结点与所有其他子结点的连线都去掉c、旋转:将树顺时针旋转45度,原有的实线左斜d、整形:将旋转后树中的所有虚线改为实线,并向右斜。
2025-05-20 17:14:13
268
原创 数据结构——树(线索二叉树)
(1)结点定义:左指针域、左标签、数据域、右指针域、右标签(2)左右标签含义:如果为0说明左(右)指针域指向结点的左孩子如果为1说明左指针域指向结点的前驱结点、右指针域指向结点的后继结点(左前右后)
2025-05-20 16:59:15
179
原创 数据结构——树(二叉树的存储)
(1)基本逻辑:用一组地址连续的存储单元依次“自上而下,自左而右”存储完全二叉树的数据元素,对于完全二叉树上编号为i的结点元素存储在一维数组的下标值为i的分量中(2)如果是非完全二叉树,依然同理,但没有结点的位置用空来补齐,编号依然和完全二叉树一样排序(3)因此一般情况下只有完全二叉树使用顺序结构。
2025-05-20 15:27:48
247
原创 数据结构——树(二叉树)
(1)定义:有n个结点的有限集合,有且仅有一个特殊的结点叫树的根结点,若n>1其余结点被分为两个互不相交的自己,分别称之为左右子树,并且左右子树都是二叉树(2)二叉树的5种基本形态。
2025-05-20 15:13:58
256
原创 数据结构——树的基本概念
(1)基本结构:非线性结构、分支关系、一对多、层次结构(2)定义:结点为0时为空树,有且只有一个特殊的结点叫根节点,其余每个结点呗分为多个不相交的子集,每个子集本身又是一棵树,称为根的子树(3)结点:一个数据元素及其若干指向其子树的分支(4)结点的度、树的度:结点所拥有的子树的棵树成为结点的度,结点度的最大值为树的度(5)叶子结点、非叶子结点:度为0的结点为叶子结点,不为0的叫非叶子节点(6)孩子结点、双亲结点、兄弟结点(7)层次:根结点为第一层,根的孩子结点为第二层。
2025-05-19 21:52:00
281
原创 数据结构——队列(双端队列)
2、输出受限的双端队列:删除限制在一端进行,插入允许在两端进行。3、输入受限的双端队列:插入限制在一端进行,删除允许在两端进行。1、栈和队列的结合体。
2025-05-18 19:59:03
146
原创 数据结构——队列(链式队列)
1、需要定义的结点:数据元素结点队列的队首指针(不是数据节点)、队尾指针(是数据结点)int data;}QNode;
2025-05-18 19:49:47
177
原创 数据结构——队列(顺序队列)
1、需要有数组、队首指针、队尾指针2、队首为最下面的一个元素结点,队尾为最后一个结点的下一个结点int front;int rear;}SqQueue;
2025-05-18 19:19:35
272
原创 数据结构——栈的应用
(1)算法思想:设置一个栈,当读到左括号时,左括号进栈,当读右括号时,则从栈中弹出一个元素,与读到的左括号进行匹配,如果匹配成功就继续读入,如果匹配失败则返回FLASE,如果全流程走完栈不空说明不匹配。
2025-05-16 11:32:03
258
原创 数据结构——算法总结:一元多项式的表示与相加
*---------------头文件的定义---------------*///int定义为Status{ //项的表示,多项式的项作为LinkList的数据元素int coef;// 系数int expn;// 指数//结构体类型名为term,又重新定义结构体类型名为ElemTypetypedef struct LNode //结点类型//结点名为LNode,结点类型名为Link//又重新定义结点类型名为Positiontypedef struct //链表类型。
2023-10-01 18:03:31
4006
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人