![](https://img-blog.csdnimg.cn/20201014180756780.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
算法与数据结构
文章平均质量分 65
孟祥月
喜欢编程,希望和大家成为好朋友,有什么好东西都拿出来分享一下,哈哈哈!
展开
-
算法中分治策略实现合并排序
合并排序算法是用分治策略实现对n个元素进行排序的算法。其基本思想是:将待排序的元素分成大小大致相同的两个子集合,分别对两个子集合进行排序,最终排好序的子集合并成所要求的排好序的集合。 #include using namespace std; void mergePass(int x[],int y[],int s,int n); void merge(int c[],int d[],in原创 2011-10-25 21:20:36 · 1766 阅读 · 3 评论 -
算法中分治策略实现快速排序
快速排序算法是基于分治策略的一个排序算法,其基本思想是,对于输入的子数组,按以下三个步骤求解: 1 分解:选择一个基准元素,将整个数组分为大于基准元素,等于基准元素,小于基准元素的三组。基准元素在在划分的过程中确定 2 递归求解:通过递归调用快速排序算法分别对大于和小于基准元素的数组进行排序 3 合并:将递归的子数组进行合并最后成为排好序的数组 下面是程序的代码: #include原创 2011-10-26 21:28:44 · 4326 阅读 · 0 评论 -
矩阵连成问题
【作者:孟祥月 博客:http://blog.csdn.net/mengxiangyue】 给定n个矩阵{A1,A2,...,An},其中Ai与Ai+1是可乘的,i=1,2...,n-1。如何确定计算矩阵连乘积的计算次序,使得依此次序计算矩阵连乘积需要的数乘次数最少。 #include using namespace std; int p[]={30,35,15,5,10,20,25原创 2011-10-31 21:06:05 · 1638 阅读 · 0 评论 -
Java实现流水作业调度问题
【作者:孟祥月 博客:http://blog.csdn.net/mengxiangyue】 流水作业调度问题:n个作业要求在两个机器上处理,要求先在第一个上处理,然后再在第二个处理器上处理,求如何安排使得完成后最后时间最短。 下面是程序代码: import java.util.ArrayList; import java.util.Collections; class RenWu {原创 2011-12-05 21:43:09 · 7451 阅读 · 10 评论 -
Java实现最小生成树Kruskal算法
【作者:孟祥月 博客:http://blog.csdn.net/mengxiangyue】 最小生成树,指的是有一个无向图,根据这个图构造一个包含所有顶点的树,使得包含的边的权值的和最小。 Kruskal算法的基本思想是从边入手,按照边的权值从小到大排列,然后按照顺序选择,避免产生环,最后包含了所有的顶点后就构造了一棵树。 下面我我写的程序,可能程序不是最优的。本人水平有限,只能写到这种程原创 2011-12-08 09:10:16 · 6466 阅读 · 1 评论 -
多核多线程中小和尚老和尚取水喝水问题
最近学习多核多线程技术,最后的考试题目是和尚的问题。题目具体如下: 某寺庙有小和尚、老和尚若干。庙内有一水缸、由小和尚提水入缸,供老和尚引用。水缸可容纳10桶水,每次入水、取水都为1桶,且不可同时进行。水取自同一井中,水井口很小,每次只能容纳一只水桶取水。设水桶个数为3个。试写出小和尚和老和尚的函数,假设有5个小和尚同时提水入缸,5个老和尚同时取水喝(每隔一定时间取水一次),编写程序使他们能同步原创 2012-04-19 19:48:43 · 8371 阅读 · 1 评论