
算法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 · 2955 阅读 · 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 · 499 阅读 · 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 · 567 阅读 · 1 评论 -
符号表
符号表主要是将一个键和一个值连接起来。符号表分为有序和无序两种。实现原则:1、键不能null,不能重复2、值不能null3、键值一一对应。当存入的键重复时更新旧值支持操作:1、插入(put):将一组新的键值对存入表中2、查找(get):即根据指定的键得到相应的值。查找方法有:顺序查找(链表),二分查找(有序数组),二叉查找树,平衡二叉查找树,散列表这几种方法。3、删...原创 2019-02-19 17:00:04 · 823 阅读 · 0 评论 -
二叉堆
堆的定义堆(heap),这里所说的堆是数据结构中的堆,而不是内存模型中的堆。堆通常是一个可以被看做一棵树,它满足下列性质:[性质一] 堆总是一棵完全树;[性质二] 堆中任意节点的值总是不大于(不小于)其子节点的值。将任意节点不大于其子节点的堆叫做最小堆或小根堆,而将任意节点不小于其子节点的堆叫做最大堆或大根堆。常见的堆有二叉堆、左倾堆、斜堆、二项堆、斐波那契堆等等。二叉堆的定义...转载 2019-02-17 09:24:54 · 358 阅读 · 2 评论