![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
算法与数据结构学习
基本的算法与数据结构
Tiny1420
这个作者很懒,什么都没留下…
展开
-
几种求平均数的求法
求平均数的五种求法1、常规思路 long avg = (a+b)/2;2、运用移位运算 long avg = (a+b)>>1;3、融入减法运算 long avg = b+(a-b)/2 =a+(b-a)/2;4、融入&运算 long avg = a/2+b/2+(a&b&1);5、融入&与^运算 long avg = (a&b)+(a^b)/2;ps:如果把三到五的方法中的“/”改变为“>>”原创 2022-03-20 00:16:11 · 592 阅读 · 0 评论 -
C++STL专题一
//实现求第k小元素、部分排序以及按条件划分#include<bits/stdc++.h>#include<ctime>#include<cstdlib>#include<string>#include<stack>#include<queue>#include<set>#include<ma...原创 2019-12-02 21:25:35 · 106 阅读 · 0 评论 -
C++STL专题二
C++STL专题二//adjacent_difference()、rotate()、remove()、partial-sum()、accumulate()的用法#include<bits/stdc++.h>#include<ctime> #include<cstdlib>#include<string>#include<stack&...原创 2019-12-03 19:51:07 · 109 阅读 · 0 评论 -
STL学习之vector的使用
头文件:#include定义方式:vectora相关操作:(1)a.assign(b.begin(), b.begin()+3); //b为向量,将b的0~2个元素构成的向量赋给a(2)a.assign(4,2); //是a只含4个元素,且每个元素为2(3)a.back(); //返回a的最后一个元素(4)a.front(); //返回a的第一个元素(5)a[i]; //返回a的第i...原创 2019-11-01 18:50:21 · 109 阅读 · 0 评论 -
算法与数据结构之数组元素的全排列
数组元素的全排列(两种排法)//两种方式的模板:do{ //输出函数 }while(next_premutation());//默认从小到大排do{ //输出函数 }while(perv_premutation());//默认从大到小排序//具体实现代码如下#include<bits/stdc++.h>#include<alg...原创 2019-12-16 21:13:02 · 144 阅读 · 0 评论 -
算法与数据结构之尾递归
两种递归(以求阶乘为例)普通递归:long fun1(int n) { if(n==0) return 1; return n*fun1(n-1);} 尾递归:long fun(int n,int a) //a(初始化为1)维护递归次的深度。{ if(n==0) return 1; else if(n==1) return a; else return fu...原创 2019-12-11 22:53:03 · 137 阅读 · 0 评论 -
算法与数据结构之快速幂
算法学习笔记:(1)快速幂的计算a的b次方 int quickPower(int a, int b){ int ans = 1, base = a; while(b) { if(b & 1) ans *= base; base *= base; b >>= 1; }...原创 2019-09-25 19:55:39 · 119 阅读 · 0 评论