自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 哈夫曼树及其应用

假设有m个权值w1,w2````wm,构造一颗含有n个叶子结点的二叉树,每个叶子节点的权为wi,其中带权路径长度最短的二叉树成为最优二叉树或者哈夫曼树。:将树中结点赋给一个存有某种含义的数值,则这个数值称为该结点的权。:从树中一个结点到另一个结点之间的分支构成这两个结点间的路径。结点数目相同的二叉树中,完全二叉树是路径长度最短的二叉树。:从根节点到该结点之间的路径长度与该结点的权的乘积。:从树根到每一个节点的路径长度之和。:树中所有的叶子结点的带权路径长度之和。:两个结点路径上的分支数。

2023-05-15 21:00:28 33

原创 二叉树遍历

树是n个结点(n>=0)个结点的有限集,它或为空树,或为非空树,对于非空树:1.有且仅有一个称之为根的结点;2.除根结点以外的结点可以分为m(m>0)个互不相交的有限集,其中每个集合本身也代表着一棵树,称为根的子树。二叉树是n个结点(n>=0)个结点的有限集,它或为空树,或为非空树,对于非空二叉树:1.有且仅有一个称之为根的结点;2.除根结点以外的其余结点分为两个互不相交的子集,分别称为该二叉树的左子树和右子树,他们两个本身也是树。

2023-05-03 21:32:14 31

原创 数据结构8,链队列

链队列就是用链表来实现队列,所以初始化链队列时要有两个指针,一个表示头一个表示尾。队列是一种先进先出的结构,比如生活当中的排队,队列需要有头有尾。

2023-04-24 20:18:44 28

原创 数据结构8,栈的应用--括号匹配

输入一个字符串,从第一个到最后一个字符,当遇到‘{’ ‘[’ ‘(‘的时候就将其压入栈中,在遇到其它字符时,看是否匹配,如果是’}’ ‘]’ ')'的话就与对应的 ’{‘ ‘[’ ‘(‘相抵消,出栈。处理完所有的括号时,栈内还剩余’#’。最后出现的左括号最后匹配。

2023-04-24 18:46:46 50

原创 数据结构7,hanoi分析

函数调用需要建立栈帧,而这个栈所占的空间是可以重复利用的,每调用完一次函数数据会被销毁,再次调用时新的数据还是储存在这个空间,当n=3时,共有3个栈帧,h(3)调用一次,h(2)调用2次,h(1)调用4次,所以有n个盘子时,建立n个栈帧,空间复杂度是o(n)以此类推,当有n个盘子的时候,先将上面的n-1个盘子从A移到B,再将第n个盘子从A移到 C,最后将前面n-1个盘子从B移到C。n=2时,将上面一个盘子从A到B需要1,第二个盘子从A到C要1,再把第一个盘子从B到C要1,所以总共要3次。

2023-04-22 20:29:12 56

原创 数据结构6,汉诺塔问题

【代码】数据结构6,汉诺塔问题。

2023-04-19 23:13:29 25

原创 数据结构6,线性表总结

线性表的元素之间存在着一一对应的关系,有且仅有一个开始和一个结束的节点,并且所有节点都最多有一个直接前驱和一个直接后继,头节点只有一个直接后继没有直接前驱,尾节点只有一个直接前驱没有直接后继,对线性表的操作主要有查找,插入和删除等。链表定义:链表是一种常见的基础数据结构,是一种线性表,但是不像顺序表一样连续存储数据,而是在每一个节点里存放下一个节点的位置信息(即地址)线性表按照物理存储结构的不同可以分为顺序表和链表,顺序表存储结构连续,链表在存储结构上不连续但是逻辑上是连续的。ADT 线性表(List)

2023-04-19 22:53:16 45

原创 数据结构5,多项式的加法

1.一个多项式可以表示为X的各次幂与系数乘积的和,多项式的加法,是对单链表的一个基础应用,通过每一个链表来存储不同次幂的不同系数,达到一个链表存储一个多项式的效果。3.两个多项式相加时,对多项式按指数进行排列,从大到小或从小到大,指数相同的项进行合并,系数相加后若为零则要删除这个节点。2.为了存储多项式,需要设立一个结构体,包含系数和指数两个变量,以及一个指针变量。

2023-04-10 10:36:06 53

原创 数据结构4,静态链表

2.静态链表优点:插入和删除时,只需要修改游标,不用移动元素,克服了顺序表中进行插入和删除操作需要移动大量元素的缺点。失去了顺序存储结构存储随机存取的特性。1.静态链表是用数组来实现链式存储结构,实际上就是一个结构体数组。静态链表缺点:没有解决连续存储分配带来的表长度难以确定的问题。静态链表的free其实就是令used处为零。

2023-04-07 12:50:57 75 1

原创 数据结构3,链表

1.本次课从老师对大家作业的评讲中,我认识到代码可观性的提升,需要注意代码的规范性,比如该空格的地方一定空格且注意数量,代码之间的空行不要太多。2.链表特点:用一组任意的存储结构单元存储数据元素,这组数据单元可以连续也可以不连续,除了存储本身信息(数据域)之外,还存储一个指向直接后继的位置(指针域)3.首元结点:链表中第一个存储数据的结点。头结点:首元结点之前的一个结点,指针域指向首元结点。头指针:指向链表中第一个结点。4.指针线条尾部从上一个结点的指针域里面延伸出来,箭头处不进入指向的结点内部。

2023-03-29 13:56:33 43

原创 数据结构第二次课作业

收获:问题思考和代码的简单化,直接化,以及更加注意代码的规范性。

2023-03-23 23:10:22 50

原创 数据结构第一次收获

还大概知晓了计算机数值计算的几个主要步骤,即从具体问题抽象出数学模型,设计一个解的算法,编写程序进行调试和测试直到解决问题。逻辑结构是描述数据逻辑关系,和数据的存储无关,独立于计算机,包含数据元素和关系两个要素。分类为线性结构,集合结构,树结构,图结构(后三个是非线性结构)。通过学生学籍管理系统,人机对弈问题和最短路径问题我初步了解了线性结构,树和网,其难度是逐渐递增的。存储结构(物理结构)即数据对象在计算机中的存储,存储数据元素的数据和数据元素的关系,分为顺序存储结构(数组类型)和链式结构(指针类型)。

2023-03-22 21:59:29 36 1

空空如也

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

TA关注的人

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