- 1、本文档共30页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
*******************审普通程序审计程序是审计师为了获取审计证据,并形成审计意见而执行的一系列步骤。审计程序分为两种:实质性程序和控制测试程序。课程介绍学习目标掌握基本程序设计概念、算法思想和编程技巧。课程内容涵盖数据结构、算法、程序设计语言基础等内容。课程特色理论与实践结合,注重培养学生解决问题的能力。普通程序的特点顺序执行程序按照代码的顺序一步一步执行,指令之间严格按照顺序执行,不会跳跃执行。固定流程执行流程是预先确定的,程序执行过程中的流程是固定的,不会根据条件进行改变。普通程序的结构1数据结构数据组织方式2算法解决问题步骤3控制结构程序执行流程4模块化代码复用程序由数据结构、算法、控制结构和模块化组成。数据结构组织数据,算法实现程序功能,控制结构决定程序执行流程,模块化则提高代码复用性。算法概述问题求解算法是解决特定问题的一系列步骤或指令。它描述了解决问题所需的具体操作顺序。数据组织算法通常与数据结构密切相关,它们共同协作以有效地处理和操作数据。代码实现算法可以用编程语言实现,将抽象的步骤转换为计算机可执行的指令。算法的特性11.确定性算法的每一步都必须是明确的,不会产生歧义。同一个算法在相同条件下执行,结果应始终一致。22.有穷性算法必须在有限步骤内完成,不能无限循环。经过有限次操作后,算法能够终止。33.可行性算法的步骤必须是可执行的,可以被计算机或人执行,即算法中的每个步骤都能够被计算机或人用有限的时间和空间完成。44.输入/输出算法必须有输入,并产生相应的输出结果。输入可以是零个或多个,输出也可以是零个或多个。算法效率评判算法效率是指算法执行的时间和空间复杂度,可以衡量算法的优劣。时间复杂度是指算法执行所需要的计算时间,空间复杂度是指算法执行所需要的内存空间。时间复杂度时间复杂度衡量算法执行时间随输入规模增长变化趋势。常用大O记号表示,例如O(n)、O(n^2)、O(logn)等。时间复杂度增长趋势示例算法O(1)常数时间数组访问O(n)线性时间线性查找O(n^2)平方时间冒泡排序O(logn)对数时间二分查找空间复杂度空间复杂度衡量算法在运行时所使用的额外存储空间。它描述了算法对内存的需求。空间复杂度与输入数据的规模有关,算法需要的存储空间会随着输入规模的增长而改变。例如,线性查找需要额外的空间来存储中间结果,而二分查找只需要常数大小的额外空间。评估算法的空间复杂度对于优化内存使用、避免内存溢出和提高效率至关重要。算法分析算法分析主要通过以下步骤进行:1确定问题首先需要明确问题的目标和约束条件。2设计算法根据问题性质,设计出具体的算法步骤。3算法验证使用测试用例验证算法的正确性和效率。4优化改进对算法进行优化,提高其执行效率和资源利用率。线性结构线性结构的特点线性结构是一种简单的数据结构,元素之间存在唯一的线性关系,可以进行顺序访问。线性结构的类型数组链表栈队列线性结构的应用线性结构广泛应用于各种程序中,例如,用于存储和管理数据,实现排序算法,以及构建其他复杂的数据结构。栈后进先出栈是一种线性数据结构,遵循后进先出的原则。数据存储栈使用一个指针,称为栈顶指针,指向当前栈顶元素。常见操作入栈出栈获取栈顶元素队列先进先出队列是一种线性数据结构,遵循先进先出的原则。数据从队尾插入,从队头删除。应用场景队列广泛应用于各种程序设计领域,例如:任务调度、缓冲区管理、打印机管理等。数据结构队列通常用数组或链表实现。数组实现通常使用循环数组来提高效率。链表节点链接每个节点包含数据和指向下一个节点的指针。链表通过节点之间的链接来组织数据。单向链表节点只能指向下一个节点,形成线性结构。双向链表每个节点同时包含指向下一个节点和上一个节点的指针,允许双向遍历。循环链表最后一个节点指向第一个节点,形成闭环结构,方便循环访问。递归1定义递归是一种函数调用自身的编程技巧。它通过将问题分解为更小的、类似的问题来解决复杂问题。2关键要素递归包含两个关键部分:基本情况和递归情况。基本情况定义了递归结束的条件,而递归情况则将问题分解为更小的子问题并递归调用自身。3应用递归广泛应用于各种算法中,例如排序、查找和树遍历等,它提供了一种简洁而优雅的解决问题的方案。4优缺点递归可以使代码更简洁,但它可能导致性能问题,例如堆栈溢出,需要谨慎使用。排序算法排序算法排序算法是一种重要的算法,用于将一组无序的数据按照特定的顺
文档评论(0)