![](https://img-blog.csdnimg.cn/20201014180756926.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
基础算法
Monkey&Penguin
这个作者很懒,什么都没留下…
展开
-
蜜蜂采蜜最短路径(华为机考反思)(暴力破解)
大概题目:蜂巢在坐标(0,0)的位置,有五处花丛,蜜蜂从蜂巢出发,要把五处花丛的花蜜采完再回到蜂巢,最短距离是多少。输入说明:一行输入,10个数分别是五处花丛的坐标(x1,y1,x2,y2,x3,y3,x4,y4,x5,y5)今天做华为机试题,第二题是蜜蜂采蜜的最短路径问题,脑子一热就直接想到Dijkstra最短路径算法,忙忙活活2小时写出了代码。最后运算一得答案,0。自己有点崩溃又有点想笑。...原创 2020-03-12 01:30:58 · 1898 阅读 · 0 评论 -
查并集实例讲解(C)(岛屿数量II)
一、简介:查并集的原理已经在我转载的这篇博客里讲解过,https://blog.csdn.net/qq_40285768/article/details/104645730,但原理总是简单的。可以看到讲解原理时用到的是一维数组,在图中join一点,只会增加一条关系线。比如新来的邻居张三要跟李四交朋友,那么张三跟李四之间只需连上线就好。但如果是图存储的是一个二维数组呢?增加一点时,将考虑上下左右...原创 2020-03-08 00:21:48 · 450 阅读 · 0 评论 -
并查集(C/C++)超有趣的故事,这篇真的爱了
江湖上散落着各式各样的大侠,有上千个之多。他们没有什么正当职业,整天背着剑在外面走来走去,碰到和自己不是一路人的,就免不了要打一架。但大侠们有一个优点就是讲义气,绝对不打自己的朋友。而且他们信奉“朋友的朋友就是我的朋友”,只要是能通过朋友关系串联起来的,不管拐了多少个弯,都认为是自己人。这样一来,江湖上就形成了一个一个的帮派,通过两两之间的朋友关系串联起来。而不在同一个帮派的人,无论如何都无法通过...转载 2020-03-04 01:08:41 · 287 阅读 · 0 评论 -
Flood Fill—DFS和BFS算法的实例讲解(C)(岛屿数量I)
一、前言:初学编程的小白学习完基础算法总之不知道有什么用。所以本篇从一个有趣的leetcode题目讲解Flood fill算法,即所熟知的DFS广度优先和BFS深度优先算法。二、题目:三、简介:维基百科:Flood fill 算法是从一个区域中提取若干个连通的点与其他相邻区域区分开(或分别染成不同颜色)的经典 算法。因为其思路类似洪水从一个区域扩散到所有能到达的区域而得名。在 ...原创 2020-03-04 00:15:44 · 608 阅读 · 0 评论 -
Dijkstra算法(C/C++)
笔记:1.C语言指针的提醒。指针指向存储单元地址,故*a中a存储的是指针指向的地址,故若b=2,要赋值2给*a,便可“*a=b”、“*a=2”或者“a=&b”。但在声明变量时,只能“int *a=&b”,这是因为声明时“int *”实则为一体,所以需要将存储b的单元地址赋值给a,这需要注意。其次还要注意的便是数组的特殊性,声明一个数组b[n],其中b其实存储的是存储这个数组空间...原创 2020-03-01 21:18:01 · 753 阅读 · 0 评论 -
Hash表(C语言)
一、简介:  哈希表又称散列表。哈希表存储的基本思想是:以数据表中的每个记录的关键字 k为自变量,通过一种函数H(k)计算出函数值。把这个值解释为一块连续存储空间(即数组空间)的单元地址(即下标),将该记录存储到这个单元中。在此称该函数H为哈函数或散列函数。按这种方法建立的表称为哈希表或散列表。二、哈希冲突:不同key值产生相同的地址,H(key1)=H(k...原创 2020-03-01 12:17:40 · 1301 阅读 · 0 评论 -
KMP算法(C)
一、简介:KMP用于检测模式串是否在主串当中,比如“aba”是否在“cbabac”中。相比较于傻瓜式一对一匹配,KMP优点在于减少了指针的回溯,即最大程度利用了已经匹配的信息。二、步骤:1.求得模式串每个字符的next值,即此字符前的最大公共前后缀长度值。2.依次匹配直到匹配失败。3.模式串后移n位,即将模式串失败处位置与最长公共前缀后的一个字母进行比较,n根据匹配失败处next值求得...原创 2020-02-29 11:44:43 · 409 阅读 · 0 评论