还剩29页未读,继续阅读
本资源只提供10页预览,全部文档请下载后查看!喜欢就下载吧,查找使用更方便
文本内容:
集合、常用逻辑用语、算法初步及框图本节课将介绍集合的概念和基本操作,以及常用的逻辑用语,并通过实例了解算法的基本概念和框图绘制方法通过学习,您将对集合、逻辑和算法有一个初步的认识,并能用框图描述简单算法集合概念定义元素集合是具有某种共同性质的集合中的每个事物称为元素事物的总体,可以用大括号,元素之间没有顺序表示符号类型属于用∈表示,不属于用根据元素的个数,集合可以∉表示,例如∈表是有限集或无限集a A示元素属于集合a A集合的表示集合可以用多种方法表示,常见的有列举法、描述法和图示法列举法适用于元素数量有限的集合,将集合中的所有元素列出来,并用大括号括起来例如,集合表示包含元素的集合A={1,2,3}1,2,3描述法通过描述集合的元素特征来表示集合,适用于元素数量无限或难以列举的集合例如,集合是正整数表示所有正整数组B={x|x}成的集合图示法用图形来表示集合,可以直观地展现集合之间的关系,常用于集合的并集、交集、差集等运算集合的基本运算并集并集包含两个集合的所有元素,用符号“∪”表示交集交集包含两个集合中共同存在的元素,用符号“∩”表示差集差集包含第一个集合中但不在第二个集合中的元素,用符号“\”表示补集补集包含全集(所有元素)中不在该集合中的元素,用符号“∁”表示集合的性质相等性子集当且仅当两个集合包含完全相同的元素时如果一个集合的所有元素都是另一个集合,它们相等的元素,则前者是后者的子集并集交集两个集合的并集包含两个集合中的所有元两个集合的交集包含两个集合中共同的元素素常见逻辑用语命题逻辑联结词命题是指一个可以判断真假的陈述句命题可以是简单的逻辑联结词用于连接命题,形成复合命题常用的逻辑联,也可以是复杂的结词有与、或、非例如,北京是中国的首都是一个真命题,而地球是方例如,北京是中国的首都,而且上海是中国的经济中••的是一个假命题心,这是一个由与连接的复合命题与或非的含义和真值表与、或、非是逻辑运算的基本运算符,用于连接命题,判断命题的真假真值表是展示逻辑运算符运算结果的表格,它列出了所有可能的输入组合以及对应输出结果复合命题的真值判断判断真值1对复合命题进行分析确定真值2根据命题的逻辑关系真值表3根据真值表进行判断复合命题的真值判断是逻辑推理的重要步骤,需要根据命题之间的逻辑关系,判断复合命题的真假常用的方法包括真值表法、逻辑推理法等真值表法可以将复合命题的真值判断简化,通过分析各子命题的真值,就可以确定整个复合命题的真值算法的基本概念定义输入算法是解决特定问题的一系算法需要输入数据或信息来列步骤或指令执行输出有限性算法会产生一个或多个输出算法必须在有限的步骤内完,通常是问题的解决方案成算法的基本特性确定性有穷性可行性输入和输出算法的每一步都应该有明确任何算法都应该在有限步内算法的每一步都能在有限时算法需要有明确的输入数据的定义和步骤,不存在任何完成,并给出最终的结果间内完成,且能够被计算机,并在经过一系列步骤后产模糊性执行生相应的输出结果算法设计的基本原则清晰性效率性健壮性可读性算法步骤清晰易懂,便于理算法应尽可能高效地完成任算法应能处理各种输入,包算法代码应简洁易懂,方便解和实现务,减少时间和空间消耗括异常情况,保证正确性和维护和修改稳定性顺序结构定义1顺序结构是算法中最基本的一种结构,它按照语句出现的先后顺序依次执行特点2顺序结构简单直观,执行过程易于理解它没有判断或循环,语句按顺序执行应用3顺序结构常用于完成一系列简单的操作,例如数据输入、数据输出、简单计算等分支结构判断条件1判断是否满足条件条件分支2根据条件执行不同代码执行路径3选择符合条件的代码执行分支结构是算法设计中重要的组成部分,用于根据不同的条件执行不同的代码段程序流程根据条件判断的结果选择不同的执行路径,从而实现不同的功能循环结构循环结构1重复执行特定语句条件循环2当条件成立时,执行循环体计数循环3指定循环次数,执行循环体循环嵌套4循环内部包含其他循环循环结构是算法设计的重要组成部分,它允许程序重复执行某些操作,直到满足特定条件常用的循环结构类型包括条件循环和计数循环,它们可以根据不同的条件或次数进行循环执行子算法模块化设计代码重用
1.
2.12子算法将复杂问题分解为更小的、子算法可以重复使用,从而避免重易于管理的任务这类似于将大型复编写相同的代码,简化程序开发程序分解成更小的模块,以便更容过程易理解、调试和维护提高可读性提高可维护性
3.
4.34使用子算法可以使代码更清晰易懂当需要修改程序时,只需要修改相,因为每个子算法都专注于一个特关子算法,而不会影响其他部分的定的功能,代码逻辑更易于理解代码递归算法函数自身调用基线情况递归算法是一种函数调用自递归算法需要定义一个基线身的算法,通过将问题分解情况,以便在满足特定条件成更小的子问题来解决时停止递归调用递归步骤递归算法通常包含一个递归步骤,该步骤会将问题分解成更小的子问题,并调用自身来解决子问题算法的时间复杂度算法的时间复杂度是指算法执行所需要的计算时间,它是对算法运行时间的一个度量时间复杂度通常用大O符号表示,例如On表示算法的时间复杂度与输入规模n成线性关系1nO1On常数时间复杂度线性时间复杂度n^2log nOn^2Olog n平方时间复杂度对数时间复杂度算法效率分析时间复杂度算法运行时间随问题规模变化的趋势空间复杂度算法运行所需内存空间随问题规模变化的趋势效率分析分析算法的运行时间和空间复杂度,评估算法的效率算法框图的基本元素形状每个符号都有特定的形状,便于识别其功能比如,圆角矩形表示开始或结束,菱形表示判断,矩形表示处理基本元素算法框图由一些标准符号组成,每个符号代表不同的算法操作,例如开始、结束、输入、输出、处理、判断、循环算法框图的基本表示法基本符号1代表算法的流程连接线2连接各个符号流程方向3通常从上往下算法框图使用标准符号来表示算法步骤符号之间通过连接线连接,箭头表示流程方向,通常是从上往下这种直观简洁的表示方法方便理解算法的逻辑和执行顺序顺序框图的绘制起始框用椭圆形表示,它标志着算法的开始,并包含“开始”字样处理框用矩形表示,它表示算法中的一步操作,例如赋值、运算等框内写明操作内容输入输出框用平行四边形表示,它表示输入或输出数据,框内写明输入或输出的数据内容结束框用椭圆形表示,它标志着算法的结束,并包含“结束”字样流程线用箭头表示,它指示算法执行的顺序,箭头指向下一个执行步骤分支框图的绘制判断框1用于表示算法中的判断条件,通常用菱形表示分支线2从判断框引出的线,表示根据判断结果选择不同的执行路径连接点3用于连接不同分支的流程线,通常用圆圈表示循环框图的绘制循环条件判断循环框图的起始点,用于判断循环条件是否满足循环体包含要重复执行的代码或操作,直到循环条件不满足循环结束当循环条件不满足时,循环结束,执行下一条语句综合框图的绘制整合各部分1将顺序、分支和循环框图连接起来清晰逻辑2准确体现算法步骤流程清晰3易于理解和实现综合框图将顺序、分支和循环框图整合在一起,以清晰的流程展现整个算法的逻辑步骤这些框图之间通过箭头连接,形成完整的算法流程图通过综合框图,可以直观地理解算法的执行过程,方便程序员将算法转换为代码框图的优化清晰简洁避免冗余框图的优化是确保算法流程简化流程,减少不必要的步清晰、易于理解的关键骤和重复,提升效率合理布局便于修改优化框图的排版和布局,使设计可维护的框图,方便后流程更加直观易懂,增强可续的修改和更新,提高算法读性的灵活性和适应性算法设计实例1数字加法算法数字排序算法输入两个数字,输出它们的和输入一系列数字,输出排序后的结果算法设计实例2问题描述算法思想
1.
2.12输入一个数组,找出数组使用哈希表存储每个元素中出现次数最多的元素出现的次数,最后遍历哈希表找出出现次数最多的元素算法步骤算法实现
3.
4.34初始化哈希表,遍历数组使用语言实现该算Python并更新哈希表,遍历哈希法,代码如下表找出出现次数最多的元素算法设计实例3寻找最大公约数欧几里得算法流程图给定两个正整数,找出它们的最大公通过递归调用,不断求余并返回最终使用框图清晰地展示算法的执行步骤约数结果算法设计实例4问题描述算法设计代码实现求100以内所有能被3整除•使用循环结构遍历1到for iin range1,的正整数之间的所有正整数100101:if i%3==0:•判断每个正整数是否能printi被整除3•如果能被3整除,则将其输出算法设计实例51212根据已知条件和目标,分析问题,确定算法流程,选择合适的数据结抽象成数学模型,转化为算法问题构,使用合适的编程语言编写代码3434进行测试和调试,确保算法的正确根据实际情况,对算法进行优化,性和效率,并对结果进行分析和评提升性能,并将其应用于实际问题估课程总结本次课程学习了集合、逻辑用语、算法和框图等内容掌握了集合的概念、表示和基本运算,并学习了常见逻辑用语的含义和真值表理解了算法的概念、特性和设计原则,并掌握了常用算法的设计方法最后,学习了算法框图的绘制方法,并通过实例进行练习。
个人认证
优秀文档
获得点赞 0