当前位置:文档之家› 气浮法实验报告

气浮法实验报告

气浮法实验报告
气浮法实验报告

实验名称:气泡法回收废水中的有机溶剂

实验目的:

1.了解气泡分离法的原理和分离方法

2.找出一种可高效提取水中的有机物的试剂

3.应用气泡分离法及相关试剂分离出废水中的有机物

实验原理:

利用高度分散的微小气泡作为载体粘附于废水中的悬浮污染物,时期浮力大于重力和阻力,从而使污染物上浮至水面,形成泡沫,然后用刮渣设备自水面刮除泡沫,实现固液或液液分离的过程称为气浮。

向水中通入大量微小气泡,使待分离物质吸附于上升的气泡表面而浮升到液面,从而使某组分得以分离的方法,称气浮分离法或气泡分离法。也称浮选分离或泡沫浮选分离。原理是设法使水中产生大量的微气泡,以形成水、气、及被去除物质的三相混合体,在界面张力、气泡上升浮力和静水压力差等多种力的共同作用下,促进微细气泡粘附在被去除的微小油滴上后,因粘合体密度小于水而上浮到水面,从而使水中油粒被分离去除。

表面活性剂在水溶液中易被吸附到气泡的气——液界

面上。表面活性剂极性的一端向着水相,非极性的一端向着

气相( 如图8 — 9) ,含有待分离的离子、分子的水溶液

中的表面活性剂的极性端与水相中的离子或其极性分子通

过物理( 如静电引力) 或化学(如配位反应)作用连接在一

起。当通入气泡时,表面活性剂就将这些物质连在一起定向

排列在气——液界面,被气泡带到液面,形成泡沫层,从而

达到分离的目的。

影响气浮分离效率的主要因素

1. 溶液的酸度

2. 表面活性剂浓度:表面活性剂浓度不宜超过临界胶束浓度,过量的表

面活性剂会形成胶束使沉淀溶解。

3. 离子强度:离子强度大,对气浮分离不利。

4. 形成络合物或沉淀的性质:螯合物以及离子缔合物的稳定性与分离效

率都有直接关系。

5. 其它因素:一般要求气泡直径在0.1—0.5之间,气泡流速为

1—2ml.cm-2.min-1 为宜。气体常用氮气或空气。通气时间因方法而不同。

气浮法处理工艺必须满足下列基本条件才能完成气浮处理过程,达到污染物质从水中去除的目的:

1.必须向水中提供足够量的微小气泡。

2.必须使废水中的污染物质能形成悬浮状态。

3.必须使气泡与悬浮物质产生粘附作用。

它利用离子与表面活性剂形成的复合物或有机化合物,由于具有较低的界面张力和较强的疏水性而优先吸附于上升气泡的气-液界面上或通过扩散而进入气

泡内,随着气泡的上升而被带入处于水相上层静止的一薄层难挥发性有机捕收溶剂中,从而达到与水相分离的目的。溶剂气浮分离法的优点是设备比较简单,可以连续进行,而且在低浓度下分离特别有效,因此就特别适用于溶液中低浓度组分的回收。

气浮过程:

第一阶段——气泡产生

在气浮过程中需要形成大量细微而均匀的气泡作为载体:

(1)气泡量越多,分散度越高,它与有机物粘附的机会也越多。

(2)气泡应有一定的稳定性,但过于稳定的泡沫也难以运送和脱水,因而稳定时间以数分钟为宜。

(3)空气从水中析出的过程:①气泡核的形成过程;②气泡的增长过程。第一个步骤起决定性作用,能否形成稳定的气泡取决于废水的表面张力。表面张力越小,越容易形成稳定的气泡,气泡直径也越小。

第二阶段——有机物与气泡附着

实现气浮分离过程的必要条件是使有机物能粘附在气泡上。

当废水中有气泡存在时,并非所有的有机物都能粘附上去,它们是否与气泡粘附取决于水对该有机物的表面性质(即有机物的疏水性)

一般规律:疏水性颗粒易与气泡粘附,而亲水性颗粒难以与气泡粘附。

①气浮法只适宜于除去水中的疏水性颗粒;②对于亲水性物质,就必须投加

合适的药剂,改变颗粒的表面性质,同样可用气浮法分离。③对于颗粒很细小的微粒,直接用气浮法效果较差,可投加混凝剂以提高其气浮效果

第三阶段——上浮分离

主要由气浮池来实现

污水处理中采用的气浮法,按水中气泡产生的方法可以分为:

溶气气浮法(真空溶气气浮、加压溶气气浮)

该法是气体在一定压力下使空气溶解于水并达到饱和状态,然后骤然减压释放,这是溶解的空气便以微小的气泡从水中析出并进行气浮。

特点:气泡直径约为20—100μm;可人为控制气泡与废水的接触时间

布气气浮法(水泵吸水管吸入空气气浮、射流气浮、扩扩散曝气气浮、叶轮气浮)

电解气浮法

缺点:电耗较高,电极板易结垢,操作管理复杂

气浮效果的好坏取决于:水中空气的溶解量、水中空气的饱和度、气泡的分散程度、气泡的稳定性

仪器与试剂:

简易的鼓气装置:气瓶、漏斗、布气板、压力泵等

各种有机溶剂

气浮药剂(1)捕获剂(2)气泡剂(3)调整剂:抑制剂、活化剂、介质调整剂

实验步骤:

1.组装鼓气装置。根据水中气泡产生的方法可以采取直接鼓气、布气板鼓气、

加压鼓气、电解鼓气等方式,分别实验几种鼓起方式产生的气泡大小、气泡多少及气泡的稳定性。

直接鼓气——由漏斗、气瓶组成简易装置进行试验

布气板鼓气:布气板、气瓶

加压鼓气——压力泵

真空鼓气——真空泵

电解鼓气——电解装置

2.选取不同的有机溶剂作为捕获剂,分别鼓入废水中。观察气泡的稳定性并通

过检验泡沫中提取的有机物的量(或废水中剩余的有机物的量)来检验分离效率。如效率不高,可将两种或以上的有机试剂按一定比例混合,在进行检验。直到找出一种分离效率较高的组合为止。达到只使用一种捕获剂提取出废水中绝大多数可回收的有机溶剂的目的。

PS:在溶剂气浮分离过程中,气浮溶剂对气-液界面上和气泡中的有机物进行捕集,所以对气浮溶剂的要求较高:

1.有机溶剂在水中的溶解度必须小,以减少溶剂对水相的二次污染;

2.有机溶剂的挥发度要小,以减少由于溶剂向大气挥发而造成的损失;

3.溶剂与被气浮溶质的互溶度要高以提高捕收效率;

4.沸点适中,宜于后处理过程。

3.调节溶液的酸度、表面活性剂浓度、气泡大小及流速、气体通入时间等因素,

找出分离的最合适条件。

回溯法实验(0-1背包问题)

算法分析与设计实验报告第五次附加实验

附录: 完整代码(回溯法) //0-1背包问题回溯法求解 #include using namespace std; template class Knap //Knap类记录解空间树的结点信息 { template friend Typep Knapsack(Typep [],Typew [],Typew,int); private: Typep Bound(int i); //计算上界的函数 void Backtrack(int i); //回溯求最优解函数

Typew c; //背包容量 int n; //物品数 Typew *w; //物品重量数组| Typep *p; //物品价值数组 Typew cw; //当前重量 Typep cp; //当前价值 Typep bestp; //当前最后价值 }; template Typep Knapsack(Typep p[],Typew w[],Typew c,int n); //声明背包问题求解函数template inline void Swap(Type &a,Type &b); //声明交换函数 template void BubbleSort(Type a[],int n); //声明冒泡排序函数 int main() { int n ;//物品数 int c ;//背包容量 cout<<"物品个数为:"; cin>>n; cout<<"背包容量为:"; cin>>c; int *p = new int[n];//物品价值下标从1开始 int *w = new int[n];//物品重量下标从1开始 cout<<"物品重量分别为:"<>w[i]; } cout<<"物品价值分别为:"<>p[i]; } cout<<"物品重量和价值分别为:"<

气浮法设计计算

气浮法设计计算一.气浮法分类及原理 二.气浮法设计参数

三.气浮法设计计算

四.不同温度下的K T值和736K T值

例:2×75m3 / h气浮池 气浮池设置在絮凝池侧旁,沉淀池上方。气浮类型较多,有全部压力溶气气浮、分散空气气浮、电解凝聚气浮、内循环射流气浮等,这里选择适用于城镇给水处理的部分回流压力溶气气浮。 气浮适用于含藻类及有机杂质、水温较低、常年浊度低于100NTU的原水;它依靠微气泡粘附絮粒,实现絮粒强制性上浮,达到固、液分离,由于气泡的重度远小于水,浮力很大,促使絮粒迅速上浮,提高固、液分离速度。气浮依靠无数微气泡去粘附絮粒,对絮粒的重度、大小要求不高,能减少絮凝时间,节约混凝剂量;带气絮粒与水的分离速度快,单位面积产水量高,池容及占地减少,造价降低;气泡捕足絮粒的机率很高,跑矾花现象很少,有利于后级滤池延长冲洗周期,节约水耗;排渣方便,浮渣含水率低,耗水量小;池深浅,构造简单,可随时开、停,而不影响出水水质,管理方便。 ●结构尺寸: 取回流比R=20%,气浮池处理水量:Q3=(1+R)Q2=1.2×75=90m3/h 接触区底部上升段纵截面为矩形,上升流速10~20mm/s,取U J1=18mm/s=64.8m/h 接触区底部通水平面面积:F J1=90/64.8=1.389≈1.4m2 接触区宽与絮凝池相同,B=2m,接触区底部平面池长方向尺寸:L J1=1.4/2=0.7m 接触区上端扩散段纵截面为倒直角梯形,出口流速5~10mm/s,取U J2=7.5mm/s=27m/h 接触区上端扩散出口通水平面面积:F J2=90/27=3.333m2 接触区宽与絮凝池相同,B=2m,接触区上端扩散出口平面池长方向尺寸:L J2=3.333/2=1.6665≈1.7m 扩散段水平倾角α=35°,扩散段高:h K=(1.7-0.7)tan35°=0.7m 扩散段容积:V K=〔(1.7+0.7)/2〕×0.7×2=1.68m3 接触区停留时间需大于60s,取t J=90s=1.5min,接触区容积:V J=90×1.5/60=2.25m3 接触区底部上升段高:h D=(V J-V K)/F J1=(2.25-1.68)/1.4=0.4m

MAAB计算方法迭代法牛顿法二分法实验报告

姓名 实验报告成绩 评语: 指导教师(签名) 年 月 日 说明:指导教师评分后,实验报告交院(系)办公室保存。 实验一 方程求根 一、 实验目的 用各种方法求任意实函数方程0)(=x f 在自变量区间[a ,b]上,或某一点附近的实根。并比较方法的优劣。 二、 实验原理 (1)、二分法 对方程0)(=x f 在[a ,b]内求根。将所给区间二分,在分点 2a b x -=判断是否0)(=x f ;若是,则有根2a b x -=。否则,继续判断是否0)()(

+)(0x f 0))(('0=-x x x f 设0)('0≠x f ,则=x -0x )(') (00x f x f 。取x 作为原方程新的近似根1x ,然后将1x 作为0x 代入上式。迭代公式为:=+1 k x -0x )(')(k k x f x f 。 三、 实验设备:MATLAB 软件 四、 结果预测 (1)11x = (2)5x = (3)2x =0,09052 五、 实验内容 (1)、在区间[0,1]上用二分法求方程0210=-+x e x 的近似根,要求误差不超 过3105.0-?。 (2)、取初值00=x ,用迭代公式=+1 k x -0x )(') (k k x f x f ,求方程0210=-+x e x 的近似根。要求误差不超过3105.0-?。 (3)、取初值00=x ,用牛顿迭代法求方程0210=-+x e x 的近似根。要求误差 不超过3105.0-?。 六、 实验步骤与实验程序 (1) 二分法 第一步:在MATLAB 软件,建立一个实现二分法的MATLAB 函数文件如下: function x=agui_bisect(fname,a,b,e) %fname 为函数名,a,b 为区间端点,e 为精度 fa=feval(fname,a); %把a 端点代入函数,求fa fb=feval(fname,b); %把b 端点代入函数,求fb if fa*fb>0 error('两端函数值为同号'); end

回溯法实验(最大团问题)

算法分析与设计实验报告第七次附加实验

} } 测试结果 当输入图如下时: 当输入图如下时: 1 2 3 4 5 1 2 3 4 5

当输入图如下时: 1 2 3 4 5

附录: 完整代码(回溯法) //最大团问题回溯法求解 #include using namespace std; class Clique { friend void MaxClique(int **,int *,int ); private: void Backtrack(int i); int **a; //图的邻接矩阵 int n; //图的顶点数 int *x; //当前解 int *bestx; //当前最优解 int cn; //当前顶点数 int bestn; //当前最大顶点数 }; void Clique::Backtrack(int i) { //计算最大团 if(i>n) //到达叶子节点 { for(int j=1;j<=n;j++) bestx[j]=x[j]; bestn=cn;

cout<<"最大团:("; for(int i=1;i=bestn) { //修改一下上界函数的条件,可以得到 x[i]=0; //相同点数时的解 Backtrack(i+1); } } void MaxClique(int **a,int *v,int n) { //初始化Y Clique Y; Y.x=new int[n+1]; Y.a=a; Y.n=n; https://www.doczj.com/doc/676719354.html,=0; Y.bestn=0; Y.bestx=v; Y.Backtrack(1); delete [] Y.x; cout<<"最大团的顶点数:"<

算法分析与程序设计动态规划及回溯法解背包问题

动态规划法、回溯法解0-1背包问题 2012级计科庞佳奇 一、问题描述与分析 1.动态规划算法通常用于求解具有某种最优性质的问题。在这类问题中,可能会 有许多可行解。每一个解都对应于一个值,我们希望找到具有最优值的解。动态规划算法与分治法类似,其基本思想也是将待求解问题分解成若干个子问题,先求解子问题,然后从这些子问题的解得到原问题的解。与分治法不同的是,适合于用动态规划求解的问题,经分解得到子问题往往不是互相独立的。若用分治法来解这类问题,则分解得到的子问题数目太多,有些子问题被重复计算了很多次。如果我们能够保存已解决的子问题的答案,而在需要时再找出已求得的答案,这样就可以避免大量的重复计算,节省时间。我们可以用一个表来记录所有已解的子问题的答案。 不管该子问题以后是否被用到,只要它被计算过,就将其结果填入表中。这就是动态规划法的基本思路。具体的动态规划算法多种多样,但它们具有相同的填表格式。 多阶段决策问题中,各个阶段采取的决策,一般来说是与时间有关的,决策依赖于当前状态,又随即引起状态的转移,一个决策序列就是在变化的状态中产生出来的,故有“动态”的含义,称这种解决多阶段决策最优化问题的方法为动态规划方法。任何思想方法都有一定的局限性,超出了特定条件,它就失去了作用。同样,动态规划也并不是万能的。适用动态规划的问题必须满足最优化原理和无后效性。1.最优化原理(最优子结构性质)最优化原理可这样阐述:一个最优化策略具有这样的性质,不论过去状态和决策如何,对前面的决策所形成的状态而言,余下的诸决策必须构成最优策略。简而言之,一个最优化策略的子策略总是最优的。一个问题满足最优化原理又称其具有最优子结构性质。2.无后效性将各阶段按照一定的次序排列好之后,对于某个给定的阶段状态,它以前各阶段的状态无法直接影响它未来的决策,而只能通过当前的这个状态。换句话说,每个状态都是过去历史的一个完整总结。这就是无后向性,又称为无后效性。3.子问题的重叠性动态规划将原来具有指数级时间复杂度的搜索算法改进成了具有多项式时间复杂度的算法。其中的关键在于解决冗余,这是动态规划算法的根本目的。动态规划实质上是一种以空间换时间的技术,它在实现的过程中,不得不存储产生过程中的各种状态,所以它的空间复杂度要大于其它的算法。 01背包是在M件物品取出若干件放在空间为W的背包里,每件物品的体积为W1,W2……Wn,与之相对应的价值为P1,P2……Pn。求出获得最大价值的方案。 2.回溯法(探索与回溯法)是一种选优搜索法,按选优条件向前搜索,以达到目 标。但当探索到某一步时,发现原先选择并不优或达不到目标,就退回一步重新选择,这种走不通就退回再走的技术为回溯法,而满足回溯条件的某个状态的点称为“回溯点”。 在包含问题的所有解的解空间树中,按照深度优先搜索的策略,从根结点出发深度探索解空间树。当探索到某一结点时,要先判断该结点是否包含问题的解,如果包含,就从该结点出发继续探索下去,如果该结点不包含问题的解,则逐层向其祖先结点回溯。(其实回溯法就是对隐式图的深度优先搜索算法)。若用回溯法求问题的所有解时,要回溯到根,且根结点的所有可行的子树都要已被搜索遍才结束。

回溯法实验报告

实验04 回溯法 班级:0920561 姓名:宋建俭学号:20 一、实验目的 1.掌握回溯法的基本思想。 2.掌握回溯法中问题的解空间、解向量、显式约束条件、隐式约束条件以及子 集树与排列树的递归算法结构等内容。 3.掌握回溯法求解具体问题的方法。 二、实验要求 1.认真阅读算法设计教材,了解回溯法思想及方法; 2.设计用回溯算法求解装载问题、n后问题、图的m着色问题的java程序 三、实验内容 1.有一批共n个集装箱要装上2艘载重量分别为C1和C2的轮船,其中集装箱 i的重量为wi,且∑wi≤C1+C2。装载问题要求确定是否有一个合理的装载方案可将这个集装箱装上这2艘轮船。如果有,找出一种装载方案。 2.在n×n格的棋盘上放置彼此不受攻击的n个皇后。按照国际象棋的规则, 皇后可以攻击与之处在同一行或同一列或同一斜线上的棋子。n后问题等价于在n×n格的棋盘上放置n个皇后,任何2个皇后不放在同一行或同一列或同一斜线上。 3.给定无向连通图G和m种不同的颜色。用这些颜色为图G的各顶点着色,每 个顶点着一种颜色。是否有一种着色法使G中每条边的2个顶点着不同颜色。 这个问题是图的m可着色判定问题。 四、算法原理 1、装载问题 用回溯法解装载问题时,用子集树表示其解空间是最合适的。可行性约束可剪去不满足约束条件(w1x1+w2x2+…+wnxn)<=c1的子树。在子集树的第j+1层结点Z处,用cw记当前的装载重量,即cw=(w1x1+w2x2+…+wjxj),当cw>c1时,以结点Z为根的子树中所有结点都不满足约束条件,因而该子树中的解均为不可行解,故可将该子树剪去。 解装载问题的回溯法中,方法maxLoading返回不超过c的最大子集和,但未给出达到这个最大子集和的相应子集。 算法maxLoading调用递归方法backtrack(1)实现回溯搜索。Backtrack(i)搜索

算法设计与分析:回溯法-实验报告

应用数学学院信息安全专业班学号姓名 实验题目回溯算法 实验评分表

实验报告 一、实验目的与要求 1、理解回溯算法的基本思想; 2、掌握回溯算法求解问题的基本步骤; 3、了解回溯算法效率的分析方法。 二、实验内容 【实验内容】 最小重量机器设计问题:设某一个机器有n个部件组成,每个部件都可以m个不同供应商处购买,假设已知表示从j个供应商购买第i个部件的重量,表示从j个供应商购买第i个部件的价格,试用回溯法求出一个或多个总价格不超过c且重量最小的机器部件购买方案。 【回溯法解题步骤】 1、确定该问题的解向量及解空间树; 2、对解空间树进行深度优先搜索; 3、再根据约束条件(总价格不能超过c)和目标函数(机器重量最小)在搜索过程中剪去多余的分支。 4、达到叶结点时记录下当前最优解。 5、实验数据n,m, ] ][ [j i w,] ][ [j i c的值由自己假设。 三、算法思想和实现【实现代码】

【实验数据】 假设机器有3个部件,每个部件可由3个供应商提供(n=3,m=3)。总价不超过7(c<=7)。 部件重量表: 部件价格表: 【运行结果】

实验结果:选择供应商1的部件1、供应商1的部件2、供应商3的部件3,有最小重量机器的重量为4,总价钱为6。 四、问题与讨论 影响回溯法效率的因素有哪些? 答:影响回溯法效率的因素主要有以下这五点: 1、产生x[k]的时间; 2、满足显约束得x[k]值的个数; 3、计算约束函数constraint的时间; 4、计算上界函数bound的时间; 5、满足约束函数和上界函数约束的所有x[k]的个数。 五、总结 这次实验的内容都很有代表性,通过上机操作实践与对问题的思考,让我更深层地领悟到了回溯算法的思想。 回溯算法的基本思路并不难理解,简单来说就是:从一条路往前走,能进则进,不能进则退回来,换一条路再试。回溯法的基本做法是深度优先搜索,是一种组织得井井

回溯法实验报告

数学与计算机学院实验报告 一、实验项目信息 项目名称:回溯法 实验时间: 2016/06/08 实验学时: 03 学时 实验地点:工科楼503 二、实验目的及要求 理解回溯法的深度优先搜索策略、 掌握用回溯法解题的算法框架、 掌握回溯法的设计策略 三、实验环境 计算机Ubuntu Kylin14.04 CodeBlock软件四、实验内容及实验步骤 排兵布阵问题 某游戏中,不同的兵种处在不同的地形上其攻击能力不一样,现有n个不同兵种的角色{1,2,...,n},需安排在某战区n个点上,角色i在j点上的攻击力为A ij。试设计一个布阵方案,使总的攻击力最大。 数据: 防卫点 角 色 1 2 3 4 5 1 2 3 4 5 回溯法: 程序: #include int position[10]; int a[10][10]; int check(int k){//每个节点检查的函数 int i; for(i=0;i=0) { sum=0; position[k]=position[k]+1; while(position[k]<=n)

if(check(k))break; else position[k]=position[k]+1; if(position[k]<=n && k==n-1) { for(i=0;i

气浮法

气浮法 原理 直接气浮法原理 气浮法也称浮选法,其原理是设法使水中产生大量的微气泡,以形成水、气、及被去除物质的三相混合体,在界面张力、气泡上升浮力和静水压力差等多种力的共同作用下,促进微细气泡粘附在被去除的微小油滴上后,因粘合体密度小于水而上浮到水面,从而使水中油粒被分离去除。 编辑本段用途 气浮法通常作为对含油污水隔油后的补充处理。即为二级生物处理之前的预处理,隔油池出水一般含有50~150mg的乳化油,经过气浮处理,可将含油量降到30,再经过二级气浮处理,出水含有可达到10以下。主要目的:作为二级生物处理的预处理,保证生物处理进水水质的相对稳定,或是放在二级生物处理之后作为二级生物处理的深度处理,确保排放出水水质符合有关标准的要求。 除了用于去除污水中处于乳化状态的油以外,气浮法还广泛应用于除去污水中密度接近于水的微细悬浮颗粒状态的杂质。比如,气浮法可以有效地用于活性污泥的浓缩;污水中悬浮杂质的去除。 编辑本段特点 浮选技术广泛应用于石油化工含油污水的处理,特别是部分回流溶气气浮法,兼备全回流、全溶气气浮的工艺优点,而相比布气气浮法具有处理污水量大,处理效果高的特点;相比电解气浮法具有节省电能和运行费用较低的优点,适合现代企业节能、环保、减耗、增效的要求。

编辑本段分类 气浮法可以分为布气气浮法、电气浮法、生物及化学气浮法,溶气气浮法。 1. 布气气浮法(分散空气气浮法)。该法利用机械剪切刀,将混合于水中得空气粉碎成细小气泡。例如水泵吸水管吸气气浮,射流气浮,扩散板曝气气浮及叶轮气浮等,皆属此类。 2. 电气浮法(电解凝聚气浮法)。该法在水中设置正负电极,当通上直流电后,一个电极(阴极)上即产生初生态微小气泡,同时,还产生电解混凝等效应。 3. 生物及化学气浮法。该法利用生物的作用或在水中投加化学药剂絮凝后放出气体。 4. 溶气气浮法(溶解空气气浮法)。该法在一定压力下使空气溶解于水并达到饱和状态,而后达到气浮作用。根据气泡析出于水时所处的压力情况,溶气气浮法又分压力溶气气浮法和溶气真空气浮法两种。 气浮法处理工艺必须满足下列基本条件才能完成气浮处理过程,达到污染物质从水中去除的目的: 1.必须向水中提供足够量的微小气泡。 2.必须使废水中的污染物质能形成悬浮状态。 3.必须使气泡与悬浮物质产生粘附作用。

迭代法实验报告

迭代法实验报告 一. 实验目的:掌握迭代方法的用处 二. 实验环境:Cfree5.0 三. 实验时间:2013年6月20日 四. 实验地点:电子信息楼1201教室 五. 实验内容:运用编程实现迭代方法可以更好的解线性方程组,得到线性方程的解。 六. 实验理论依据: 高斯-赛德尔(Gauss-Seidel )迭代公式 我们注意到在雅可比迭代法中并没有对新算出的分量11k x +,12k x +, , 11k i x +-进行充分利用.不妨设想,在迭代收敛的条件下,我们把 (1)()()()11211331111(1)()()()22112332222(1)()()()1122,111()1(1(k k k k n n k k k k n n k k k k n n n n n n nn x a x a x a x b a x a x a x a x b a x a x a x a x b a +++--?=---+???=---+?????=---+?? 式中第一个方程算出的11k x +立即投入到第二个方程中,代替()1k x 进行计算,当12 k x +算出后代替()2k x 马上投入到第三个方程中计算,依次进行下去,这样也许会得到 更好的收敛效果.根据这种思路建立的一种新的迭代格式,我们称为高斯-赛德尔(Gauss-Seidel )迭代公式, 高斯=赛德尔迭代法的分量形式:

(1)()()()11211331111(1)(1)()()22112332222(1)(1)(1)(1)1122,111()1(1(k k k k n n k k k k n n k k k k n n n n n n nn x a x a x a x b a x a x a x a x b a x a x a x a x b a +++++++--?=---+???=---+?????=---+?? 高斯-赛德尔迭代法的矩阵形式: (1)(),(0,1,2,)k k x Bx f k +=+= 其中 1()B D L U -=- ,1()f D L b -=- B 称为高斯-赛德尔迭代矩阵,f 称为高斯-赛德尔迭代常量.. 七. 运行代码如下: #include"stdio.h" #include"math.h" int main() { bool pan1=true; int n,n1,n2=0,k=0; double num[100][100],L[100][100],U[100][100],x[100],y[100],num1=0,b[100],D[100][100],x1[200][200],x2[200][200]; printf("\n"); printf("*******************************高斯迭代法解如下********************************"); printf("输入要输入矩阵的阶数为(按Enter 输入矩阵数字):");//

第一章回溯法(习题二

1.5 走迷宫(maze.pas)* 【问题描述】 有一个m * n格的迷宫(表示有m行、n列),其中有可走的也有不可走的,如果用1表示可以走,0表示不可以走,文件读入这m * n个数据和起始点、结束点(起始点和结束点都是用两个数据来描述的,分别表示这个点的行号和列号)。现在要你编程找出所有可行的道路,要求所走的路中没有重复的点,走时只能是上下左右四个方向(搜索顺寻:左上右下)。如果一条路都不可行,则输出相应信息(用-1表示无路)。 【输入】 第一行是两个数据m,n(1”表示方向。 如果没有一条可行的路则输出-1。 【样例】 maze,in 5 6 1 0 0 1 0 1 1 1 1 1 1 1 0 0 1 1 1 0 1 1 1 1 1 0 1 1 1 0 1 1 1 1 5 6 Maze.out (1,1)->(2,1)->(2,2)->(2,3)->(2,4)->(2,5)->(3,5)->(3,4)->(3,3)->(4,3)->(4,4)->(4,5)->(5,5 )->(5,6) (1,1)->(2,1)->(2,2)->(2,3)->(2,4)->(2,5)->(3,5)->(3,4)->(4,4)->(4,5)->(5,5)->(5,6) (1,1)->(2,1)->(2,2)->(2,3)->(2,4)->(2,5)->(3,5)->(4,5)->(5,5)->(5,6) (1,1)->(2,1)->(2,2)->(2,3)->(2,4)->(3,4)->(3,3)->(4,3)->(4,4)->(4,5)->(5,5)->(5,6) (1,1)->(2,1)->(2,2)->(2,3)->(2,4)->(3,4)->(3,5)->(4,5)->(5,5)->(5,6) (1,1)->(2,1)->(2,2)->(2,3)->(2,4)->(3,4)->(4,4)->(4,5)->(5,5)->(5,6) (1,1)->(2,1)->(2,2)->(2,3)->(3,3)->(3,4)->(2,4)->(2,5)->(3,5)->(4,5)->(5,5)->(5,6) (1,1)->(2,1)->(2,2)->(2,3)->(3,3)->(3,4)->(3,5)->(4,5)->(5,5)->(5,6) (1,1)->(2,1)->(2,2)->(2,3)->(3,3)->(3,4)->(4,4)->(4,5)->(5,5)->(5,6) (1,1)->(2,1)->(2,2)->(2,3)->(3,3)->(4,3)->(4,4)->(3,4)->(2,4)->(2,5)->(3,5)->(4,5)->(5,5 )->(5,6) (1,1)->(2,1)->(2,2)->(2,3)->(3,3)->(4,3)->(4,4)->(3,4)->(3,5)->(4,5)->(5,5)->(5,6) (1,1)->(2,1)->(2,2)->(2,3)->(3,3)->(4,3)->(4,4)->(4,5)->(5,5)->(5,6) 1.6 单向双轨道(track.pas)***

最新《算法分析与设计》期末考试复习题纲(完整版)

《算法分析与设计》期末复习题 一、选择题 1.算法必须具备输入、输出和( D )等4个特性。 A.可行性和安全性 B.确定性和易读性 C.有穷性和安全性 D.有穷性和确定性 2.算法分析中,记号O表示( B ),记号Ω表示( A ) A.渐进下界 B.渐进上界 C.非紧上界 D.紧渐进界 3.假设某算法在输入规模为n时的计算时间为T(n)=3*2^n。在某台计算机上实现并 完成概算法的时间为t秒。现有另一台计算机,其运行速度为第一台的64倍,那么在这台新机器上用同一算法在t秒内能解输入规模为多大的问题?( B )解题方法:3*2^n*64=3*2^x A.n+8 B.n+6 C.n+7 D.n+5 4.设问题规模为N时,某递归算法的时间复杂度记为T(N),已知T(1)=1, T(N)=2T(N/2)+N/2,用O表示的时间复杂度为( C )。 A.O(logN) B.O(N) C.O(NlogN) D.O(N2logN) 5.直接或间接调用自身的算法称为( B )。 A.贪心算法 B.递归算法 C.迭代算法 D.回溯法 6.Fibonacci数列中,第4个和第11个数分别是( D )。 A.5,89 B.3,89 C.5,144 D.3,144 7.在有8个顶点的凸多边形的三角剖分中,恰有( B )。 A.6条弦和7个三角形 B.5条弦和6个三角形 C.6条弦和6个三角形 D.5条弦和5个三角形 8.一个问题可用动态规划算法或贪心算法求解的关键特征是问题的( B )。 A.重叠子问题 B.最优子结构性质 C.贪心选择性质 D.定义最优解 9.下列哪个问题不用贪心法求解( C )。 A.哈夫曼编码问题 B.单源最短路径问题 C.最大团问题 D.最小生成树问题 10.下列算法中通常以自底向上的方式求解最优解的是( B )。 A.备忘录法 B.动态规划法 C.贪心法 D.回溯法 11.下列算法中不能解决0/1背包问题的是( A )。 A.贪心法 B.动态规划 C.回溯法 D.分支限界法 12.下列哪个问题可以用贪心算法求解( D )。

气浮分离法

第六章气浮分离法 6.1 概述 泡沫吸附分离现象是日常生活个常见的现象,利用肥皂泡沫去除身体或衣物卜的污垢就是一个最好的例子。 什么是气浮分离法? 采用某种方式,向水样中通入大量微小气泡,使待分离物质(如离子、分子、胶体、固体颗粒、悬浮微粒),因其表面活性不同,可被吸附或粘附在从溶液中升起的泡沫表面上, 从而使某组分得以分离的方法,称气浮分离法或气泡分离法。也称浮选分离或泡沫浮选分离。 本身没有表面活性的物质,经加入表面活性剂后可变为有活性的物质,亦可用浮选法分离。 这是分离和富集痕量物质的一种有效方法。 问题:1. 特分离物质为什么会选择性地吸附在气泡上? 2. 如何最大限度达到富集效果? 下面介绍泡沫吸附分离技术的基本原理。 6.2 气浮分离法的分离机理 上面提到在气浮分离法中用到表面活性剂,那么我们首先介绍一下表面活性剂的性质,以及它在水中的表现行为。 一.表面活性剂的结构和在水界面上取向 表面活性剂的分子一般由两部分组成,一部分是亲水的、极性的,另一部分是疏水的、 非极性。如以硬脂酸为例,它具有亲水的极性头,如C OH O 部分,也具有疏水的非极性尾, 即 R—CH2—(CH2)n一部分。如下图所示: C OH O R CH2(CH2)n 可以用“”来表示表面活性剂的分子.其中“”表示极性头,““表示非极性尾。 在水—油体系中,表面活性剂分子将聚集在水—油界面上并定向地排列,其中的极性头向着水相.非极性尾向着油相。而在气—液界面上,一般是极性头向着水.非极性尾向着伸向气相。图6.1为表面活性剂在界面上取向的情况。 图6.1表面活性剂在界面上取向 (以下不讲, 如果温度、压力和组成一定,则液体的表面张力也一定。若向此体系加入少量物质而 引起此液体表面张力的明显下降,这种物质就称为表面活性剂。

牛顿迭代法实验报告

用牛顿迭代法求非线性方程的根 一、 实验题目 求方程()013=--=x x x f 在5.1附近的根。 二、 实验引言 (1)实验目的 1. 用牛顿迭代法求解方程的根 2. 了解迭代法的原理 3. 改进和修缮迭代法 (2)实验意义 牛顿迭代法就是众多解非线性方程迭代法中比较普遍的一种,求解方便实用。 三、 算法设计 (1)基本原理 给定初始值0x ,ε为根的容许误差,η为()x f 的容许误差,N 为迭代次数的容许值。 1.如果()0='x f 或迭带次数大于N ,则算法失败,结束;否则执行2. 2.计算()() 0001x f x f x x '-=. 3.若ε<-21x x 或()η<1x f ,则输出1x ,程序结束;否则执行4. 4.令10x x =,转向1. (2)流程图

四、程序设计program nndd01 implicit none real,parameter::e=0.005 real,parameter::n=9 real::x1 real::x0=1.5 integer::k real,external::f,y do k=1,9 if (y(x0)==0) then write(*,*)"失败" else x1=x0-f(x0)/y(x0) if (abs(x1-x0)

else x0=x1 end if end if end do end function f(x) implicit none real::f real::x f=x*x*x-x-1 return end function function y(x) implicit none real::y real::x y=3*x*x-1 return end function 五、求解结果 3 1.324718 4 1.324718 5 1.324718 6 1.324718 7 1.324718 8 1.324718 9 1.324718 六、算法评价及讨论 1.在求解在1.5处附近的根,不难发现在输入区间左端值为1时 需要迭代6次,而输入区间左端值为1.5时,却只要4次。初

回溯法实验(n皇后问题)(迭代法)

算法分析与设计实验报告第三次附加实验

附录: 完整代码(回溯法) //回溯算法递归回溯n皇后问题#include #include #include #include"math.h" using namespace std; class Queen

{ friend int nQueen(int); //定义友元函数,可以访问私有数据 private: bool Place(int k); //判断该位置是否可用的函数 void Backtrack(int t); //定义回溯函数 int n; //皇后个数 int *x; //当前解 long sum; //当前已找到的可行方案数 }; int main() { int m,n; for(int i=1;i<=1;i++) { cout<<"请输入皇后的个数:"; //输入皇后个数 cin>>n; cout<<"皇后问题的解为:"<

算法分析复习题目及答案

内部资料,转载请注明出处,谢谢合作。 一。选择题 1、二分搜索算法是利用( A )实现的算法。 A、分治策略 B、动态规划法 C、贪心法 D、回溯法 2、下列不是动态规划算法基本步骤的是( A )。 A、找出最优解的性质 B、构造最优解 C、算出最优解 D、定义最优解 3、最大效益优先是( A )的一搜索方式。 A、分支界限法 B、动态规划法 C、贪心法 D、回溯法 4、在下列算法中有时找不到问题解的是( B )。 A、蒙特卡罗算法 B、拉斯维加斯算法 C、舍伍德算法 D、数值概率算法 5. 回溯法解旅行售货员问题时的解空间树是( A )。 A、子集树 B、排列树 C、深度优先生成树 D、广度优先生成树6.下列算法中通常以自底向上的方式求解最优解的是( B )。 A、备忘录法 B、动态规划法 C、贪心法 D、回溯法 7、衡量一个算法好坏的标准是(C )。 A 运行速度快 B 占用空间少 C 时间复杂度低 D 代码短 8、以下不可以使用分治法求解的是(D )。 A 棋盘覆盖问题 B 选择问题 C 归并排序 D 0/1背包问题 9. 实现循环赛日程表利用的算法是( A )。 A、分治策略 B、动态规划法 C、贪心法 D、回溯法 10、下列随机算法中运行时有时候成功有时候失败的是(C ) A 数值概率算法 B 舍伍德算法 C 拉斯维加斯算法 D 蒙特卡罗算法 11.下面不是分支界限法搜索方式的是( D )。 A、广度优先 B、最小耗费优先 C、最大效益优先 D、深度优先12.下列算法中通常以深度优先方式系统搜索问题解的是( D )。 A、备忘录法 B、动态规划法 C、贪心法 D、回溯法 13.备忘录方法是那种算法的变形。( B ) A、分治法 B、动态规划法 C、贪心法 D、回溯法14.哈弗曼编码的贪心算法所需的计算时间为( B )。

大学计算机基础第五章

大学计算机基础第五章 第五章软件技术基础 1.程序设计语言 (1)机器语言和汇编语言 由计算机硬件系统可以识别的指令组成的语言称为机器语言。汇编语言是将机器指令映射为一些可以被人读懂的助记符。由于计算机只能识别机器语言,所以汇编语言通常需要通过汇编程序翻译为机器语言。汇编语言的翻译软件称为汇编程序,它可以将程序员写的助记符直接转换为机器指令,然后由计算机去识别和执行。用机器语言编写的程序是计算机可以直接执行的程序。 用机器语言编写的程序,代码长度短,执行效率高。但是,这种语言的缺点也很明显。最主要的是编写机器语言程序必须要熟知CPU 的指令代码,编写程序既不方便,又容易出错,调试查错也非常困难。而且编写的程序只能在特定的机器上运行,没有通用性。 (2)高级语言 高级语言源程序翻译为指令代码有两种做法:编译或者解释。编译通过编译程序来完成。解释则是通过解释程序完成。解释的结果产生可以直接执行的指令。编译的结果是得到目标程序。目标程序也是要经过连接才会得到可执行程序目前应用比较广泛的几种高级语言由FORTRAN/BASIC/PASCAL/C等。 (3)面向对象的语言 (4)未来的语言 2、语言处理程序语言处理程序是把源程序翻译成机器语言的程序,可分为三种:汇编程序、编译程序和解释程序。 (1)汇编程序把汇编语言源程序翻译成机器语言程序的程序称为汇编程序,翻译的过程称为汇编。汇编程序在翻译源程序时,总是对源程序从头到尾一个符号一个符号地进行阅读分析,一般用两遍扫描完成对源程序的加工转换工作。汇编语言在翻译的同时,还对各种形式的错误进行检查和分析,并反馈给用户,以便修改。反汇编程序也是一种语言处理程序,它的功能与汇编程序相反,它能把机器语言程序转换成汇编语言程序。 (2)编译程序编译程序是把高级语言源程序(如Fortran、Pascal、C 等)翻译

实验报告:回溯法求解N皇后问题(Java实现)

实验报告 一、实验名称:回溯法求解N皇后问题(Java实现) 二、学习知识: 回溯法:也称为试探法,它并不考虑问题规模的大小,而是从问题的最明显的最小规模开始逐步求解出可能的答案,并以此慢慢地扩大问题规模,迭代地逼近最终问题的解。这种迭代类似于穷举并且是试探性的,因为当目前的可能答案被测试出不可能可以获得最终解时,则撤销当前的这一步求解过程,回溯到上一步寻找其他求解路径。 为了能够撤销当前的求解过程,必须保存上一步以来的求解路径,这一点相当重要。 三、问题描述 N皇后问题:在一个 N * N 的国际象棋棋盘中,怎样放置 N 个皇后才能使 N 个皇后之间不会互相有威胁而共同存在于棋局中,即在 N * N 个格子的棋盘中没有任何两个皇后是在同一行、同一列、同一斜线上。 深度优先遍历的典型案例。 四、求解思路 1、求解思路:最容易想到的方法就是有序地从第 1 列的第 1 行开始,尝试放上一个皇后,然后再尝试第 2 列的第几行能够放上一个皇后,如果第 2 列也放置成功,那么就继续放置第 3 列,如果此时第 3 列没有一行可以放置一个皇后,说明目前为止的尝试是无效的(即不可能得到最终解),那么此时就应该回溯到上一步(即第 2 步),将上一步(第 2 步)所放置的皇后的位置再重新取走放在另一个符合要求的地方…如此尝试性地遍历加上回溯,就可以慢慢地逼近最终解了。 2、需要解决的问题:如何表示一个 N * N 方格棋盘能够更有效?怎样测试当前所走的试探路径是否符合要求?这两个问题都需要考虑到使用怎样的数据结构,使用恰当的数据结构有利于简化编程求解问题的难度。 3、我们使用以下的数据结构: int column[col] = row 表示第 col 列的第 row 行放置一个皇后 boolean rowExists[i] = true 表示第 i 行有皇后 boolean a[i] = true 表示右高左低的第 i 条斜线有皇后(按→↓顺序从1~ 2*N -1 依次编号) boolean b[i] = true 表示左高右低的第 i 条斜线有皇后(按→↑顺序从1~ 2*N -1 依次编号) 五、算法实现 对应这个数据结构的算法实现如下:

相关主题
文本预览
相关文档 最新文档