![](https://img-blog.csdnimg.cn/20200415172340283.jpg?x-oss-process=image/resize,m_fixed,h_224,w_224)
算法分析与设计
文章平均质量分 73
算法
公园守望者
这个作者很懒,什么都没留下…
展开
-
桌上有一空盘,最多允许存放一只水果。爸爸只向盘中放一个苹果,妈妈只向盘中放一个桔子,儿子专等吃盘中的桔子,女儿专等吃苹果。用wait、signal操作实现爸爸、妈妈、儿子、女儿四个并发进程的同步。
分析设计四个信号量metux,empty、apple、orange;metux表示:爸爸、妈妈、儿子和女儿进程对盘子的互斥使用;empty表示:盘子是否为空;apple表示:是否可以取苹果;orange表示:是否可以取桔子。算法描述如下:semaphore empty=1,nutex=1,apple=0,orange=0; //为四个信号量赋初值void father(){ do{...原创 2018-03-31 10:46:26 · 37823 阅读 · 11 评论 -
递归分治策略——Java之棋盘覆盖问题解决
问题描述与分析: 在一个2的k次方乘以2的k次方个方格组成的棋盘中,若恰有一个方格与其他方格不同,则称该方格为一个特殊方格,且称该棋盘为一个特殊棋盘。显然特殊方格在棋盘上出现的位置有4的k次方种情形。因为对任何k>=0,有4的k次方种不同的特殊棋盘。如图(a)所示。 在棋盘覆盖问题中,要用4种不同形态的L型骨牌(b图所示)覆盖一个给定的特殊棋盘上除特殊方格以外所有方格...原创 2018-03-23 20:31:43 · 791 阅读 · 2 评论 -
如何用Java编写斐波那契数列
无穷数列1,1,2,3,5,8,13,21,34,55,……,称为Fibonacci数列。它可以递归地定义为: F(n)=1 n=0 F(n)=1 n=1 F(n)=F(n-1)+F(n-2) n>1这是一个递归...原创 2018-03-23 09:43:06 · 1611 阅读 · 0 评论 -
数组元素的排序
选择排序法图解:题目分析: 通过观察发现,题目要实现把数组元素{13,46,22,65,3}进行排序 1.提到数组排序,就要进行元素值大小的比较,通过上图发现,想完成排序要经过若干次的比较才能够完成。 2.上图中用每圈要比较的第一个元素与该元素后面的数组元素依次比较到数组的最后一个元素,把小的值放在第一个数组元素中,数组循环一圈后,则把最小元素值互换到了第一...原创 2018-03-31 19:15:23 · 956 阅读 · 0 评论