利用问题归约法实现hanoi塔问题_用栈算法递归解决汉诺塔问题

本文介绍了栈的基本概念、顺序栈和链栈的实现,以及栈在解决汉诺塔问题中的应用。栈是一种后进先出的数据结构,通过栈的特性可以有效地解决递归问题,例如汉诺塔问题的递归算法。文章还涵盖了多项式的表示和相加,以及栈在数制转换、括号匹配等场景中的应用。
摘要由CSDN通过智能技术生成

4202901dd0a4cb3e3a3997d4f02e0ccd.png

今天博主收一下线性表的尾,最近我们要学习的内容是栈和队列板块,栈和队列板块分为两讲,第一讲也就是今天我们主要学习栈的相关知识,包括栈的定义、栈的顺序表示及实现,栈的链式表示,栈的应用举例,以及栈递归实现解决汉诺塔问题。 今日的重难点部分,重点为栈的特点,顺序栈和链栈上的基本运算的算法实现;难点为灵活运用栈设计解决应用问题的算法。

日常小清新:

“我往宇宙撒了一把盐,如果凌晨三点前还睡不着,今晚吃盐焗小星球!”


一、顺序表和链表的比较

1.空间方面:

  • 顺序表的存储空间与其逻辑结构相同。所谓的存储密度是指节点数据本身所占的存储量除以节点结构所占的存储总量所得的值。 这个值越大,空间的利用率就越高。
  • 顺序表是静态分配的,其存储密度为1,而链表是动态分配的,其存储密度小于1.

2.时间方面:

  • 顺序表是采用数组实现的,是一种随机存取结构,即对表中任一节点都可在O(1)时间内直接存取 ,适宜于静态查找,而要进行删除和插入操作时,需要移动大量节点。
  • 链表不是一种随机的存取结构,查找某个节点时,须从头指针开始沿途扫描才能取得,所以不适宜做查找;但对插入和删除操作,都只须修改指针,所以链表结构适用于有插入和删除操作的信息列表。

二、多项式的表示和相加

1.多项式的表示:

数学上可按升幂排列,它由n-1个系数唯一确定。

  • 计算机里,它用一个线性列表P来表示:P=(p0,p1,p2,p3,…,pn)每一项的指数都隐含在其系数pi的序号里。

2.一元多项式的相加

  • 一元多项式的相加,一般都是次数相同的项相加减。
  • 在通常情况里,多项式的次数可能很高且变化很大,从而使得存储结构的长度很难确定。显然存储顺序存储结构时浪
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值