![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据结构
jzdl
这个作者很懒,什么都没留下…
展开
-
斐波那契数(台阶有多少种走法)
前言: 这样一个数列:0、1、1、2、3、5、8、13、21、……在数学上,斐波纳契数列以如下被以递归的方法定义:,,。用文字来说,就是斐波那契数列由 0 和 1 开始,之后的斐波那契数列系数就由之前的两个数字相加。问题: 一个台阶有n级,人可以走1级台阶或者走2级台阶。问,一共有多少种走法?例子:比如有3级台阶。第一种:可以先走1级,再走2级;第二...原创 2020-03-08 01:38:28 · 2119 阅读 · 0 评论 -
KMP模式匹配算法
问题:举例来说,有一个字符串"BBC ABCDAB ABCDABCDABDE",我想知道,里面是否包含另一个字符串"ABCDABD"?令主串S="BBC ABCDAB ABCDABCDABDE" ,模式串是T="ABCDABD"1:朴素算法首先,我们按照正常字符串匹配的思想,做一个匹配流程。第1步:模式串T第一个字母A就匹配失败。模式串后移1位第2步:模式串T第一个...原创 2020-01-12 23:37:57 · 1584 阅读 · 0 评论 -
最小生成树:克鲁斯卡尔(Kruskal)和普里姆(Prim)
1 前言:一般来说,最小生成树算法以克鲁斯卡尔(Kruskal)和普里姆(Prim)较为经典。最小生成树是什么呢?举个例子,对于无向图来说,如果2个顶点如果要实现互相连通,至少需要1条边;3个顶点要互相连通,至少需要2条边;n个顶点如果需要互相连通,至少需要n-1条边。如果n个顶点有n条边,那一定有一个环存在。生成树就是无环图。2 :克鲁斯卡尔(Kruskal) 算法思想...原创 2020-01-12 22:33:28 · 1628 阅读 · 0 评论 -
最短路径算法:迪杰斯特拉(Dijkstra)
前言: 迪杰斯特拉算法是求解从一点出发到其他点的所有的最短路径的算法。简单来说:若一个图有(,,,,,)6个顶点,那么求解的是从点出发,分别到,,,,点的最短路径。问题:下图,从顶点到其他各个顶点的最短路径。(S+T=V)集合V是全集,集合T是我们需要的。T的范围是从空集到全集V,S的范围是从V全集到空集。刚开始S={,,,,,},T={},V={,,,...原创 2020-01-12 17:01:52 · 1046 阅读 · 0 评论 -
图:邻接矩阵,邻接表,十字链表,邻接多重表
数据结构----图前言 学习数据结构的时候,经常存在这样一个问题,为什么有这么多的数据结构,有一种不就行了吗?假如数据结构是不断发展的,那怎么学习最好的那种结构不就行了?解释一下1:我们学习的时候要知道前因后果,要知道牛X的数据结构是怎么样来的;2:并非最新的数据结构是最好的数据结构,它可能适合特定场景,到另外一个场景就不够用了,比如一个耗时但省空间,另一个相反。1 图的数据结构...原创 2020-01-11 23:55:01 · 1616 阅读 · 0 评论