数据结构9.4-9.5练习

                                9.4练习

链表算法

链表基本知识

  1.线性表的链式存储结构是用一组任意的存储单元来存放线性表的数据元素,这组存储单元可以是连续的,也可以是不连续的。

 2.那么,对于某一元素,如何找到它的下一个元素的存放位置呢?因此,对每个数据元素ai,除了存储其本身的信息之外,还需存储一个指示其直接后继存放位置的指针。这两部分信息组成数据元素ai的存储映像,称为结点(node)。它包括两个域:其中存储数据元素信息的域称为数据域;存储直接后继存放位置的域称为指针域。

3.如果每个结点只设置一个指向其后继结点的指针成员,这样的链表称为线性单向链接表,简称单链表。

4.如果每个结点中设置两个指针成员,分别用以指向其前驱结点和后继结点,这样的链表称之为线性双向链接表,简称双链表。

5.链表和数组不同和两者优缺点:(重点)

链表:                                     数组:

不是连续空间                         连续空间

优点:增加和删除方便;    优点:易于访问和连接;

缺点:查找很难      缺点:不利于增加和删除;

d725a5a6db2b40e9a9fe793cb9a8d252.png

b24b96d2eb0d486aadd4da89e9d38a04.png 

0a60a63c7c0243b0b82cd87c04492758.png 

c9c16bce15c04d7a959da243c5338829.png

解题思路:获取第n个节点的值; 头部插入节点 ;尾部插入节点;第n个节点前插入节点;删除第n个节点 

1b0bedd8f4e444f4a60a10e1f091b934.png 

a177dc9f109246fb93cb3fc0dcce5fbd.png 

6c18b806fbc045aa9222d8d7b3941f1a.png 

61560e34327146339ff9b8effbe7501a.png

d71a160e05024620ae1602dd9eb13b8a.png 

f3753a0ed7e346caa4ea6ff01c0dce3b.png 

                          9.5练习

递归方法的基本思路

1.递归:在定义一个过程或函数时出现调用本过程或本函数的成分,称之为递归。

2.若调用自身,称之为直接递归。

3.若过程或函数p调用过程或函数q,而q又调用p,称之为间接递归。 

4.如果一个递归过程或递归函数中递归调用语句是最后一条执行语句,则称这种递归调用为尾递归。

5.递归模型是递归算法的抽象,它反映一个递归问题的递归结构。一般情况下,一个递归模型由递归出口和递归体两部分组成。

6.递归出口确定递归到何时结束,即指出明确的递归结束条件。递归体确定递归求解时的递推关系。

11e84c66842544c0a0f844c5188ce43e.png

0662f4aeb3cb49668fcc4db1efdb661a.png 

1bdb2194928f40e28e126cff9a4d4edd.png 

bdde2695fbbc4556a675929b18601b6b.png 

a0df8a08a3634228bf3e9c92f1d8c0b0.png 

004fc36290834774b8fff7307a241d77.png 

 

 

 

  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
您可以使用`<text>`元素来在SVG图标下方显示文本。以下是一个简单的示例,在SVG图标下方添加了"重置"这个文本: ```html <svg id="screenOper" height="15" viewBox="0 0 512 512" style="margin-right:10px"> <path d="M344 0H488c13.3 0 24 10.7 24 24V168c0 9.7-5.8 18.5-14.8 22.2s-19.3 1.7-26.2-5.2l-39-39-87 87c-9.4 9.4-24.6 9.4-33.9 0l-32-32c-9.4-9.4-9.4-24.6 0-33.9l87-87L327 41c-6.9-6.9-8.9-17.2-5.2-26.2S334.3 0 344 0zM168 512H24c-13.3 0-24-10.7-24-24V344c0-9.7 5.8-18.5 14.8-22.2s19.3-1.7 26.2 5.2l39 39 87-87c9.4-9.4 24.6-9.4 33.9 0l32 32c9.4 9.4 9.4 24.6 0 33.9l-87 87 39 39c6.9 6.9 8.9 17.2 5.2 26.2s-12.5 14.8-22.2 14.8z"/> <text x="256" y="180" text-anchor="middle" font-size="12" fill="black">重置</text> </svg> ``` 在这个例子中,我们添加了一个`<text>`元素,设置了文本内容为"重置",位置为图标中心下方。`x`和`y`属性用于设置文本位置,`text-anchor`属性用于设置文本在x轴方向上的对齐方式,这里设置为"middle"表示居中对齐。`font-size`属性用于设置文本字体大小,`fill`属性用于设置文本颜色。 您也可以使用JavaScript和D3来动态添加文本元素和设置文本内容和位置。例如,以下代码使用D3添加文本元素,并将其放置在图标下方: ```javascript // 选择SVG元素 var svg = d3.select("#screenOper"); // 添加文本元素 svg.append("text") // 设置文本内容 .text("重置") // 设置文本位置 .attr("x", 256) .attr("y", 180) // 设置文本样式 .style("font-size", "12px") .style("fill", "black"); ``` 在这个例子中,我们首先使用`d3.select`方法选择SVG元素,然后使用`append`方法添加一个`text`元素。我们设置了文本内容为"重置",并使用`attr`方法设置了文本的位置。最后,我们使用`style`方法设置文本的字体大小和颜色。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值