
数据结构与算法
文章平均质量分 67
动手学习算法
egospace
物以聚类,人以群分
展开
-
斐波那契(矩阵实现)
大家都知道斐波那契数列,现在要求输入一个正整数 n ,请你输出斐波那契数列的第 n 项。斐波那契数列是一个满足 的数列数据范围:n<=39这里只讲如何利用矩阵去计算[10011110120123111035120158231110813351201]\begin{bmatrix}1 & 0 \\0 & 1 \\1 & 1 & 1 & 0 \\1 & 2 & 0 & 1 \\2 & 3 & 1 &原创 2021-10-03 11:50:13 · 299 阅读 · 0 评论 -
狄克斯特拉算法
狄克斯特拉算法一、引言在广度优先搜索算法中我们所找的路径可能是段数最少,但是时间却不一定是最短的,就拿下面这个例子来说红色标记的是用广度优先搜索算法得到的最短路径,那么假如我们在上面赋予权重,也就是加上时间呢?那么还是原来的路线最短吗?答案是否定的,如果加上权重的话,应该是上面标红的路线最短,要找出这条路线,我们就要用到狄克斯特算法。二、算法的操作步骤狄克斯特算法大致分为以下步骤:找出最权重最小的点,也就是我们从家出发,到那个位置,所花费的时间最短。计算该节点前往各个邻居节点所花原创 2020-07-28 22:58:27 · 805 阅读 · 1 评论 -
浅谈广度优先搜索算法
广度优先搜索广度优先搜索可以让我们找出两个东西之间的最短距离,比如在在中国象棋中计算最少花费多少步就可以把对方将死、前往朋友家的最短路径、根据人际关系网络找到关系最近的代理商等等。1、引言假设你要找出一条从你家到学校的路线,并且想找出一条最短的路线,你可以选择的路线如下:那么我们该怎么找呢?首先我们看我们从家出发,一步能到学校吗?显然一步是到达不了的,那两步呢?看来两步也不能,那三步呢?看来三步可以到达学校,于是我们就找出了从家到学校的最短路线。一般来说,解决最短路径问题的算法被称为原创 2020-07-25 20:14:55 · 705 阅读 · 0 评论 -
散列表的那些事
散列表前言请允许我先举一个小例子。像我们现在QQ上都有许多的好友,假设你有100个QQ好友且你的QQ好友没有进行分组。如果QQ列表上的姓名是随机排列的,没有一定的规律(实际上QQ比较智能,它会按照一定顺序进行排列)。那么假如你需要给你的好友A发送消息,那么你可能直接去QQ提供的搜索框中输入好友A的名字,然后QQ给你返回一个聊天的按钮。那么QQ背后是怎样执行的呢?假设你的QQ好友在列表中是以数组的方式进行存储。那么当QQ根据你下达的指令,去寻找你的好友A时,就有可能需要翻看每一行去查找(这就有点像我们原创 2020-07-23 09:32:28 · 197 阅读 · 0 评论