数学基础和数据结构.pptxVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
数学基础和数据结构.pptx

09计算机 于馨培数学基础和数据结构学习目标掌握素数表的构造掌握素因子分解的方法掌握三角形有向面积的意义和计算方法掌握栈、队列、二叉树及其应用方法了解DFS、BFS、拓扑排序数学基础1/1 1/2 1/3 1/4 1/5 …2/1 2/2 2/3 2/4 …3/1 3/2 3/3 …4/1 4/2 …5/1 ……1/1 1/2 1/3 1/4 1/5 …2/1 2/2 2/3 2/4 …3/1 3/2 3/3 …4/1 4/2 …5/1 ……Cantor数表输入n,输出第n项奇数行从下到上、偶数行从上到下由于对称,只需要在k%2==0时交换分子分母Floor函数返回浮点数的整数部分(p18)正确性验证可以枚举[a,a+1]三部分因子和阶乘输入n返回n!的素数分解将某个数标准分解是ACM数论题中最常用的一类算法。本题中由于n=100,因此素因子不会超过100,因此素数表小可以暴力,实战中需要筛法来生成素数表筛法复杂度算法步骤: 初始时容器内为2到n的所有数 取出最小的数p,p一定是质数,删去p的所有倍数(注: 只需从p2开始删除即可) (?)重复上述步骤直到容器为空用bool数组实现即可 小优化:初始时只加入奇数 小于n的质数大约有n/ln(n)个,以此确定筛法的数组大小果园里的树叉积叉积的绝对值可以表示以a、b为边的平行四边形的面积矩阵形式i、j、k为单位向量,行列式计算时为1判断点在三角形内:|Sabc|=|Spab|+|Spbc|+|Spca|(书上小错误,应带绝对值)pab为正,pbc顺时针所以为负,pca为正,所以应带绝对值浮点数判相等fabs(a-b)eps可以认为在[b-eps,b+eps]区间内都相等浮点数大于等于ab-eps浮点数小于等于ab+eps原因:浮点数不能表示所有的数!(float范围为10-38~1038,却与int一样是4字节)数据结构1、队列桌上有一叠牌,从第一张牌开始从上往下依次编号1~n。当至少还剩两张牌时进行以下操作:把第一张牌扔掉,然后把新的一张放到整叠牌最后。输入n,输出每次扔掉的牌,以及最后剩下的牌样例输入:7样例输出:1 3 5 7 4 2 6出队a1 a2 a3…………………….an 入队frontrear队列Q=(a1,a2,……,an)队列是一种先进先出的线性表(FIFO),所有的插入操作都在队列尾进行,所有的删除操作都在队列头进行。队头front队尾rear543210在本题中:While(frontrear){ printf(“%d ”,queue[front++]); //输出并使删除队头 queue[rear++]=queue[front++]; //将队头元素放到队尾}J3J2J1J1,J1,J3入队空队列条件:front==rear入队列:queue[rear++]=x;出队列:x=queue[front++];队列基本操作 存在问题设数组大小为M,则:当front=0,rear=M时,再有元素入队发生溢出——真溢出当front?0,rear=M时,再有元素入队发生溢出——假溢出解决方案循环队列基本思想:把队列设想成环形,让queue[0]接在queue[M-1]之后,若rear+1==M,则令rear=0;5front4rear32J61J50J4J3J8J7J3,J4,J5,J6,J7,J8出队入队: sq[rear]=x; rear=(rear+1)%M;出队: x=sq[front]; front=(front+1)%M; front==rear时是队空还是队满?rearM-1……01front…………J1J2J3frontrearJ7J6队列为空的标志:front= =rear队列为满的标志: (rear+1) % MAXSIZE= =frontC++ STL中的队列:需要includequeuequeueT s;是循环队列且自动分配内存,不需要事先指定队列大小s.pop(),s.push(),s.front(),s.empty2、栈:有n节列车从右方驶入,编号为1~n,你的任务是让它们按照某种特定的顺序进入 左方的铁轨。可以利用下方的中转站。驶入中转站的车需按照相反顺序离开。一旦从右方到中转站就不能回一旦进入左方铁轨就不能回中转站。54321top0压栈:stack[top++]=x;出栈:x=stack[top--];栈是一种特殊的线性表,它只能在表的一端(即栈顶)进行插入和删除运算。top为栈顶指针。由于火车的调度过程符合“后进先出”的特点,所以本题的模型是一个栈.可以通过简单模拟来判断火车能否到达目标状态.目标序列 5 4 3 2 1 4 5 A站车厢B = 1 A =

文档评论(0)

czy2014 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档