#include#includeusingnamespacestd;classMinHeapNode{friendclassFlowshop;public:booloperator<(constMinHeapNode&a)const{returna.bb<bb;}private:voidInit(int);voidNewNode(MinHeapNode,int,int,int,int);ints;//已安排作业数intf1;//机器1上最后完成时间intf2;//机器2上最后完成时间intsf2;//当前机器2上的完成时间和intbb;//当前完成时间和下界int*x;//当前作业调度};voidMinHeapNode::Init(intn){//最小堆结点初始化x=newint[n];for(inti=0;i<n;i++)x[i]=i;
2025/2/24 19:31:30 32KB th
1
前言第1章 绪论第2章 算法复杂度与问题的下界2.1 算法的时间复杂度2.2 最好、平均和最坏情况的算法分析2.3 问题的下界2.4 排序的最坏情况下界2.5 堆排序:在最坏情况下最优的排序算法2.6 排序的平均情况下界2.7 通过神谕改进下界2.8 通过问题转换求下界2.9 注释与参考2.10 进一步的阅读资料习题第3章 贪心法3.1 生成最小生成树的Kruka1算法3.2 生成最小生成树的Prim算法3.3 单源最短路径问题3.4 二路归并问题3.5 用贪心法解决最小圈基问题3.6 用贪心法解决2终端一对多问题3.7 用贪心法解决1螺旋多边形最小合作警卫问题3.8 实验结果3.9 注释与参考3.10 进一步的阅读资料习题第4章 分治策略4.1 求2维极大点问题4.2 最近点对问题4.3 凸包问题4.4 用分冶策略构造Voronoi图4.5 voronoi图的应用4.6 快速傅里叶变换4.7 实验结果4.8 注释与参考4.9 进一步的阅读资料习题第5章 树搜索策略5.1 广度优先搜索5.2 深度优先搜索5.3 爬山法5.4 最佳优先搜素策略5.5 分支限界策略5.6 用分支限界策略解决人员分配问题5.7 用分支限界策略解决旅行商优化问题5.8 用分支限界策略解决O,1背包问题5.9 用分支限界方法解决作业调度问题5.10 A*算法5.11 用特殊的A*算法解决通道路线问题5.12 用A*算法解决线性分块编码译码问题5.13 实验结果5.14 注释与参考5.15 进一步的阅读资料习题第6章 剪枝搜索方法6.1 方法概述6.2 选择问题6.3 两变量线性规划6.4 圆心问题6.5 实验结果6.6 注释与参考6.7 进一步的闷读瓷料习题弟7章 动态规划方法7.1 资源配置问题7.2 最长公共f序列问题7.3 2序列比对问题7.4 RNA最大碱基对匹配问题7.5 0,1背包问题7.6 最优二卫树问题7.7 树的带权完垒支配问题7.8 树的带权单步图边的搜索问题7.9 用动态规划方法解决1螺旋多边形m守卫路由问题7.10 实验结果7.11 注释与参考7.12 进一步的阅读资料习题第8章 NP完全性理论8.1 关十NP完垒性理论的非形式化讨论8.2 判定问题8.3 可满足性问题8.4 NP问题8.5 库克定理8.6 NP完全问题8.7 证明NP完全性的例子8.8 2可满足性问题8.9 注释与参考8.10 进一步的阅读资料习题第9章 近似算法9.1 顶点覆盖问题的近似算珐9.2 欧几里得旅行商问题的近似算法9.3 特殊瓶颈旅行商问题的近似算珐9.4 特殊瓶颈加权K供应商问题的近似算法9.5 装箱问题的近似算法9.6 直线m中心问题的最优近似算法9.7 多序列比对问题的近似算珐9.8 对换排序问题的2近似算法9.9 多项式时间近似方案9.10 最小路径代价生成树问题的2近似算法9.11 最小路径代价生成树问题的Pns9.12 NP0完全性9.13 注释与参考9.14 进一步的阅读资料习题第10章 分摊分析10.1 使用势能函数的例子10.2 斜堆的分摊分析10.3 Av1树的分摊分析10.4 自组织顺序检索启发式方法的分摊分析10.5 配对堆及其分摊分析10.6 不相交集合并算法的分摊分析10.7 一些磁盘调度算法的分摊分析10.8 实验结果10.9 注释与参考10.10 进步的阅读资料习题第11章 随机算法11.1 解决最近点对问题的随机算珐11.2 随机最近点对问题的平均性能11.3 素数测试的随机算法11.4 模式匹配的随机算法11.5 交互证明的随机算法11.6 最小生成树的随机线性时间算法11.7 注释与参考11.8 进一步的阅读资料习题第12章 在线算法12.1 用贪心法解决在线欧几里得生成树问题12.2 在线K服务员问题及解决定义在平面树上该问题的贪心算法12.3 基于平衡策略的在线穿越障碍算法12.4 用补偿策略求解在线二分匹配问题12.5 用适中策略解决在线m台机器调度问题12.6 基于排除策略的三个计算几何问题的在线算法12.7 基于随机策略的在线生成树算法12.8 注释与参考12.
2024/11/10 12:04:19 12.76MB 算法
1
No.4简单的MFC多对话框演示程序“MultiDialog”演示如何在工程中拥有多个对话框,及如何在一个对话框中调用另一个对话框。
重点:1、多个对话框类的建立;
2、对话框的模式(Modal)调用方法;
3、Spin控件的使用。
新建一个基于对话框的MFC工程,通过菜单"Insert>>Resource"打开添加资源对话框,在其中选择Dialog后点击New创建一个新的对话框按Ctrl+W打开ClassWizard,系统会提示刚才创建了一个新的对话框资源,是否建立对应的类,选择建立,然后在NewClass窗口中ClassName栏输入它的名称:CSubClass1,确定后系统会自动生成SubClass1.h和SubClass1.cpp并加入工程中,其中有已经创建好的CSubClass1的类的基本代码。
把这个对话框的Caption属性改为“难度选择”,在它上面画三个Radio“简单”、“标准”、“困难”,并建立相关联的变量m_Option1。
(要注意的是在ClassWizard中注意ClassName中应该选CSubClass1而不是之前的主对话框类)按照相同方法建立第二个新对话框,类名“CSubClass2”,Caption为“关卡选择”。
在上面画一个Edit和一个Spin,注意先画Edit后画Spin,将Spin的Autobuddy和Setbuddyinteger勾上。
按Ctrl+W打开ClassWizard,为Edit建立关联变量,不过注意是int型而不是CString型,也为Spin建立关联变量m_Spin1,注意这次是Control型变量CSpinButtonCtrl。
下面为这两个对话框添加代码。
双击“难度选择”对话框的OK按钮,建立对话框的OnOK映射。
在其中加入(在CDialog::OnOK();之前):UpdateData(TRUE);if((m_Option1>2)||(m_Option1<0)){MessageBox("错误的选择!","提示",MB_OK);return;}下面对“关卡选择”对话框添加初始化代码,由于关卡的有效值只有1到6,因此需要在初始化时设置Spin控件的有效值范围。
按Ctrl+W打开ClassWizard,在左侧列表选择这个对话框类CSubDialog2,在右侧列表中选择WM_INITDIALOG,点击右边的“AddFunction...”按钮,接着点击右边的“EditCode”按钮,在其中中加入(在CDialog::OnInitDialog()那句之后,在returnTRUE那句之前):m_Spin1.SetRange(1,6);m_Text1=1;m_Spin1.SetPos(1);其中CSpinButtonCtrl::SetRange()函数的作用是设置和他关联的Spin控件的范围,两个参数分别是下界和上界。
而CSpinButtonCtrl::SetPos()是设定Spin的当前位置。
两个新的对话框都已建立完毕,下来是如何在主对话框中使用的问题。
首先,两个新对话框都有各自的类,分别在SubDialog1.h和SubDialog2.h中有定义。
(类的细节则在对应的cpp中定义)因此,主对话框想要调用这两个新对话框,需要先包含这两个头文件,在你要使用的地方(本例是MultiDialogDlg.cpp中)文件前面加上#include"SubDialog1.h"#include"SubDialog2.h"然后在想要调用的地方就可以使用了。
本例中,首先为主窗口的两个Edit建立CString型关联变量m_Text1和m_Text2,然后在两个按钮的消息映射函数中分别加入:CSubDialog1dialog1;//定义CSubDialog1型对话框的一个新对象dialog1.DoModal();//使用“模式”调用,显示对话框m_Text1.Format("%d",dialog1.m_Option1);//此句在上面对话框没有关闭前不会执行到UpdateData(FALSE);和CSubDialog2dialog1;dialog1.DoModal();m_Text2.Format("%d",dialog1.m_Text1);UpdateData(FALSE);其中第一句均为定义对话框新实例的语句,定义一个你想要的类型的对话框。
第二句是通过调用CDialog::DoModal()方法,来显示这个对话框,并进入“模式”(Modal)状态在“模式”状态,当子对话框没有关闭之前,调用它的父对话框不能被响应,并且其语句执行会停留在刚才的DoModal语句上等待,直到子对话框关闭才接着执行下一个语句。
第三第四句将子对话框得到的数据(即类的成员变量)显示在父对话框的Edit上。
四句执行完后退出该函数,这时刚才定义的CSubDialog1等对话框类变量被销毁,因此创建的话框也被销毁。
2024/10/14 12:21:15 3.52MB MFC VC 多窗口 multiwidows
1
设一个时隙Aloha系统的时隙长度为1,所有节点的数据包均等长且等于时隙长度。
网络中的节点数为,各节点数据包以泊松过程到达。
1、假设每个节点的数据包到达强度为,在不同的下,使用计算机仿真时隙Aloha系统数据包传送的成功概率,绘制呼入强度和成功概率的曲线,与理论结果进行对照。
注意:节点个数要足够多。
2、选取合理的等待重传的节点在每一个时隙重传的概率、每个节点有新数据包到达的概率,以及节点数,采用延时的下界,仿真时隙Aloha系统数据传输过程,统计在不同积压节点数的情况下,到达率及离开率,绘制到达率和离开率随的分布情况,和理论值进行对照。
3、仿真时隙Aloha系统下的伪贝叶斯算法,通过仿真结果验证在的估计误差较大情况下的收敛特性及到达率小于下的稳定性。
2024/9/13 1:15:56 323KB MATLAB
1
信号检测与估计ppt课件,南京大学,章节目录:ch1概述,ch2最小方差无偏估计,ch3克罗拉美下界,ch4线性模型,ch5一般最小方差无偏估计等等。



2024/6/21 17:14:19 9.33MB signal
1
设有最大化的整数规划问题A,与它对应的线性规划为问题B,从解问题B开始,若其最优解不符合A的整数条件,那么B的最优目标函数必是A的最优目标函数的上界,记作Z1;而A的任意可行解的目标函数值将是一个下界Z2。
分支定界法就是将B的可行域分成子区域(称为分支),逐步减小Z1和增大Z2,最终求到.
2024/4/18 9:09:41 41KB 分支定界法
1
Cramer-RaoLowerBound(CRLB)下界可以用于计算无偏估计中能够获得的最佳估计精度,因此经常用于计算理论能达到的最佳估计精度,和评估参数估计方法的性能(是否接近CRLB下界)。
本篇博客融合和总结了若干PPT的内容。
2024/2/23 3:48:01 752KB CRLB 克拉美罗 下界 无偏估计
1
好几种方法,wlls,lls,nr,gn回归,hessian,可用,但要注意方法。


(Passivetargetingsomesimulationcode,includingwhenTOATwo-dimensionallinear,nonlinear,maximumlikelihoodalgorithmandCramer-Raolowerbound,meansquareerrorcode)
2023/9/3 11:13:37 18KB 无源定位 TOA TDOA
1
设一个时隙Aloha系统的时隙长度为1,所有节点的数据包均等长且等于时隙长度。
网络中的节点数为m,各节点数据包以泊松过程到达。
假设每个节点的数据包到达强度均为λ/m,在不同的λ下,使用计算机仿真时隙Aloha系统数据包传送的成功概率,绘制呼入强度和成功概率的曲线,与理论结果进行对照。
注意:节点个数m要足够多。
假设每个节点的数据包到达强度均为λ/m。
以及节点数m,采用延时的下界。
选取合理的等待重传的节点在每一个时隙重传的概率qr。
仿真时隙Aloha系统数据传输过程,统计在不同积压节点数n的情况下,到达率及离开率Ps(n),绘制到达率和离开率随n的分布情况,和理论值进行对照。
调整qr大小,考察曲线的变化,和理论值进行对照。
假设每个节点的数据包到达强度均为λ/m。
以及节点数m,采用延时的下界。
选取合理的等待重传的节点在每一个时隙重传的概率qr。
仿真时隙CSMA协议,其中空闲时隙长度β<1。
绘制到达率和离开率随n的分布情况,和理论值进行对照。
调整β大小,考察曲线的变化,和理论值进行对照。
在(3)基础上,进一步引入碰撞检测机制,仿真CSMA/CD协议,其中空闲时隙和碰撞时隙长度均为β<1。
绘制到达率和离开率随n的分布情况,和理论值进行对照。
调整β大小,考察曲线的变化,和理论值进行对照。
2023/7/19 2:34:57 4KB Aloha CSMA
1
改善的加权布隆滤波器以及空间下界算法,用于类似成员盘问
2023/5/10 12:21:20 217KB 研究论文
1
在日常工作中,钉钉打卡成了我生活中不可或缺的一部分。然而,有时候这个看似简单的任务却给我带来了不少烦恼。 每天早晚,我总是得牢记打开钉钉应用,点击"工作台",再找到"考勤打卡"进行签到。有时候因为工作忙碌,会忘记打卡,导致考勤异常,影响当月的工作评价。而且,由于我使用的是苹果手机,有时候系统更新后,钉钉的某些功能会出现异常,使得打卡变得更加麻烦。 另外,我的家人使用的是安卓手机,他们也经常抱怨钉钉打卡的繁琐。尤其是对于那些不太熟悉手机操作的长辈来说,每次打卡都是一次挑战。他们总是担心自己会操作失误,导致打卡失败。 为了解决这些烦恼,我开始思考是否可以通过编写一个全自动化脚本来实现钉钉打卡。经过一段时间的摸索和学习,我终于成功编写出了一个适用于苹果和安卓系统的钉钉打卡脚本。
2024-04-09 15:03 15KB 钉钉 钉钉打卡