算法
算法相关
Python小叮当
这个作者很懒,什么都没留下…
展开
-
最大公约数 & 最小公倍数
最大公约数 & 最小公约数求解方法:辗转相除法#include<stdio.h>int gcd(int a,int b){//求最大公约数 if(b == 0) return a; else return gcd(b,a % b);}int main(){ int m,n; scanf("%d %d",&m,&n); int t1 = gcd...原创 2020-02-15 18:02:58 · 169 阅读 · 0 评论 -
快速幂
遇到了一个比较有趣的问题—快速幂题目给出三个正整数a、b、m, (a < 109 、 b < 106 、 1 < m < 109),求ab%m【析】:只要一个循环就看得出代码 ,直接遍历即可,那样的话时间复杂度就是O(b)问:给出三个正整数a、b、m, (a < 109 、 b < 1018 、 1 < m < 109),求ab%m...原创 2020-02-13 15:23:46 · 177 阅读 · 0 评论 -
选择排序
简单选择排序对一个序列 A 中的元素 A[i] ~ A[n] ;令 i 从 1 到 n 枚举,进行 n 趟操作;每趟从待排序部分 [ i , n ] 中选择最小的元素;令其与待排序部分的第一个元素 A[i] 进行交换;这样的 A[i] 就会与当前的有序区间 [ 1 , i-1 ] 形成新的有序区间 [ 1 , i ] .n趟操作后,所有的元素就会有序思路:总共需要进行n趟操作(...原创 2020-02-09 18:22:19 · 131 阅读 · 0 评论 -
算法简单模拟篇-进制转化&倒置
好玩而的模拟文章目录好玩而的模拟进制转换-D进制的A+B输入格式:输出格式:输入样例:输出样例:说反话输入格式:输出格式:输入样例:输出样例:进制转换-D进制的A+B输入两个非负 10 进制整数 A 和 B (≤230 −1),输出 A+B 的 D (1<D≤10)进制数。输入格式: 输入在一行中依次给出 3 个整数 A、B 和 D。输出格式: 输出 A+B 的...原创 2020-02-08 18:58:28 · 246 阅读 · 0 评论 -
算法复习总结
算法复习总结结构化程序设计算法三要素常用的时间复杂度关系式枚举、递推算法的实施步骤枚举递推无障碍交通网络的递推关系算法有限判断条件可能遇到的代码如下:结构化程序设计自定向下模块化设计结构化编码算法三要素常用的时间复杂度关系式考试复习用的话,只要知道时间复杂度在计算的时候,可以理解为n足够大时,该算法的实际运行时间不会超过g(n)的某个常数倍时间。换言之,当2层for循环都执行的...原创 2019-11-26 01:04:03 · 407 阅读 · 0 评论 -
希尔排序
希尔排序必知希尔排序 是 插入排序的变式最优时间复杂度 O( n )最坏时间复杂度 O( n^2 )思路先理解 插入排序 , 将 有序序列 的元素 和 无序序列 的元素进行交换,中间间隔了 0个元素希尔排序 就是在此的基础之上 间隔了 n 个元素,这个间隔 通常将其称为 增量(多个增量组成增量序列)3.增量特点:“ k间隔 ” 有序的序列,在执行 “ k -...原创 2019-10-18 06:46:02 · 246 阅读 · 0 评论 -
插入排序
插入排序原理:从第一个元素开始,是为有序的;将下一个元素在有序序列中依次从后往前比较如果该元素大于 已经排序的元素,那么将这个已经排序的元素挪到后一位知道小于或等于已经排序的元素找到位置后插入即可题目:任意输入一串数字,请将这些数字排序以下为插入排序算法实现#include<iostream>using namespace std;#define max_...原创 2019-10-17 01:50:29 · 199 阅读 · 0 评论