自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 数据结构-Hanoi问题的思考

1.汉诺塔问题源于印度一个古老的传说,有三根柱子A、B、C,其中A柱子上有n个不同大小的圆盘,按照从小到大的顺序从上到下摞着2.要求将这些圆盘从A柱子移动到C柱子上,每次只能移动一个圆盘,且小圆盘不能放在大圆盘下面3.可以借助B柱子作为辅助对于n个圆盘的汉诺塔问题,可以分为三个步骤:1.将A柱子上的n-1个圆盘移动到B柱子上,借助C柱子作为辅助2.将A柱子上剩下的最大的圆盘移动到C柱子上3.将B柱子上的n-1个圆盘移动到C柱子上,借助A柱子作为辅助。

2023-06-11 22:02:14 212 1

原创 数据结构-第八讲 链队列

队列是一种特殊的线性表,特殊之处在于它只允许在表的前端(front)进行删除操作,而在表的后端(rear)进行插入操作,和栈一样,队列是一种操作受限制的线性表,链队列就是队列的链式存储。进行插入操作的端称为队尾,进行删除操作的端称为队头。链队列是指采用链接存储结构实现的队列。队列中的每个元素单独占有相应大小的存储空间。每个存储单元包括所需要存储的数据,以及下个存储单元的地址指针。

2023-04-23 17:42:10 1051

原创 数据结构-第六讲 栈及括号匹配

栈是这么定义的:栈(stack)又名堆栈,它是一种运算受限的线性表。限定仅在表尾进行插入和删除操作的线性表。这一端被称为栈顶,相对地,把另一端称为栈底。向一个栈插入新元素又称作进栈、入栈或压栈,它是把新元素放到栈顶元素的上面,使之成为新的栈顶元素;从一个栈删除元素又称作出栈或退栈,它是把栈顶元素删除掉,使其相邻的元素成为新的栈顶元素。运算受限:也就是这个表你不能随便的删除插入。只能按照它的规则进行插入删除。比如栈就只能在一端进行插入和删除。同样,队列也是运算受限,只能在两头操作。

2023-04-23 17:24:57 698

原创 数据结构-第七讲 Hanoi问题

Hanoi算法是递归算法的一个经典案例,理解透彻有助于真正的理解递归逻辑(非内存角度)。2.递归:把复杂问题简单化,有时会隐藏些细节,所以不能理解递归的话会觉得很难懂,而懂的递归的人 会觉得非常清晰明了。1. 迭代(又叫递推):是要弄清楚每一步之间的相互关系,相互关系是清晰的,但实现比较复杂,繁琐。当n=2时,H(2)=3,即A—>B,A—>C,B—>C;第一步:①从A—>B:共H(n-1)步;第三步:①从B—>C:共H(n-1)步.当n=1时,H(1)=1,即A—>C;第二步:n 从A—>C:共1步;

2023-04-22 15:40:58 211 1

原创 数据结构-第五讲 线性表总结

线性结构的基本特点 ·是由n(n>=0)个结点组成的有穷序列. ·(直接)前驱 (直接)后继 ,一个结点代表一个数据元素,通常要求同 一个线性结构中的所有结点所代表的数据 元素具有相同的属性(比如:数据项个数相 同;栈是一种特殊的线性表,具有后进先出(LIFO)的特点,只能在栈顶进行插入、删除操作。线性表是数据结构的基础,掌握线性表的基本概念及其实现方式对于其他数据结构的学习有很大的帮助。同时,线性表的实现方式需要根据具体问题的需求选择合适的结构,以满足不同的算法和应用需求。

2023-04-22 15:28:33 105

原创 数据结构-第四讲 多项式的加法 2023.4.6

可以先将p1的第一项与p2的各项相乘得到一个初始的p,然后再双重循环P1 p2,系数相乘指数相加,再插入到初始链表的适当位置。由于原来的链表是按指数递减排列的,只要比较指数大小就可以找到适当的插入位置的。设计数据结构:多项式的表示。> P1->exponexpon:将P2的当前项存入结果多项式,并使P2指向下一项。^ P1->expon==P2->expon:系数相加,若结果不为0,则作为结果多项式对应项。P1->expon>P2->expon:将P1的当前项存入结果多项式,并使P1指向下一项;

2023-04-11 16:52:13 877

原创 数据结构-第三讲 静态链表 2023.4.6

2,静态链表是用数组实现的,是顺序的存储结构,在物理地址上是连续的,而且需要预先分配大小。静态链表在插入、删除时也是通过修改指针域来实现的,与动态链表没有什么分别(动态链表还需要删除内存)。1,有些高级语言中没有“指针”数据类型,只能用数组来模拟线性链表的结构,数组元素中的指针“域”存放的不是元素在内存中的真实地址,而是在数组中的位置。3,静态链表:把线性表的元素存放在数组的单元中(不一定按逻辑顺序连续存放),每个单元不仅存放元素本身 ,而且还要存放其后继元素所在的数组单元的下标(游标)。

2023-04-11 16:15:11 682 1

原创 数据结构-第二讲 2.2 链表 2023.3.27

2.单链表插入结点时,修改指针域的顺序。1.单链表定位前驱节点。线性表和单链表的区别。

2023-03-29 21:37:27 126

原创 数据结构-第二讲 2.1线性表 2023.3.23

printf("无法找到:不合法位置");printf("不合法地址\n");

2023-03-23 17:29:31 95

原创 数据结构-第一讲 听课总结 2023.3.21

而1.2则开始为课程打基础,讲解了:数据、数据元素、数据项和数据对象这几个术语,让我区分这些术语之间的区别。随后用图示化告诉了我四种逻辑结构:集合结构,线性结构,树结构,图结构,它们的复杂程度依次递进。而老师用教室中的座位举例,让我了解到一些二维结构可以通过转化思想,将问题简单化,理解为一维结构。今天我在课堂上学习了第1章 绪论,这节课让我了解到这门数据结构课程学习的内容以及重要性,这门课是讲现在计算机如何对非数值计算,如处理字符、表格和图像等具有结构的数据进行有效的处理,以便设计出高效的算法。

2023-03-22 21:10:46 167

空空如也

空空如也

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

TA关注的人

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