随笔分类 -  基础算法

摘要:点我阅读原文 最近利用闲暇时间做了一下 PTA Basic Level[1] 里的题,里面现在一共有 95 道题,这些题大部分很基础,对于刷倦了 leetcode 的小伙伴可以去里面愉快的玩耍哦。 这里我挑了三个挺有意思的题来做个简单记录,欢迎和大家一起讨论交流。 请听题: 第一题:1009 说反话 阅读全文
posted @ 2020-01-18 14:36 路漫漫我不畏 阅读(400) 评论(0) 推荐(0)
摘要:快速排序(Quick Sort)是对冒泡排序的一种改进,基本思想是选取一个数作为关键字 key_value ,经过一趟排序,将整段序列分为两个部分,其中一部分的值都小于关键字,另一部分都大关键字。然后继续对这两部分继续进行排序,从而使整个序列达到有序。 递归实现方法: 左右指针法排序过程: 需要注意 阅读全文
posted @ 2019-05-25 23:09 路漫漫我不畏 阅读(301) 评论(0) 推荐(0)
摘要:回溯的描述: 回溯算法将解空间看作一定的结构,通常为树形结构,一个解对应于树中的一片树叶。算法从树根(即初始状态出发),尝试所有可能到达的结点。当不能前行时就后退一步或若干步,再从另一个结点开始继续搜索,直到尝试完所有的结点。也可以用走迷宫的方式去理解回溯,设想把你放在一个迷宫里,想要走出迷宫,最直 阅读全文
posted @ 2019-04-22 11:42 路漫漫我不畏 阅读(9033) 评论(1) 推荐(2)
摘要:欧几里得算法又称辗转相除法,描述如下: 两个整数的最大公约数与 其中较小的数 和 较大的数与较小数的余数 的最大公约数相同。 其中我们需要知道,零与任何数的最大公约数为其中的那个非零数。 所以我们可以设计如下算法: 阅读全文
posted @ 2019-04-13 23:22 路漫漫我不畏 阅读(2292) 评论(0) 推荐(0)