Dancing Links在搜索中的应用
- 格式:pdf
- 大小:216.18 KB
- 文档页数:13
notion link用法Notion 是一个多功能的工作和协作工具,允许用户创建笔记、管理任务、建立数据库等。
Notion 支持多种链接方式,以便在内容之间建立关联。
以下是一些常见的 Notion 链接用法:1. **页面链接**:在 Notion 中,你可以通过简单的拖放操作,将一个页面链接到另一个页面。
只需将光标放在你想插入链接的位置,然后拖放目标页面或数据库的缩略图到该位置即可。
2. **内联页面链接**:如果你想在页面中直接插入一个链接到另一个页面,可以使用内联页面链接。
只需在你想插入链接的位置输入 `[[页面名称]]`,然后在Notion 的侧边栏中选择相应的页面并点击“链接”即可。
3. **数据库链接**:如果你想从一个数据库中链接到另一个数据库,可以在侧边栏中选择“链接”选项,然后选择你想链接的数据库。
这将在当前数据库中创建一个新的记录,该记录包含一个链接到目标数据库的页面。
4. **URL 链接**:你还可以使用 URL 链接来连接到外部网站或文档。
只需在你想插入链接的位置输入完整的 URL,然后 Notion 会自动将其转换为可点击的链接。
5. **笔记内的引用链接**:在笔记页面中,你可以使用引用格式(如 [\[笔记标题\]])来创建到其他笔记的链接。
只需在你想插入链接的位置输入 `\[笔记标题\]`,然后在侧边栏中选择相应的笔记并点击“链接”即可。
6. **Markdown 链接**:如果你在使用 Markdown 格式编写笔记,可以使用标准的 Markdown 语法来创建链接。
例如,`[页面名称](页面路径)` 将创建一个指向特定页面的链接。
以上是 Notion 中常见的几种链接用法。
使用这些链接功能,你可以轻松地在 Notion 中建立内容之间的联系,提高你的工作效率和协作能力。
路径搜索算法在游戏中的应用及改进游戏开发领域中,路径搜索算法是一个非常重要的部分。
主要用于实现游戏中角色的移动、寻路、避障等功能。
在这篇文章中,我们将会介绍一些常见的路径搜索算法,并讨论如何对其进行改进,以适应不同类型的游戏。
一、常见的路径搜索算法1. Dijkstra算法Dijkstra算法最初是用于解决单源最短路径问题的。
但是在游戏中,我们通常使用它来找到角色移动的最短路径。
这个算法的思路非常简单,从起点出发,不断找到与起点距离最短的那个节点,并将其标记为已访问过。
然后再以这个节点为中心,继续寻找距离最短的节点,如此往复,直到找到目的地。
2. A*算法A*算法比Dijkstra算法更加高效,因为它可以利用启发式函数来指导搜索方向。
启发函数通常是基于目的地的距离和当前节点到目的地的估计距离进行计算的。
通过将距离和估计距离相加,找到当前节点与目的地之间最小的路径,这也就是A*算法优于其他算法的地方。
3. BFS算法BFS算法是一种基于层级的搜索算法。
它的思路是先访问起点,然后访问与起点相邻的节点,并将它们加入队列中。
接下来依次访问队列中的节点,并将其邻居节点加入队列中。
如此往复,直到访问到目的地。
二、路径搜索算法的改进在不同类型的游戏中,我们需要使用不同的路径搜索算法。
有些游戏中,需要处理大量角色的运动,这时候Dijkstra算法或者A*算法可能会比较慢。
而在一些动作游戏中,需要精确控制角色的运动,这时候就需要使用更加高效的算法。
1. 公平性算法在一些游戏中,我们需要处理大量角色的运动,这些角色也很容易相互干扰。
公平性算法就是为了解决这个问题而设计的。
它可以在保证所有角色都能达到目的地的前提下,让他们尽可能地避开其他角色。
2. 高效算法在一些动作游戏中,需要达到更高的运动速度。
这时候,Dijkstra算法或者A*算法可能会显得有些慢了。
所以,我们需要使用更加高效的算法。
一个思路是把搜索空间进行预处理,这样就可以非常快地找到任意两个位置之间的路径了。
3sat问题规约(原创实用版)目录1.3-SAT 问题的定义2.3-SAT 问题的约束3.3-SAT 问题的求解方法4.3-SAT 问题的应用领域正文1.3-SAT 问题的定义3-SAT 问题是一种在计算机科学和数学领域中广泛研究的问题。
它是指给定一个由变量和常数组成的公式,要求判断这个公式的值是否为真。
这里的“3”表示该问题中的变量和常数的数量上限是 3。
具体来说,3-SAT 问题包括三个约束:每个变量的取值范围是 0 或 1,每个常数的取值范围是 0 或 1,以及每个公式中至少包含一个变量。
2.3-SAT 问题的约束为了求解 3-SAT 问题,我们需要考虑以下三个约束:(1) 每个变量只能取 0 或 1 的值。
这意味着变量不能取其他任何值,如 0.5 或 -1。
(2) 每个常数只能取 0 或 1 的值。
这与变量的取值范围约束类似,限制了常数的取值范围,从而降低了问题的复杂度。
(3) 每个公式中至少包含一个变量。
这意味着我们不能构造一个只包含常数的公式,因为这样的公式无法判断真假。
3.3-SAT 问题的求解方法求解 3-SAT 问题的方法有很多,其中最著名的是回溯法。
回溯法是一种试探性的搜索方法,通过尝试所有可能的变量取值组合来找到满足条件的解。
具体来说,回溯法从第一个变量开始,尝试所有可能的取值。
然后,对于每个变量的取值,继续尝试下一个变量的所有可能取值。
重复这个过程,直到找到一个满足所有公式的解,或者尝试完所有可能的变量取值组合。
除了回溯法,还有其他一些高效的算法可以用来求解 3-SAT 问题,如 Dancing Links 算法和 Confidence Propagation 算法。
4.3-SAT 问题的应用领域3-SAT 问题在许多领域都有广泛的应用,包括计算机科学、数学、物理学、生物学等。
例如,在计算机科学中,3-SAT 问题可以用来验证电路设计是否正确;在数学中,3-SAT 问题可以用来求解组合优化问题,如旅行商问题(TSP)和 0-1 背包问题;在物理学和生物学中,3-SAT 问题可以用来模拟分子结构和生物网络。
nearlink 参数Nearlink是一种参数,它在网络通信中具有重要的作用。
它可以帮助用户在不同网页之间进行快速跳转,并且可以通过特定的标识符来定位到目标网页的特定位置。
在本文中,我们将详细介绍Nearlink参数的使用方法和相关注意事项。
Nearlink参数的基本格式是一个字符串,它通常包含在URL地址中。
在使用Nearlink参数时,我们需要在目标网页的URL地址中添加该参数,并设置合适的值。
这样一来,当用户点击包含Nearlink参数的链接时,系统就会根据该参数的值来执行相应的操作。
Nearlink参数的一个常见用途是实现页面内的锚点跳转。
通过在目标网页中设置合适的锚点,并使用Nearlink参数来指定锚点名称,我们可以实现在同一页面内不同部分之间的快速跳转。
这在长页面或包含大量内容的网页中特别有用,可以提升用户的浏览体验。
除了在页面内进行跳转,Nearlink参数还可以用于实现不同页面之间的跳转。
通过在URL地址中添加Nearlink参数,并设置目标页面的标识符,我们可以实现从当前页面跳转到其他页面的功能。
这在网站导航或多页面应用中经常使用,可以帮助用户快速切换页面,并进行相关操作。
在使用Nearlink参数时,我们需要注意以下几点。
首先,确保设置的参数值是唯一的,避免出现重复或冲突的情况。
其次,参数值应当准确,确保能够正确跳转到目标位置。
此外,我们还需要注意在设置Nearlink参数时,避免使用特殊字符或空格,以免引起链接错误或解析问题。
对于网站开发人员而言,掌握Nearlink参数的使用方法是至关重要的。
在开发过程中,我们可以通过使用合适的库或框架来简化Nearlink参数的处理和操作。
同时,在设计网页时,我们可以充分考虑用户的需求,合理设置Nearlink参数,以提升用户的使用体验。
总结起来,Nearlink参数是一种在网络通信中常用的参数,它可以帮助用户在不同网页之间进行快速跳转。
高考英语模拟试卷(北京卷)第一部分:知识运用(共两节,30分)第一节完型填空(共10小题:每小题1.5分,共15分)阅读下面短文,掌握其大意,从每题所给的A、B、C、D四个选项中,选出最佳选项,并在答题纸上将该选项涂黑。
I moved into my house at the end of last year. I 1 noticed that there was a tree in the front yard. My partner told me they 2 it was a fig(无花果) tree and 3 sure enough, as the months went by, the tree grew huge leaves and 4 eventually came to fruition. Figs the size of my fist! My partner and I were 5 excited but we didn’t know what to do with all the figs.About a week ago, my next door neighbour came and properly introduces himself. He then asks if he could pick up 6 some figs from my tree. Immediately, I 7 encouraged him to take as many as he liked. He told me that 12 years ago, the previous 8 owner of the house I live in now used to be very good friends with him and they planted this very fig tree way back then. I came home one day, to find a fruit box outside my front door. . This 9 filled my heart with happiness and gratitude. It reminded 10 me that there are still lively people in the world who want to do something nice for their neighbors.1.A. feared B. noticed C. believed D. admitted2.A.forgot B. discovered C. decided D. assumed3.A. at random B. worst still C.most important D. sure enough4.A.constantly B. temporarily C. eventually D. similarly5.A. confused B. excited C. disappointed D. annoyed6.A.break up B. tear down C. pick up D. make for7.A. encouraged B. warned C. advised D. declined8.A. previous B.punctual C.transparent D. voluntary9.A.friction B. power C.gesture D. competence10.A. taught B. warned C.invited D. reminded1.【答案】B【解析】考查动词。
数据库在网络搜索引擎中的应用随着互联网的快速发展以及大数据的兴起,网络搜索引擎已经成为了我们获取信息的重要途径之一。
在搜索引擎背后,一个强大的数据库系统扮演着关键的角色。
数据库的应用在搜索引擎中不仅仅是存储和管理数据,还通过数据的组织和索引实现了高效的搜索和检索功能。
本文将探讨数据库在网络搜索引擎中的应用。
一、数据存储与管理1. 数据库的选择在网络搜索引擎中,选择合适的数据库系统非常重要。
通常,搜索引擎需要处理大量的结构化和非结构化数据,并且需要实时更新和索引。
因此,一些开源的数据库系统如MySQL、PostgreSQL等经常被用于存储和管理搜索引擎的数据。
2. 数据库的设计合理的数据库设计对搜索引擎的性能和用户体验至关重要。
通过对数据表的划分和索引的建立,可以提高搜索引擎的查询效率。
此外,数据库的冗余和一致性也需要考虑,以确保数据的完整性和可靠性。
二、数据的组织和索引1. 数据的组织搜索引擎需要将大量的网页、图片、视频等数据以及与之相关的元数据进行组织。
数据库通过表和字段的方式进行数据的组织,使之能够被搜索引擎轻松地管理和索引。
同时,数据的组织还需要考虑不同类型数据之间的关联性,以支持搜索引擎的复杂查询和综合检索。
2. 数据的索引为了实现快速的搜索和检索功能,搜索引擎使用索引来加速数据的访问。
数据库通过建立索引结构,将数据按照关键词、日期、类型等特定属性进行排序和分类。
这样,当用户输入关键词进行搜索时,搜索引擎可以迅速找到与之相关的数据,并按照一定的规则进行排序和展示。
三、数据的更新和维护1. 数据的更新网络搜索引擎需要实时地更新和索引数据,以保证搜索结果的准确性和时效性。
数据库系统通过提供高效的数据更新接口,允许搜索引擎定期或实时地获取新的数据,并将其进行存储和索引。
同时,数据库还需要支持数据的删除和修改操作,以应对数据的动态变化。
2. 数据的维护数据库的维护是保证搜索引擎正常运行的关键。
维护包括数据备份、容灾恢复、存储空间管理等内容。
引言概述:百链(中外文学术搜索)是一种基于互联网技术的学术资源检索系统,可以帮助用户快速搜索和获取中外文学术文献。
该系统致力于提供高质量、全面、多元的学术资源,满足用户对学术信息的需求。
本文将详细介绍百链的运作原理,以及其在学术界的应用和发展,旨在为用户提供更好地了解和利用百链的指南。
正文内容:一、百链的运作原理1.1系统架构1.2数据源和爬虫技术1.3数据处理和索引建立1.4检索与过滤算法1.5用户界面和交互设计二、百链的优势和特点2.1多语言支持和全球覆盖2.2多领域资源汇集2.3高效精准的检索能力2.4学术社交与学术推荐2.5用户权限与隐私保护三、百链在学术界的应用3.1学术研究的重要性3.2百链在学术研究中的角色3.3百链对学术交流和学科发展的促进3.4百链在学术评价和科研项目中的应用3.5百链与其他学术搜索引擎的比较四、百链的发展与挑战4.1用户需求的多样性与变化4.2数据资源的全面性与可靠性4.3技术创新与算法优化4.4国际交流与合作4.5和机器学习的应用五、百链的未来展望5.1数据资源的拓展与提升5.2技术创新与智能化发展5.3用户体验的优化和个性化推荐5.4学术社区的建设与拓展5.5国际合作与交流的深化总结:本文详细介绍了百链(中外文学术搜索)的运作原理、优势特点、在学术界的应用、发展与挑战以及未来展望。
百链作为一种基于互联网技术的学术资源检索系统,在满足用户对学术信息需求的同时,还可以促进学术交流、学术评价和学科发展。
随着用户需求的不断变化和技术的创新发展,百链将继续拓展数据资源、优化检索算法,提升用户体验,同时加强国际合作与交流,努力成为学术界的重要工具和资源平台。
希望本文对用户更好地了解和利用百链提供了帮助,并为百链的发展提供参考。
Surfingkeys 技巧:让你的浏览器变得更高效Surfingkeys 是一款基于 Chrome扩展的快捷键工具,它可以让你在浏览网页时更加高效。
下面介绍一些 Surfingkeys 的使用技巧,帮助你更好地使用这款工具。
一、基本操作1. 打开 Surfingkeys:按下快捷键 `Ctrl + ;` 或 `Ctrl + Shift + P`。
2. 打开链接:将鼠标放在链接上,按下 `f` 键。
3. 关闭标签页:按下 `d` 键。
4. 刷新页面:按下 `r` 键。
5. 回到上一页:按下 `S` 键。
6. 滚动页面:按下 `j` 键向下滚动,按下 `k` 键向上滚动。
二、快速搜索1. 搜索网页:按下 `/` 键,输入搜索关键词,按下 `Enter` 键。
2. 搜索网页中的链接:按下 `f` 键,输入链接文字,按下 `Enter` 键。
3. 搜索网页中的图片:按下 `i` 键,输入图片文字,按下 `Enter` 键。
三、标签页操作1. 新建标签页:按下 `t` 键。
2. 切换到上一个标签页:按下 `Ctrl + j` 键。
3. 切换到下一个标签页:按下 `Ctrl + k` 键。
4. 切换到指定标签页:按下 `g` 键,输入标签页序号,按下 `Enter` 键。
5. 关闭其他标签页:按下 `x` 键。
四、高级操作1. 打开多个链接:按下 `;` 键,输入链接地址,按下 `Enter`键,再输入下一个链接地址,按下 `Enter` 键,以此类推。
2. 复制链接地址:将鼠标放在链接上,按下 `y` 键。
3. 打开所有链接:按下 `Shift + a` 键。
4. 打开父级链接:将鼠标放在链接上,按下 `o` 键。
以上是 Surfingkeys 的一些基本操作和高级操作,通过这些操作,可以使你更加高效地浏览网页。
如果你想了解更多 Surfingkeys 的使用技巧,可以查看官方文档。
搜索引擎常用的查找命令熟悉SEM的朋友一定非常了解在搜索引擎中会常用哪些查找命令,下面我们就带大家一起回顾在搜索引擎中常用的命令吧!1. site:查询网站的收录情况,格式为:site:网址。
2. related:与网页特别相关的网页。
3. info:某个网站的收录信息,相似网页,站点链接,内部链接,包含域名的网页。
4. cache:输入页面,可以发现蜘蛛最近收录的日期和版本。
5. allinurl: or inurl:检索网页URL标题包含的内容。
6. link:某个特定网站的外部链接是主要获取排名和权重的主要因素格式为link:网址。
7. allinanchor: or inanchor:在链接中包含指定anchor的所有网页。
8. allintext:显示在文档中包含文字的所有网页。
在SEO中,用于发现相关站点和潜在的链接。
9. define:define很少在SEO中用到,不过很有价值的。
查询网站外部链接时通常使用link和domain两个命令,但有时我们发现这两个命令和实际的搜索显示结果不是我们所想的,那么我们就来分析一下link和domain在不同的搜索引擎中是什么意思?link在百度中并不带表指令,它只是一个普通的关键词,它的搜索结果是包含一个关键词组的所有页面和其他的搜索一样,并不是查找反向链接。
Google查找的是反向链接,包含网站所有反向链接的少部分。
建议使用Google网站管理员工具查网站所有反向链接。
Yahoo查找的是反向链接,但需要在域名前加"http://",域名加与不加"www"结果是不一样的。
domain在百度中是查网页内容中包含某关键词,搜索结果是包含关键字词组的所有网页。
同时domain:seo 指的是包含SEO的所有网页与直接搜索SEO相似。
如果要查找网页内容的及地址可以用domain。
Google与domain并不代表一个指令。
DancingLinks在搜索中的应用momodi2008年7月8日
目录1Abstract21.1DancingLinks是什么.......................21.2DancingLinks的主要原理是什么................21.3这篇论文与knuth论文的不同..................2
2双向链表22.1双向链表的存储结构.......................22.2双向链表的应用..........................22.3双向链表的恢复..........................3
3ExactCoverProblem33.1Description............................33.2Solvinganexactcoverproblem.................33.3TheDanceSteps.........................53.4HustOnlineJudgeProblem1017................8
4Sudokutoexactcoverproblem84.1WhatisSudoku?.........................84.2HowtoSolveSudokuPuzzle?..................94.3DancingLinks在解决Sudoku这类问题上的优势........104.4转化模型.............................104.5PkuOnlineJudgeProblem30763074.............11
5Exactcoverproblem变种115.1Abstract..............................115.2Description............................12
11ABSTRACT25.3Hfunction.............................125.4Method..............................135.5PkuOnlineJudgeProblem1084................13
1Abstract1.1DancingLinks是什么DancingLinks是knuth在近几年写的一篇论文,在我看来是一类搜索问题的通用优化,因此我把它写下来,希望能在竞赛中得到一定的应用。
1.2DancingLinks的主要原理是什么DancingLinks主要是用双向十字链表来存储稀疏矩阵,来达到在搜索中的优化。在搜索问题中,所需要存储的矩阵往往随着递归的加深会变得越来越稀疏,这种情况用DancingLinks来存储矩阵,往往可以取得非常好的效果。
1.3这篇论文与knuth论文的不同本篇论文是对DancingLinks在竞赛的应用的一个介绍,并列举了几个竞赛中的例题。原文可以在此下载到:http://www.ocf.berkeley.edu/jchu/publicportal/sudoku/0011047.pdf相对于本文,我更建议去读者去看knuth的原文,本文可以当作一个参考。本文还介绍了Sukudo问题和一个DancingLinks的一个变种问题。
2双向链表2.1双向链表的存储结构双向链表的存储结构往往是有一个空的结点来表示头指针。然后每一个结点有一个pre值域和一个next值域。如果是十字链表的话,结点中指针的值域会变成四个。
2.2双向链表的应用众所周知,在单向链表中删除一个结点是非常麻烦,而且低效的。双向链表有着优美的结构,可以方便的删除任意一个结点。有如下操作:
L[R[x]]=L[x],R[L[x]]=R[x];(1)3EXACTCOVERPROBLEM3相信有写过双向链表经验的人对这两句话一定不会陌生.2.3双向链表的恢复在双向链表中删除一个结点只要用(1)就可以了,然后来看下面这一段代码:L[R[x]]=x,R[L[x]]=x;(2)
这段代码会将已经删除掉的结点,重新添加回双向链表中。第一次看到这段代码的你是不是会感觉非常奇妙?你有可能会说在链表中进行删除操作但是不释放内存的话是不好的编程习惯,会造成内存溢出错误。但是在这里,我们要的就是这样的效果。我们在链表中删除,只是进行一个标记,并不进行真正的清空内存操作。这样我们后来便可以用(2)进行恢复操作了。你也有可能会说这段代码会有什么用?下面就让我们来真正看看(2)强大的威力。(2)才是DancingLinks的核心.
3ExactCoverProblem3.1Description上节所说的双向链表的恢复操作会在本节中有重要的作用。下面先让我们来看一个问题(ExactCoverProblem)。给定一个01矩阵,现在要选择一些行,使得每一列有且仅有一个1.例子如下:001011010010010110010100100001000010001101
(3)
对于如上所示的矩阵(3),我们取行集合{1,4,5}便可使每一列有且仅有一个1。
3.2Solvinganexactcoverproblem很明显,exactcoverproblem是一个无法用多项式算法解决的问题,解决方法只有搜索!且看如下搜索代码:3EXACTCOVERPROBLEM4if(Aisempty){\\Aisthe0-1matrix.theproblemissolved;return;}chooseacolumn,c,thatisunremovedandhasfewestelements.;...(1)removecandeachrowithatA[i][c]==1frommatrixA;...(2)for(allrow,r,thatA[r][c]==1){includerinthepartialsolution.;foreachjthatA[r][j]==1{removecolumnjandeachrowithatA[i][j]==1frommatrixA....(3)}repeatthisalgorithmrecursivelyonthereducedmatrixA.resumeallcolumnjandrowithatwasjustremoved;...(4)}resumecandiweremovedatstep(2)...(5);
上述代码是一个普通的搜索过程,如果你觉得比较陌生,可能是因为跟你平时所用的搜索方法有些不同,但本质上必定是相同的。我们要做的,是去优化这段代码,但这段代码的算法框架已经固定1,几乎没有可优化的余地,就算用非递归来优化也不会得到多少的效率提升,反而会使编码复杂度和出错率大大增加。如何去实现代码行(1)(2)(3)(4)是优化的关键,也是DancingLinks发挥其作用的地方。我们可以直观的去想到一个简单的方法:
Step(1):把矩阵进行扫描,选出未做删除标记的列中元素个数最少的。如果你不理解为什么选最少的,可以当它是随便选取的,不影响正确性。
Step(2):对当前列和行做标记,标记其已经删除。Step(3):同Step(2)Step(4):把相应的标记删除。Step(5):同Step(4)1Step(1)中有一个巨大的优化,就是选取最少元素的列,但这是搜索优化问题,与我们讨论的重
点DancingLinks没多大关系,固不做过多论述3EXACTCOVERPROBLEM5然而,这个方法很明显是非常低效的,做标记是快速的。但是相应的带来的问题,是查找的时候会变得非常慢。复杂度始终是O(n)(n为矩阵大小)。在step(1)(2)(3)(4)(5)中我们都用到了查找操作,所以我们不能忽视查找的复杂度。在这个实现方式中,把查找的效率提升多少,整个程序便可提升多少。我们再做观察,还可发现,矩阵随着递归的深入便会变得越来越稀疏。而我们所对应的查找操作,却没有利用这一特性,一直在盲目的进行查找。或许有读者会自然而然的想到链表。链表可以高效的支持删除操作,链表的长度也是随着删除操作的执行而变短,不会存的上述做法的问题。从前面的论述,我们知道了程序的瓶颈在于查找操作。因为矩阵会越来越稀疏,所以我们可以直观的感觉到把链表用在此处,会及大的提高效率。有了链表,我们的查找操作只用到了遍历链表,因为已经被标记删除的结点是不存在在链表中的。很显然用链表的话查找操作的效率已经提升到了极致,不可能再提升了。有人可能会发现问题,我们在链表中删除结点是容易,可是恢复容易吗?Step(4)(5)该如何实现呢?哈哈,请看本论文开头对双向链表的介绍,看似无用的双向链表的恢复操作,在这里不是正好用上吗?好了,到这里,已经把DancingLinks基本介绍完了。如果你真正理解了,可能会惊叹,这么简单呀!这就是DancingLinks吗?但是DancingLinks的强大之处还得等到自己实践之后才能体会到。下面我们来细细展开DancingLinks。
3.3TheDanceSteps一个比较好的实现方式是用数组来模拟链表,这样也可方便的建立矩阵,也可以加快运行速度。对每一个对象,记录如下几个信息:
•L[x],R[x],U[x],D[x],C[x];•双向十字链表用LRUD来记录,LR来记录左右方向的双向链表,UD来记录上下方向的双向链表。
•head指向总的头指针,head通过LR来贯穿的列指针头。•每一列都有列指针头。C[x]是指向其列指针头的地址。行指针头可有可无,在我的实现中没有显示的表示出来。在某些题目中,加个行指针头还是很有必要的。
•另外,开两个数组S[x],O[x];S[x]记录列链表中结点的总数。O[x]用来记录搜索结果。