欢迎来到天天文库
浏览记录
ID:43227528
大小:2.58 MB
页数:62页
时间:2019-10-05
《现代密码学理论与实践之五》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、问题五:大学生如何工作?(组织能力、管理能力,班干部、团干、社团、志愿者……)思考2021/8/61送给学生的话贝贝,如果你一生可以做五个工作,你希望做哪五个工作老师、省长、CEO、医生、记者它们需要哪些能力爱好、吃苦、认真、特长、乐观、交际2021/8/62第六章算法数据结构内容提要6.1算法的提出6.2什么是算法6.3算法的表示6.4基本的算法6.5数据结构2021/8/64推荐阅读:程序员2006.4《算法的力量》2021/8/65【面试真题一】一位商人有8枚银元,其中有1枚略轻的是假银元。姑娘您能用天平(不用砝码)将假
2、银元找出来吗?妈呀你管谁叫姑娘呢!人家是纯爷们儿!2021/8/66【面试真题二】还是出道题考考你吧!听好了!东方明珠大概要多少个乒乓球垒积起来?这叫什么题啊?这叫谁谁也回答不了!我……2021/8/67把23、3、465、2、57、561、36、35变成以下形式的二维数组:2334655723656135【面试真题三】2021/8/68算法(Algorithm)由九世纪数学家al-Khwarizmi的名字翻译而来,它初期的概念是指解决问题或执行任务的确定的过程1842年,AdaByron为他设想的自动计算器写了世界上第一个算
3、法。但这算法未能被真正实现,因为AbaByron未能造出他的自动计算器现代意义上的计算机算法的概念是在1936年AlanTuring提出现代计算机的基本模型图灵机之后才清晰起来算法是解决问题或执行任务的过程;它能够一步一步地在图灵机或等价的机器(如现代的计算机)上执行6.1算法的提出2021/8/69算法常常是用伪程序、自然语言、程序语言、硬件描述由此可见,算法的本质是问题解决过程的概念,而相应的程序只是一种它的表述小胖,很多网民还不懂程序与算法的关系,你说说程序就是算法的衣服,是其中衣服的一件2021/8/610著名计算机科
4、学家沃思(NiklausWirth)描述数据的类型、组织形式描述对数据的操作步骤程序=数据结构+算法2021/8/611三毛,计算机的灵魂是什么?软件程序算法软件的灵魂是什么程序的灵魂是什么?您真棒!海宝,算法的灵魂是什么?我也不知道,让我们去学习吧……2021/8/6121.什么是算法?解决某一特定问题的一组有序的、明确的、可执行的、可终止的步骤集合。广义地说,为解决一个问题而采取的方法和步骤,就称为“算法”。6.2什么是算法方法1:1+2,+3,+4,一直加到100加99次方法2:100+(1+99)+(2+98)+…+(
5、49+51)+50=100+49×100+50加51次例:求2021/8/6132.算法特性有穷性:包含有限的操作步骤确定性:算法中的每一个步骤都应当是确定的有零个或多个输入:输入是指在执行算法时需要从外界取得必要的信息有一个或多个输出:算法的目的是为了求解,“解”就是输出有效性:算法中的每一个步骤都应当能有效地执行,并得到确定的结果。2021/8/6143.算法的评价为了有效地进行解题,不仅需要保证算法正确,还要考虑算法的质量,选择合适的算法。希望方法简单,运算步骤少。正确性健壮性性能性(效率与低存储量)可读性扩充性维护性2
6、021/8/615求1×2×3×4×5步骤1:先求1×2,得到结果2步骤2:将步骤1得到的乘积2再乘以3,得到结果6步骤3:将6再乘以4,得24步骤4:将24再乘以5,得120太繁琐如果要求1×2×…×1000,则要写999个步骤2021/8/616S1:使p=1S2:使i=2S3:使p*i,乘积仍放在变量p中,可表示为:p*ipS4:使i的值加1,即i+1i。S5:如果i不大于5,返回重新执行步骤S3以及其后的步骤S4和S5;否则,算法结束。最后得到p的值就是5!的值。可以设两个变量:一个变量代表被乘数,一个变
7、量代表乘数。不另设变量存放乘积结果,而直接将每一步骤的乘积放在被乘数变量中。设p为被乘数,i为乘数。用循环算法来求结果,算法可改写:2021/8/6174.算法的复杂性分析时间复杂性:与问题规模、算法输入及算法本身相关的操作次数的总和,常记为T(n)渐进时间复杂性:问题规模逐渐增大后时间复杂度的极限形式如果存在一个常数C>0,一个算法能够在Cn2的时间内处理完规模大小为n的输入,则该算法的时间复杂性记为O(n2),称作n2级2021/8/6185.算法的分类数值运算算法、非数值运算算法串行算法、并行算法确定性算法、随机算法描述
8、算法的方法:文字、图形(符号)2021/8/6196.算法研究的典型问题分类排序搜索(图片、视频)遍历集合运算2021/8/6207.描述算法设计的一般过程2021/8/6218.算法常用设计方法:循环法递归法分治法贪心法动态规划线性规划搜索与枚举启发式搜索2021/8/62
此文档下载收益归作者所有