算法
一个人L
这个作者很懒,什么都没留下…
展开
-
欧几里德算法 -- 求最大公约数
主要思想就是 采用了辗转相除法。 流程图如下Java代码实现:public static int gcd(int p,int q){ if (q ==0 ) return p; int r = p%q; return gcd(q,r);}原创 2017-11-15 09:30:45 · 430 阅读 · 0 评论 -
Java二分查找
二分查找又称折半查找,它是一种效率较高的查找方法。 【二分查找要求】:1. 必须采用顺序存储结构2 .必须按关键字大小有序排列。[java] view plain copy/** * 二分查找又称折半查找,它是一种效率较高的查找方法。 【二分查找要求】:1.必须采用顺序存储结构 2.必须按关键字大小有序排列。转载 2016-11-15 20:25:20 · 325 阅读 · 0 评论 -
队列
一、循环队列循环队列中最重要的问题就是如何判断队空和队满,以下有三种解决方案① 方法一: 浪费一个数组单元 设储存循环队列的数组的长度为QueueSize队满:(rear + 1)%QueueSize = front队空:front = rear;templatevoid EnQueue(DataType x){ //入队 if((rear+1)%QueueSize ==原创 2016-10-18 16:00:05 · 398 阅读 · 0 评论 -
链表之双链表
一、双链表priordatanextprior 为前驱指针域next 为后继指针域双链表虽然比单链表方便,但在实际应用中多采用带头结点的循环双链表1. 插入① s->prior = p;② s->next = p->next;③ p->next->prior = s;④p->next = s;2.删除①(p原创 2016-10-17 21:51:26 · 346 阅读 · 0 评论 -
栈
一、顺序栈1 . 栈空 top = -12 . 栈满 top = StackSize - 1 (StackSize 为数组长度)二 、两栈共享空间原因:为了避免空间的浪费①. 栈2空 top = StackSize;②. 栈满 即 栈1的栈顶元素和栈2的栈顶元素位于数组的相邻位置top1=top2-1(或top2 = top1+1) ③ 入栈Pushtem原创 2016-10-17 22:34:14 · 336 阅读 · 0 评论 -
Xen CPU调度算法
SEDF (Simple earliest deadline first) SEDF是按照最早截止日期优先调度的算法。 其基本思想: 每一个vm都有一个三元组(s,p,x)p表示周期的时间,s表示一个周期需要完成的任务数,x表示完成指定任务后等待还是直接进入下一个周期工作,x的取值只有0或者是1,0表示等待一个周期的全部执行才进入下一个周期,1则表示不用等待直接进入下一个周期。...原创 2018-03-15 22:27:39 · 949 阅读 · 0 评论 -
数据结构 二叉树
二叉树 度为2的树 特点: ①每个结点最多有两棵子树,所以二叉树不存在度大于2的结点; ②二叉树是有序的,其次序不能任意颠倒,即使树中的某个结点只有一棵子树,也要区分它是左子树还是右子树。 性质 ① 二叉树的第i层上最多有2的i-1次方个结点 ②在一棵深度为k的二叉树中,最多有2的k次方-1个结点,最少有k个结点。 ③在一棵二叉树中,如果叶子结点的个数为n0,度为2的结点个数n2...原创 2018-03-18 19:54:36 · 283 阅读 · 0 评论 -
C++ 排列问题
问题: 口袋中有红、黄、蓝、白、黑5种颜色的球若干个。每次从口袋中任意取出3个球,问得到3种不同颜色的球的可能取法,输出每种排列的情况。分析: 可以使用穷举法实现#include<iostream>#include<iomanip>using namespace std;int main(){enum color{red,yellow,blue...原创 2018-09-13 10:22:51 · 1016 阅读 · 0 评论