![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
算法oj
sinat_36789271
这个作者很懒,什么都没留下…
展开
-
4种方法,求两个数的平均数
设 int 类型 a 和 b ,且 a>=b: 方案一:(a+b)/2; 该方案向下取整,可能会产生上溢,使程序崩溃。 方案二:(a + b)>> 1; 该方案向下取整,可能会产生上溢,使程序崩溃。 方案三:b+(a-b)/2 或 b+(a-b)>>1; 无上溢风险。 方案四:(a&b)+((a^b)>>1) 位运算,无上溢风险。 ...原创 2020-02-16 22:59:26 · 2540 阅读 · 0 评论 -
杭电oj2054 A == B ? ???
#include<iostream> using namespace std; int main() { float a,b; while(cin>>a>>b){ if(a==b){ cout<<"YES"<<endl; }else{ cout<<"NO"<&am原创 2018-09-03 20:21:57 · 472 阅读 · 0 评论 -
杭电oj2092 整数解
先记下, 不知道为什么过不了 #include<iostream> #include<math.h> using namespace std; int main(){ int a,b; bool cc; while(cin>>a>>b){ cc=true; if(b==0&&a==0){ exit...原创 2018-09-03 20:33:08 · 510 阅读 · 1 评论 -
符号表
符号表主要是将一个键和一个值连接起来。符号表分为有序和无序两种。 实现原则: 1、键不能null,不能重复 2、值不能null 3、键值一一对应。当存入的键重复时更新旧值 支持操作: 1、插入(put):将一组新的键值对存入表中 2、查找(get):即根据指定的键得到相应的值。查找方法有:顺序查找(链表),二分查找(有序数组),二叉查找树,平衡二叉查找树,散列表这几种方法。 3、删...原创 2019-02-19 17:00:04 · 753 阅读 · 0 评论 -
二叉堆
堆的定义 堆(heap),这里所说的堆是数据结构中的堆,而不是内存模型中的堆。堆通常是一个可以被看做一棵树,它满足下列性质: [性质一] 堆总是一棵完全树; [性质二] 堆中任意节点的值总是不大于(不小于)其子节点的值。 将任意节点不大于其子节点的堆叫做最小堆或小根堆,而将任意节点不小于其子节点的堆叫做最大堆或大根堆。常见的堆有二叉堆、左倾堆、斜堆、二项堆、斐波那契堆等等。 二叉堆的定义 ...转载 2019-02-17 09:24:54 · 285 阅读 · 2 评论