
算法考研
文章平均质量分 59
基础知识和算法实战
infinite_with
被生活逼迫,不得不热爱的少年
展开
-
【算法】非暴力方法快速是否是2的幂次
说明2的非零幂次数为:1,2,4,8,16, 32……将其化为二进制 :0001, 0010, 0100, 1000……可以观察到这样一个规律:二进制位数中有且仅有一位为1。则可以利用这个规律进行快速判断。如以16为例,其二进制为 10000,16-1=15,15的二进制为 01111, 可以将16和15进行相与运算,10000&01111 == 00000,即16&15==0所以要快速判断一个数是不是2 的幂次,只要将这个数和其减一相与,如果结果为0,就是2的幂次,否则不是2的幂原创 2021-04-05 21:28:50 · 186 阅读 · 0 评论 -
【算法】八大排序(插入选择交换归并基数)C++实现
我们这里说的八大排序是内部排序。1.算法分类当n较大,则应采用时间复杂度为O(nlog2n)的排序方法:快速排序、堆排序或归并排序序。快速排序:是目前基于比较的内部排序中被认为是最好的方法,当待排序的关键字是随机分布时,快速排序的平均时间最短;2.算法复杂度3.相关概念稳定:如果a原本在b前面,而a=b,排序之后a仍然在b的前面。不稳定:如果a原本在b的前面,而a=b,排序之后 a 可能会出现在 b 的后面。时间复杂度:对排序数据的总的操作次数。反映当n变化时,操作次数呈现什么规律。空原创 2021-04-04 17:07:55 · 183 阅读 · 0 评论 -
【算法】任务分配问题(蛮力+回溯+分支限界) C++实现
一、简单算法最简单的算法是:蛮力法,这里采用增量穷举法求出所有的分配方案ps,再计算出每种方案的成本,比较求出最小成本的方案,即最优方案。1)实现代码#include<iostream>#include<vector>using namespace std;#define INF 9999 //最大成本值#define MAXN 21 int n;int c[MAXN][MAXN];vector<vector<int>> ps;voi原创 2020-12-14 20:53:37 · 18051 阅读 · 6 评论 -
【算法】0/1背包问题(蛮力+回溯+分支限界+贪心+非递归-动态规划)C++实现
分别用蛮力法、回溯法、分支限界法和动态规划法求解0/1背包问题。目录0-1背包问题:一、简单算法1)实现代码2)运行结果图3)复杂度分析二、回溯算法1)实现代码2)运行结果图3)复杂度分析三、分支限界1)实现代码2)运行结果图3)复杂度分析四、非递归-动态规划1)实现代码2)运行结果图3)复杂度分析0-1背包问题:有n件物品和一个容量为W的背包。第i件物品的价值是v[i],重量是w[i]。求解将哪些物品装入背包可使价值总和最大。所谓01背包,表示每一个物品只有一个,要么装入,要么不装入。一、简单算法原创 2020-12-08 18:28:33 · 5962 阅读 · 0 评论 -
快速上手Linux基本操作
一.Linux的基础知识跟Windows文件管理不同,Linux下是基本的目录结构:Linux 文件系统是一个目录树的结构,文件系统结构从一个根目录开始,根目录下可以有任意多个文件和子目录,子目录中又可以有任意多个文件和子目录bin 存放二进制可执行文件(ls,cat,mkdir等)boot 存放用于系统引导时使用的各种文件dev 用于存放设备文件etc 存放系统配置文件home ...原创 2020-01-10 11:27:53 · 586 阅读 · 0 评论 -
100 个网络基础知识
1)什么是链接?链接是指两个设备之间的连接。它包括用于一个设备能够与另一个设备通信的电缆类型和协议。2)OSI 参考模型的层次是什么?有 7 个 OSI 层:物理层,数据链路层,网络层,传输层,会话层,表示层和应用层。3)什么是骨干网?骨干网络是集中的基础设施,旨在将不同的路由和数据分发到各种网络。它还处理带宽管理和各种通道。4)什么是 LAN?LAN 是局域网的缩写。它是指计算机与...转载 2019-10-07 13:05:14 · 715 阅读 · 0 评论