摘要: 恢复内容开始 1:顺序查找 所谓的快速查找就是将我们要找的数在数组中快速遍历一遍。 找出我们要找的数,并返回该数在数组中的下标。 这种方法需要将数组中的数依次遍历,找到目标数的时候才停止。 这种方法在最差的情况下的时间复杂度为O(n);下面我们来看看代码; 这种方法的代码实现比较简单。 恢复内容结束 阅读全文
posted @ 2019-07-26 13:33 香格里拉太子zo 阅读(128) 评论(0) 推荐(0) 编辑
摘要: 1:sort函数: sort函数用于C++中,对给定区间所有元素进行排序,默认为升序, 也可进行降序排序。sort函数进行排序的时间复杂度为n*log2n,比冒泡之类的排序算法效率要高,sort函数包含在头文件为#include<algorithm>的c++标准库中 语法:sort(start,en 阅读全文
posted @ 2019-07-13 17:07 香格里拉太子zo 阅读(450) 评论(0) 推荐(0) 编辑
摘要: 贪心算法(又称贪婪算法)是指,在对问题求解时,总是做出在当前看来是最好的选择。也就是说, 不从整体最优上加以考虑,他所做出的是在某种意义上的局部最优解。(官方解释)。 所谓的贪心算法主要理解就在这个“贪心”上面,所谓贪心,就是找到最好的,也就是上面说的最优解。 我们可以通过各种方式找到当前的最优解, 阅读全文
posted @ 2019-07-12 08:25 香格里拉太子zo 阅读(2220) 评论(0) 推荐(0) 编辑
摘要: 对于字符串的匹配问题,现在自己能够掌握的就只有两种方法, 第一种就是我们常用的暴力匹配法,那什么是暴力匹配法呢? 假设我们现在有一个文本串和一个模式串,我们现在要找出模式串在文本串的哪个位置。 文本串:ABCDABCCDABCY ABCDEDFC 模式串:BCDED 暴力的方法就是我们一个一个匹配; 阅读全文
posted @ 2019-07-10 16:57 香格里拉太子zo 阅读(214) 评论(0) 推荐(0) 编辑
摘要: 从字面来理解,记忆搜索就是按照记忆搜索,当某些循环太多了,但是我们可以找到在循环的过程中, 我们会多次来到每个节点,会多次计算这个节点,这个时候我们就可以将这个节点存下来,在下一次 访问的时候,就不用再来计算这个节点了,可以直接利用。这个就是就是俗称的记忆化搜索,开始自己 听到这个词的时候也是懵逼的 阅读全文
posted @ 2019-07-05 14:20 香格里拉太子zo 阅读(285) 评论(0) 推荐(0) 编辑
摘要: 1:定义法 定义法对于大多数人来说是最容易理解的,也是最容易实现的: 定义法非常的简单,我们只需要多次循环,如果这个数可以被 除了1和自己本身整除的话,那他就不是一个素数。 代码如下(该代码只是判断是否为素数,不是选一个区间的所有素数) 2:埃式法选素数: 这种方法对于定义法来说难理解一些,但是他的 阅读全文
posted @ 2019-07-05 09:35 香格里拉太子zo 阅读(763) 评论(0) 推荐(0) 编辑
摘要: 今天见到了传说中的打表法,有人说这是流氓算法,但是我觉得这个也是非常牛逼的。 下面就来说说这个打表法把,打表法对于某些用时较长的题目非常的有用。 就是将我们要的结果打印到一个文本文档中,然后直接调用这个结果就可以了。 在编译的时候就不用再程序里面计算,这样就省了很多时间。 程序如下; #includ 阅读全文
posted @ 2019-07-04 18:48 香格里拉太子zo 阅读(1489) 评论(0) 推荐(0) 编辑