自定义博客皮肤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)
  • 收藏
  • 关注

原创 数据结构——图

在一个表示工程的有向图中,用顶点表示活动,用弧表示活动之间的优先关系,这样的有向图为顶点表示活动的网,我们称为AOV网( Activity On VertexNetwork)。若用DAG图(有向无环图)表示一个工程,其顶点表示活动,用有向边< V i , V j > 表示活动Vi必须先于活动Vj进行的这样一种关系。在AOV网中,活动Vi是活动Vj的直接前驱,活动Vj是活动Vi的直接后继,这种前驱和后继关系具有传递性,且任何活动Vi不能以它自己作为自己的前驱或后继。二、算法。

2023-06-12 19:57:00 655

原创 数据结构——二叉树的遍历

后序遍历是指在遍历二叉树时先访问树的左子树,然后访问右子树,最后访问根结点。先序遍历是指在遍历二叉树时先访问根结点,然后访问左子树,最后访问右子树。中序遍历是指在遍历二叉树时先访问左子树,然后访问根结点,最后访问右子树。

2023-06-12 19:17:40 130

原创 数据结构——哈夫曼树与哈夫曼编码

对一棵具有n个叶子结点的哈夫曼树,若对树中的每个左分支赋0,右分支赋1(或左1右0),则从根到每个叶子的通路上,各个分支的赋值分别构成一个二进制串,该二进制串就称为哈夫曼编码。② 找最小树:在森林 F 中选择两棵根结点权值最小的二叉树,作为一棵新二叉树的左、右子树,标记新二叉树的根结点权值为其左、右子树的根结点权值之和。简单的说就是先选择权小的,所以权小的结点被放置在树的较深层,而权较大的离根较近,这样一来所构成的哈夫曼树就具有最小带权路径长度。:从树根到某一结点的路径长度与该结点的权的乘积。

2023-06-12 19:06:15 6818

原创 数据结构——链队列

队列(queue)是只允许在一端进行插入操作,而在另一端进行删除操作的线性表。队列是一种先进先出(First In First Out)的线性表,简称FIFO。允许插入的一端称为队尾,允许删除的一端称为队头。队头(Front):允许删除的一端,又称队首。队尾(Rear):允许插入的一端。空队列:不包含任何元素的空表。队列的顺序实现是指分配一块连续的存储单元存放队列中的元素,并附设两个指针:队头指针 front指向队头元素,队尾指针 rear 指向队尾元素的下一个位置。2.代码/**

2023-04-24 15:40:14 170

原创 数据结构——栈的应用——括号匹配

栈(stack)是限定仅在表尾进行插入或者删除的线性表。对于栈来说,表尾端称为栈顶(top),表头端称为栈低(bottom)。不含元素的空表称为空栈。因为栈限定在表尾进行插入或者删除,所以栈又被称为后进先出的线性表。栈的基本操作主要有:栈的初始化、判空、判满、取栈顶元素、在栈顶进行插入和删除。在栈顶插入元素称为入栈,在栈顶删除元素称为出栈栈的应用:括号匹配/***/int top;}//Of if。

2023-04-24 13:34:52 36

原创 数据结构——汉诺塔问题

例如,n=3时,即hanoi(3, a, b, c)入栈,n=2时,hanoi(2, a, b, c)入栈,n=1时,hanoi(1, a, b, c)入栈,当n=0时,不满足条件,就开始出栈,首先hanoi(1, a, b, c)出栈,然后hanoi(2, a, b, c)出栈,最后hanoi(3, a, b, c)出栈.如汉诺塔问题,hanoi函数中的n,a,b,c都是形参,而我们在主函数中输入的('3', 'A', 'B', 'C')则是实参。汉诺塔问题中盘子的个数时n,那么空间复杂度为O(n)。

2023-04-24 13:08:48 766

原创 数据结构——线性表总结

线性表之所以被称作线性表,自然是因为其存储形式是线性的。通俗来讲,就是对于表中的每一个元素(除了第一个和最后一个元素),他们前面都有且只有一个元素(直接前驱),他们的后面也有且只有一个元素(直接后继)。线性表具有如下特点: 线性表中的每一个元素都具有相同的数据类型。

2023-04-19 21:54:08 154

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

将两链表相加:典型的双指针问题,p、q分别在paraList1,paraList2上移动,r记录上一结点便于插入,s为了便于删除结点。5.如果p=q,则p+=q即可,同时释放s,r接p,p、q同时后移,如果相加后p=0,则删除p、q,r不变。2.while循环,终止条件为p或q为NULL,既paraList1或paraList2到了表尾。4.如果p>q ,则按顺序r应该下一个接q,q后移。3.如果p<q,则按顺序r下一个接p,p后移。时,对分别两项次方数进行比较,然后。:两个数据与一个指针域。

2023-04-11 13:22:11 1161

原创 数据结构——静态链表

逻辑结构上相邻的数据元素,存储在指定的一块内存空间中,数据元素只允许在这块内存空间中随机存放,这样的存储结构生成的链表称为静态链表。也就是说静态链表是用数组来实现链式存储结构,目的是方便在不设指针类型的高级程序设计语言中使用链式结构。它的优点是和动态链表一样,删除和插入元素时间复杂度低;不足是和数组一样,需要提前分配一块较大的空间。定义静态链表,并设置最大空间。

2023-04-10 19:42:07 134

原创 【数据结构】 单链表

链表是一种常见的采用动态存储分配方式的数据结构。在链表中,有一个头指针变量,用这个指针保存一个地址,头指针指向一个变量,这个变量称为元素。链表中,每一个元素包括两部分:数据部分和指针部分。数据部分用来存放元素中包含的数据,指针部分用来指向下一个元素。2)头结点的指针域head->next,存放首元结点(第一个实际有效结点)的地址。3)数据域存放用户需要的实际数据,指针域存放下一个结点的地址。4)链表的使用,可以使程序的内存利用率和时间效率大大提高。1)有一个head指针变量,存放头结点地址,称为头指针。

2023-03-29 22:35:26 106

原创 数据结构顺序表

【代码】数据结构顺序表。

2023-03-27 12:39:32 46

原创 数据结构与算法(收获)

第一节数据结构与算法课,闵帆老师用了一种特别的教学方式,是我们的课堂很活跃,他采取了用糖奖励的方式,讲解了这门课的绪论。带我们简单的了解了什么是数据结构,以及常见的数据结构类型,如线性表、树、图等,还了解一些常见的基本概念和术语,以及数据结构。通过第一次数据结构与算法课的学习,我深刻地认识到了数据结构的重要性和应用价值。在这节课中,闵凡老师还告诉我们了该如何做人,应该迎难而上,把问题一个一个的解决,而非去寻找捷径,还有如何去学习计算机这门课程,就是要让我们自己变笨,给计算机的指令要越清楚越好。

2023-03-22 13:06:13 216 1

空空如也

空空如也

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

TA关注的人

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