自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(10)
  • 收藏
  • 关注

原创 用线程实现经典生产者消费者问题

2)用线程实现经典生产者消费者问题解决生产者消费者问题的方法一般采用同步机制保证生产者和消费者之间的同步,这种方式有较高的效率,并且易于实现,代码的可控制性较好,属于常用的模式。同步问题核心在于:如何保证同一资源被多个线程并发访问时的完整性。常用的同步方法是采用信号或加锁机制,保证资源在任意时刻至多被一个线程访问。Java语言在多线程编程上实现了完全对象化,提供了对同步机制的良好支持。生产者与消费者模型中,要保证以下几点:同一时间内只能有一个生产者生产 生产方法加锁sychronized同一时间

2020-05-26 11:04:51 546

原创 linux哲学家进餐问题

分析当五个哲学家同时去取他左边的筷子,每人拿到一只筷子且不释放,即五个哲学家只得无限等待下去,引起死锁。解决方法:奇数号哲学家先拿他左边的筷子,偶数号哲学家先拿他右边的筷子。这样破坏了同方向环路,一个哲学家拿到一只筷子后,就阻止了他邻座的一个哲学家吃饭。按此规定,将是1、2号哲学家竞争I号筷子;3、4号哲学家竞争4号筷子。#include<unistd.h>#include<stdlib.h>#include<stdio.h>#include&l..

2020-05-26 10:59:08 588

原创 最小生成树

最小生成树的各种算法子图:从原图中选中一些顶点和边组成的图.生成子图:选中一些边和所有顶点组成的图.生成树:正好是一棵树的生成子图.最小生成树:权值之和最小的生成树.Prim算法复杂度:O(n^2) $$$$#include<iostream>using namespace std;const int INF = 1e4;const int N = 100;...

2019-10-16 08:48:11 125

原创 贪心算法

贪心算法例题基本流程:决定贪心策略->得到局部最优解->得到全局最优解最优装载问题#include<iostream>#include<algorithm>const int N=10000;using namespace std;double w[N];int main(){ double c; int n; cout...

2019-10-16 08:44:31 153

原创 什么是哈希表

什么是哈希表哈希表 是 Hash Table 一词的中文翻译,算法书里通常称这种数据结构为「散列表」。之所以称之为 散列表 和这种数据结构的存储方式有关,每个按序进入的数据经过 散列函数 的计算后会无序的分布在哈希表不同的位置,这是与数组、链表等有序结构所不同的。哈希表实际上是数组的一种扩展。在哈希表中通过 哈希函数 我们可以将数字、字符串等数据中比较有代表性的数据作为 键值 转换成数组的 索...

2019-10-09 09:27:21 518

原创 Semaphore用法

Semaphore及其用法详解Semaphore的主要方法摘要:void acquire():从此信号量获取一个许可,在提供一个许可前一直将线程阻塞,否则线程被中断。void release():释放一个许可,将其返回给信号量。int availablePermits():返回此信号量中当前可用的许可数。boolean hasQueuedThreads():查询是否有线程正在等待获取。...

2019-10-09 08:27:25 114

原创 test分治问题和8皇后

test

2019-09-26 19:27:49 152

转载 c++实现杨辉三角

c++实现杨辉三角求n阶二项式系数的数学模型就是求n阶杨辉三角形杨辉三角最本质的特征是,它的两条斜边都是由数字1组成的,而其余的数则是等于它肩上的两个数之和。不难看出:当n=1时两个系数有确定值,前两项分别为1,1。#include<stdio.h>#include<iostream>#include<iomanip>using namespac...

2019-09-25 09:15:13 2627

原创 利用递归 c++实现汉诺塔

汉诺塔问题移动规则:每次只能移动一个圆盘;圆盘可以插在A、 B和C中的任何一个塔座上;任何时刻都不能将一个较大的圆盘压在较小的圆盘之上。假设盘的序号从上往下增大,第一个盘序号为1,最后一个盘序号为n。每次只能移动一个盘,并且大盘不能在小盘的上面。那么运用递归的思想可知,若想将n号盘放到z轴上,那么必须先将(1,…,n-1)号盘移动到y轴上,此时z轴作为辅助轴。即hanoi(n...

2019-09-25 08:41:05 235

原创 算法stl

STL 简介STl 简介stl 组成1)容器(Container)2)迭代器(Iterator)3)算法(Algorithm)4)函数对象(Function object)5)适配器(Adaptor)6)空间配制器(allocator)STl 简介STL(Standard Template Library),即标准模板库,是一个具有工业强度的,高效的C++程序库。STL是所有C++编译器和所...

2019-09-25 08:31:55 102

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除