求一个数据结构期末考试试题大佬,我过几天考试,能帮我代做一下,有报酬

17周礼拜二下午,数据结构考试求大佬,价格好说【上海建桥学院吧】_百度贴吧
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&签到排名:今日本吧第个签到,本吧因你更精彩,明天继续来努力!
本吧签到人数:0成为超级会员,使用一键签到本月漏签0次!成为超级会员,赠送8张补签卡连续签到:天&&累计签到:天超级会员单次开通12个月以上,赠送连续签到卡3张
关注:72,267贴子:
17周礼拜二下午,数据结构考试求大佬,价格好说收藏
17周礼拜二下午,数据结构考试求大佬,价格好说
报考上海师范大学夜大学,只要参加考试,成人高考辅导学费全免.提供辅导,考试,录取,毕业一站式服务.报考层次:专升本,高起本,高起专.本科毕业可申请学士学位
场外助攻可以找我代考就算了
私聊我,我会做
关注我或者你qq 是多少
我可以教你。
登录百度帐号Sina Visitor System以前我不是很喜欢写这种博客,一方面觉得费时间,一方面担心被大佬批评。后来发现这种写东西整理的方法确实对提高工作效率很有用,并且也没有被大佬痛批。所以今天再开一篇,讲讲中的。今年暑假我就想做这个题目了,但是一直没时间,实习呀回国呀开会呀报告呀,总是像赶火车一样,头痛医头脚痛医脚,现在正好大雪封校,又是周五晚上,我今晚就要把这个问题搞清楚。事先声明,我写的一切文章,动笔的时候都是还没搞清楚的。我是通过写文章的方式整理思路,所以看到不对劲的地方可以告诉我。我随时改。我写的时候也会不断完善。那么言归正传,这篇文章要说什么呢?这篇文章希望从,也就是矩阵,数列的角度,详细分析一下,OpenFOAM是如何对一个case进行运算的。我将从一个最简单的例子开始(1*2*3的网格),number by number的演示openF的运算方式。我将举两个例子,一个是不带turbulence model的Foam例子,一个是带turbulence model的pisoFoam例子。这篇文章先讲icoFoam,以后有空了再讲pisoFoam。这篇文章将:先讲讲icoFoam的数学公式;然后讲讲代码结构;最后结合一个例子讲讲其中数据的流动过程。在讨论code之前,必须先了解其数学形式,才好一一对应。关于icoFoam的数学形式我主要参考李东岳的这篇文章:icoFoam基本上icoFoam是一个特别简单的NS方程,没有湍流项,所以也就算不了湍流模型。一切的开始是动量方程:我们假设忽略压力梯度项(在后文中即对应动量预测步骤):因为OpenFOAM是FVM(有限体积法),所以你需要对每一项进行体积积分来离散化,最后这个方程就会变成这样:Vp表示网格单元体积,Ff为通量,SS表示网格单元的各个面的面矢量,ν为动力粘度,d表示网格单元体心之间的距离。上标n表示为当前的时间步(已知),上标r表示预测时间步(待求)。下标N表示相邻网格单元的速度,下标P表示当前网格单元的速度。现在再把之前忽略的压力梯度项加回来:这里的p就是p/rho,单位是(这也是OpenFoam一个操蛋的特点,OpenFoam里p文件定义的压力默认就是p/rho。但是也不一定所有solver都是,有的solver里p就是p,所以最好用的时候检查一下量纲,否则怎么错的都不知道。)可以看出来,这是一个线性方程,在某个时间n上,除了U^r不知道,其他变量都是知道的。那么这就是一个ax=b的问题,列一个矩阵就可以把这些U^r都算出来。第二步是压力泊松方程:现在我们有下一时刻的速度U^r了,我们还需要什么?想一想我们还缺什么?就光有下一时刻的速度U就能完成循环了吗?还缺什么?对,我们还缺下一时刻的压力。所以循环还不能完成。同时,我们也应当注意到,这样算出来的下一时刻的速度U^r应当是不准确的,因为只用到了动量方程,没有用到连续性方程,那么新预测出来的U^r就不会满足连续性方程,这肯定不行,所以我们要对U^r进行修正,使其满足连续性方程。所以,piso循环的任务,就是通过循环不断修正U^r和p^r,并加入动量方程和连续性方程两大,最终得到满足物理constraint的U^r和p^r,带入下一个timestep进行计算。那么piso循环内是如何更新速度和压力的呢?将动量方程带进连续性方程,我们可以得到一个浓缩的2合1方程式,即压力泊松方程(推导过程略):其中HbyA是一个在openfoam中会经常出现的变量,所以我列出公式:上标n代表第几个piso循环(每个timestep里有好几个piso循环,通过这样的循环得到正确的p,然后再进入下一个timestep)。这个变量是基于省略了压力项的动量方程算出来的速度预测值,用于更新变量。可以看出,每个piso循环的最终结果,都应该满足这个2合1方程式,这样得到的预测结果物理上就说得通了,因为两个都满足了嘛。步骤:1. 首先是获取第一个压力预测这个值通过将第一步算出来的U^r带入压力泊松方程而求得:泊松方程是一个数学上的常见形式,高中时候物理课上就学过这种公式,算电场用的。这种方程的特点就是方程的一边必须是已知数。这里因为U^r已知,所以也就已知了。这个方程就变成了一个经典的泊松方程。就可以解出来了。2. 然后是根据第一个压力预测修正速度将动量方程改一下,带入第一个压力预测可以看出,新的速度预测是这个方程中的唯一未知量,那当然可以由这个式子求出来。OpenFoam里一般会化简一下,由HbyA表示:3. 循环重复直到收敛重复1和2的动作,直到新得到的速度严格满足动量方程。需要特别注意的是第二次带入时就要根据新预测的速度来重新计算了。也就是用每次预测出来的速度替换U^r。李东岳有另一种概括方法:应该是一个意思。【观察代码】以上内容都是数学公式,下一步是观察代码,看看OpenFOAM是怎么弄的:这张图里凝聚了我对icoFoam代码的理解,希望这张图片能够以清晰的方式上传。大家最好点大图观看。到目前为止我大致了解了OpenFOAM里PISO的意思,但是还有几个小疑问:看上去PISO loop里并没有改变这个变量,而HbyA这个变量又是由UEqn得到的,这么说每个PISO loop用的都是同样的HbyA变量咯?那为什么不把HbyA放到PISO循环外面减少计算量?HbyA应该是不变的吗?PISOloop不是只有一个循环吗?为什么代码里有两个循环?看上去并没有图中验证“收敛”的步骤,而是通过固定的常数nCorr和nNonOrthCorr求出来的。这行吗?似乎solve(UEqn == -::grad(p));之后速度变量U就直接undate了?C++中可以又这样的操作吗?U又不是UEqn的子变量,这行代码也没有赋值给U,怎么就update了?还有其他类似情况吗?【数据流动】我们现在跑一个1*2*3网格的case。就跑自带的cavity case。cp -r $FOAM_TUTORIALS/incompressible/icoFoam/cavity ~/Desktop/ 把blockMeshDict改成1*2*3的:blocks ( hex (0 1 2 3 4 5 6 7) (2 3 1) simpleGrading (1 1 1) ); 先跑一跑,看看网格形状:blockMesh icoFoam paraFoam 可以看出,一共6个cell,顺序从左往右,从下到上。我只看两个timestep,从0到第一个timestep,和从第一个到第二个timestep。1. 从0到第一个timestep while (runTime.loop) { Info&& "Time = " && runTime.timeName && nl && #include "readPISOControls.H" #include "CourantNo.H"
UEqn ( fvm::ddt(U) + fvm::div(phi, U) - fvm::laplacian(nu, U) ); solve(UEqn == -fvc::grad(p)); 可以看出这段代码的目的就是把动量方程放进去,solve命令算出第一个预测速度U^r。我的第一个疑问是就如刚才提出的问题4:似乎solve(UEqn == -fvc::grad(p));之后速度变量U就直接update了?C++中可以有这样的操作吗?U又不是UEqn的子变量,这行代码也没有赋值给U,怎么就update了?还有其他类似情况吗?验证了一下,在solve语句的前后都输出了一次U,结果两次果然不同,这说明确实solve语句更新了速度变量U。这是一个很大的问题,说明solve这个语句可以修改这条语句外的变量而不用特意声明,意味着我光看一个solve语句并不能知道他改变了哪些外面的变量,这太危险了,怎么会有这么危险的表达方式,万一solve里面出了个bug,把所有变量都改了,那不是乱了套了。冷静了一下,我猜测这里可能用到了指针(pointer)或者引用(reference)中的某一个,从而导致了任何对U的修改都直接作用于其本身,而不用创建临时变量,从而提高代码效率。问了些大佬,都说:“这种操作在C里很正常,C中一般都是在一个函数中传入一个量进行修改。反而直接返回,对于不了解内存管理的人比较危险”。唉,都怪我过去贪玩,不爱用C,就爱和这种傻瓜代码,现在遇到C就傻了。这里复制一个引用在函数参数传递中的例子:例三:classMyClass{public:inta;voidmethod;};voidfun1(MyClassmc){mc.a=40;mc.method;}voidfun2(MyClass*mc){mc-&a=60;mc-&method;}voidfun3(MyClass&mc){mc.a=80;mc.method;}MyClassmyclass;voidfun1(MyClass);voidfun2(MyClass*);voidfun3(MyClass&);fun1(myclass);//执行完函数调用后,myclass.a=20不变。 fun2(&myclass);//执行完函数调用后,myclass.a=60,改变了。fun3(myclass);//执行完函数调用后,myclass.a=80,改变了。//注意fun1和fun3的实参,证明了:使用对象和使用对象的引用,在语法格式上是一样的 F.C中没看到&和*的符号,所以我估计应该是用fun3那种方法传递参数的吧。现在的问题是:是UEqn中引用的U,还是solve中引用的U?如何引用的?我需要看到代码,才能确定OpenFOAM确实是使用了引用/指针的方式update的U值。参考介红恩博主和苏军伟博主的两篇博客:OpenFOAM常用类的一些总结_Jay_见贤思齐_新浪博客OpenFOAM中的神奇方程定义方式的背后_苏军伟_新浪博客fvMatrix中包含两组数据,一组是A,一组是一部分b,比如明显fvm::ddt(U)会产生一部分需要放到右边的系数,那就是b的组成部分。所以我在图上用[1/2]和[2/2]表示fvMatrix由两部分组成,一部分构成了A,一部分构成了b。看上去这个逻辑很简单,由UEqn得到A和部分b,再由::grad(p)得到剩下的b,最后solve把两个b相加得到完整的b,再执行一下求得x就行了。感觉没有能引用U的地方啊?UEqn里只储存了A和b,尚未对U进行计算,就不可能对其赋值;solve函数会对U赋值,但solve函数的输入变量里又没有U。想了一会儿,这个逻辑里肯定有问题,应该是“UEqn里只储存了A和b”这句话有错,UEqn里应该不止储存了A和b,还储存了U的地址。solve函数应该执行了这样一个操作(我猜的):solve(fvVectorMatrix& M) { A = M.A; b = M.b; M.U = b/A; //将算出来的x值赋给中的引用变量U,也就等于赋给U了 } 而fvVectorMatrix的结构应该是这样的:class fvVectorMatrix: { matrix A; volVectorField& U; //UEqun所在的类中有这么一个引用变量U } 去代码里找找看是不是这样:~/src/finiteVolume/fvMatrices/fvMatrix/fvMatrix.Htemplate&classTypeclassfvMatrix:publicrefCountpubliclduMatrix{// Private data//- Const reference to GeometricField&Type, fvPatchField, volMesh&// Converted into a non-const reference at the point of solution.constGeometricField&TypefvPatchFieldvolMesh&&psi_;在fvMatrix.H的定义中可以看到,他的子变量中确实有一个引用变量,我认为这就是引用U的地方;solve就麻烦点了,里好多solve函数,太绕了,我能力有限,实在是找不到了,希望看到这篇文章的大佬能帮我看一下,这玩意的到底在哪里,里面是不是这样操作的。那么现在我们就假设solve里面就是这样操作的吧。一点资讯正在帮你跳转到原文麦洛科菲!--专注IT安全技术
资料与资源
深入讲解+现场练习指导
一等奖学金发放
1000元+1000股
内核技术公开课
某理工大学
试听与测试
测试摸清基础,因材施教
wowocock&linxer等大牛老师
企业内核安全推广
为工商银行、联想等企业做内核安全培训
此为我们主打核心安全课程,,
包含内核安全、Android安全、WEB安全、漏洞分析挖掘,逆向工程等热门方向。
八个月课程,每年3月和9月正式开课。适合那些零基础而对IT有兴趣又想投身于IT与安全领域发展的有志青年。
与腾讯课堂相结合。前4个月基础课学习完成并通过考试后,可升级到高级班上课。
英语是计算机的母语,也是程序的母语。阅读计算机原版书籍, MSDN文档, 网络资料, 代码变量与函数命名, 甚至外企面试都需要一定的英语水平。 该课程旨在提高大家计算机英语能力。
随着人工智能和深度学习的飞速发展, 计算机与数学理论结合得越来越紧密。要牢固掌握某些AI的理论,必须具备扎实的数学功底。而这是很多程序员所不具备的。 因此,麦洛科菲决定适时推出与AI和深度学习紧密相关的计算机数学。
在线教育将彻底改变人类接受知识的形式,打破高等教育对人类获取知识的垄断地位。 目前,已经有来自美国,加拿大,新加坡,澳大利亚,中国台湾,日本等国家或地区的同学通过远程网络直播顺利参加了我们的课程,效果良好。
提供高品质的免费或高性价比的基础课学习视频,包括C语言,汇编,数据结构,ARM,Android,LINUX, 计算机数学和英语等,学习时间灵活,直接在腾讯课堂购买和学习即可。
六大特色与核心竞争力
与众多鱼目混杂的机构相比,您在这面对的老师都是行业内顶尖高手:
1.全部BAT一线工作经验
2.PCHUNTER等世界知名安全自由软件作者
3.《天书夜读》《寒江独钓》《加密与解密》等安全畅销书作者
4.世界知名安全大会BLACK HAT演讲者5.知名安全公司核心安全委员会成员6.世界首款BOOTKIT木马发现者
7.中科院等知名高校硕士以上学历毕业。
仅此一点,足以一览众山小。
我们是唯一覆盖了Windows安全,
Linux安全,Android安全,WEB安全,漏洞分析与挖掘,
逆向工程,计算机英语和数学以及最基础的算法编程的机构。。完全可以和任何正规重点高校课程媲美。大家亲切称我们为“麦大”。
一次不会,多次免费重修,缺课不超过4次可以提供当天视频,超过4次也可以下期免费重修,毕业后也可以随时咨询工作上和项目上的疑难问题,为您的学习负责到底。
入学考试摸清大家的学习基础,因材施教。考试不合格者不予录取。同时长达3周的试听时间,试听满意才交费,试听期间不满意全额退费。
试听结束也可以随时退费。对于课程质量,我们100个自信,大家100个放心。
众多学员已经等一流互联网安全企业或部门。
除此之外,我们还,
从众多的培训机构中脱颖而出,。
更引以为豪的是:我们还多次。
IT安全行业前景分析
IT安全工程师月薪20K-50K是常见区间,优秀者更是上不封顶,百万千万都是有案例的。根据大佬们目测,中国的安全人才缺口大概在100万左右,
而现在每年培养的人数,尚不足1.5万人。所以一旦有合格的安全苗子,立即会被大公司哄抢。
腾讯甚至会给有潜力的安全人员安排一个“特殊通道”,提前进入鹅厂实习,并且还会给很多出国学习和交流的机会。
部分毕设展示
麦洛科菲采用“算法+内核+安全”三位一体的独创教学方法,涵盖Windows,Linux和Android三大平台核心安全问题。上图是部分麦洛科菲学员的毕业设计截图。通过毕设锻炼了能力,积累了经验,把所学融会贯通。"助年轻人成功"是麦洛科菲的核心价值。
目前,来麦洛科菲学习的朋友已经广泛就业于百度,阿里巴巴,腾讯,360等知名企业从事安全相关工作。
学员名企录取--逆袭,高薪
(此书被包括,,
等图书馆收藏)
扫描微信公众号关注
网站文档与资源
关于麦洛科菲
企业招聘与猎头合作
如果您是正规企业,请将您的招聘JD(包含对职位的技术要求,薪水范围,工作地点,公司名称以及邮件地址 )
发送到:hr(#)mallocfree.com,我们会免费为您推荐我们的优秀学员。 上传我的文档
 下载
 收藏
该文档贡献者很忙,什么也没留下。
 下载此文档
大学数据结构期末考试试题(有答案)
下载积分:2000
内容提示:大学数据结构期末考试试题(有答案)
文档格式:DOC|
浏览次数:6437|
上传日期: 09:06:42|
文档星级:
全文阅读已结束,如果下载本文需要使用
 2000 积分
下载此文档
该用户还上传了这些文档
大学数据结构期末考试试题(有答案)
关注微信公众号

我要回帖

更多关于 数据结构考试 的文章

 

随机推荐