《算法设计与分析》教案
- 格式:docx
- 大小:196.07 KB
- 文档页数:43
算法设计与分析电子教案一、教案概述本节课的主题是算法设计与分析。
通过本节课的学习,学生将了解算法的定义、算法的设计方法以及算法的分析方法,培养学生的算法设计和分析能力。
二、教学目标1.了解算法的定义和特点;2.掌握算法的设计方法:递归、贪心算法、动态规划、分治法等;3.能够使用算法设计和分析的方法解决实际问题;4.培养学生的算法设计和分析能力。
三、教学内容与教学方法1.算法的定义和特点(10分钟)通过讲解算法的定义和特点,引导学生了解算法的基本概念和要素,同时培养学生的逻辑思维能力。
教学方法为讲解和示例演示。
2.算法的设计方法(20分钟)介绍几种常用的算法设计方法,包括递归、贪心算法、动态规划和分治法。
通过具体的例子演示每种方法的具体应用,并引导学生进行思考和分析。
教学方法为讲解和示例演示。
3.算法的分析方法(30分钟)介绍算法的时间复杂度和空间复杂度的概念,以及常用的算法分析方法。
通过实际问题的例子,引导学生计算算法的时间复杂度和空间复杂度,并进行分析和比较。
教学方法为讲解和示例演示。
4.实际问题的算法设计与分析(30分钟)提供一些实际问题,要求学生利用所学的算法设计和分析的方法进行解决。
教师可以通过小组合作的形式进行实际问题的讨论和解答。
教学方法为小组合作和问题解答。
5.总结与评价(10分钟)教师对本节课的内容进行总结,并评价学生的学习情况和表现。
同时鼓励学生继续加强算法设计和分析的学习和实践。
四、教学资源和评价方式1.教学资源:-电子教案;-计算机及投影仪等教学设备;-教材和参考书。
2.评价方式:-课堂参与度和合作度;-实际问题的解答和分析能力;-课后作业的完成情况和质量。
五、教学中的关键环节和要点1.算法的定义和特点是理解算法的基础,要求学生掌握清晰的逻辑思维和表达能力。
2.算法的设计方法是学生解决实际问题的关键,需要学生理解每种方法的原理和特点,并进行实际问题的应用练习。
3.算法的分析方法是学生评估算法效果和性能的关键,需要学生理解时间复杂度和空间复杂度的概念,能够对给定算法进行分析。
算法分析与设计教案教案一:算法复杂度与算法分析一、教学目标:1.理解算法复杂度的概念2.掌握算法复杂度的计算方法3.能够通过算法复杂度分析算法的效率4.学会如何选择适合的算法二、教学内容:1.算法复杂度概述a.时间复杂度和空间复杂度的概念b.算法的执行时间和占用空间的计算方法c.算法的最好情况、平均情况和最坏情况的概念和关系2.算法复杂度分析a.常见的算法复杂度i.常数阶ii. 对数阶iii. 线性阶iv. 线性对数阶v.平方阶b.算法复杂度的表示方法和计算示例3.算法效率的比较与选择a.算法效率的评价标准b.如何选择适合的算法c.通过实际例子对比算法效率三、教学方法:1.讲授理论知识,介绍算法复杂度的概念和计算方法2.针对具体算法实例,进行算法复杂度的分析和计算3.进行实际例子的比较,分析不同算法的效率四、教学过程:教师活动学生活动教学方法时间引入介绍本节课的内容和目标倾听并记录讲授 5分钟讲解介绍算法复杂度概念和分类倾听并记录讲授 15分钟示例分析通过具体例子分析和计算算法复杂度思考并记录讲授和讨论20分钟案例分析分析不同算法的效率,并选择合适的算法思考并讨论讲授和讨论20分钟总结总结本节课的内容和要点倾听并记录讲授 5分钟五、教学资源:1.PPT课件2.计算器3.教材和参考书籍六、教学评估:通过学生的课堂参与情况、小组讨论和问题回答情况来评估学生对算法复杂度与算法分析的掌握情况。
七、教学延伸:1.可邀请相关行业的专业人士进行讲座,分享在实际工程中使用算法复杂度和算法分析的经验2.给学生布置一些算法的分析和设计任务,让学生通过实际动手操作来深入理解算法复杂度与算法分析的概念和方法。
教案二:动态规划的基本原理与应用一、教学目标:1.理解动态规划的基本原理和思想2.掌握动态规划的基本步骤和方法3.能够使用动态规划解决实际问题4.学会如何设计动态规划的算法二、教学内容:1.动态规划概述a.动态规划的定义和基本思想c.动态规划的基本步骤和方法2.动态规划的应用a.最优子结构的性质b.重叠子问题的性质c.通过子问题的解计算原问题的解d.动态规划的算法设计与实现3.动态规划的经典问题a.背包问题b.最长公共子序列问题c.最短路径问题d.斐波那契数列问题三、教学方法:1.讲授理论知识,介绍动态规划的基本原理和方法2.运用具体问题进行示例分析,演示动态规划的应用和算法设计3.进行实际问题的解决,让学生亲自动手设计动态规划算法四、教学过程:教师活动学生活动教学方法时间引入介绍本节课的内容和目标倾听并记录讲授 5分钟讲解介绍动态规划的概念和基本原理倾听并记录讲授 15分钟示例分析通过具体问题示例进行动态规划的分析和解决思考并记录讲授和演示 20分钟算法设计学生自主设计动态规划算法并进行实际问题的解决思考并动手实践讨论和指导25分钟总结总结本节课的内容和要点倾听并记录讲授 5分钟五、教学资源:1.PPT课件2.教材和参考书籍3.计算器六、教学评估:通过学生的课堂参与情况、小组讨论和问题回答情况来评估学生对动态规划的理解和应用掌握情况。
算法设计与分析实践教案教案:算法设计与分析实践一、教学目标1.理解算法设计与分析的基本概念和方法。
2.掌握常见算法的时间复杂度和空间复杂度分析。
3.学会根据实际问题设计合适的高效算法。
4.培养学生的创新能力和团队合作精神。
二、教学内容与步骤1.引入(5分钟)•介绍课程背景和教学目标。
•提问:大家对算法设计与分析有什么了解?2.算法设计与分析基础(15分钟)•讲解算法的基本概念、算法的时间复杂度和空间复杂度。
•介绍常见的算法设计策略,如贪心算法、动态规划、分治算法等。
3.经典算法案例分析(30分钟)•选择几个经典算法,如快速排序、二分查找、Dijkstra算法等,进行详细讲解。
•通过案例分析,让学生了解如何分析算法的复杂度以及如何优化算法。
4.问题建模与算法设计(30分钟)•介绍如何将实际问题转化为数学模型。
•通过具体问题,让学生实践算法设计与分析,强调设计高效算法的重要性。
5.分组讨论与分享(30分钟)•学生分组进行讨论,分享自己对于算法设计与分析的看法和实践经验。
•教师点评和指导,鼓励学生创新思维和团队合作。
6.总结与作业(10分钟)•总结课程内容和重点。
•布置作业:设计一个高效算法解决实际问题,并进行复杂度分析。
三、教学方法与手段1.讲解:通过详细的讲解,使学生对算法设计与分析有基本的认识。
2.案例分析:通过经典案例的讲解和分析,使学生深入理解算法设计与分析的方法。
3.实践:让学生亲自设计和分析算法,培养他们的实践能力和创新思维。
4.分组讨论:通过分组讨论,鼓励学生交流和分享经验,培养他们的团队合作精神。
5.作业:通过作业,让学生将所学知识应用到实际问题中,巩固所学内容。
四、教学评估与反馈1.课堂表现:观察学生在课堂上的表现,包括听讲、思考、讨论等方面。
2.作业:评估学生的作业完成情况和质量,了解学生对知识的掌握程度。
3.反馈:在课程结束时,向学生提供反馈,指出他们在学习中的优点和需要改进的地方。
算法设计与分析 课程设计一、课程目标知识目标:1. 让学生掌握基本的算法设计原理,包括贪心算法、分治算法、动态规划等,并能够运用这些原理解决实际问题。
2. 使学生了解不同算法的时间复杂度和空间复杂度分析方法,能够评估算法的效率。
3. 引导学生理解算法的优缺点,并能针对具体问题选择合适的算法进行解决。
技能目标:1. 培养学生运用所学算法原理设计解决实际问题的算法,提高编程实现能力。
2. 培养学生通过分析算法的时间复杂度和空间复杂度,对算法进行优化和改进的能力。
3. 提高学生运用算法思维解决问题的能力,培养逻辑思维和创新能力。
情感态度价值观目标:1. 激发学生对算法学习的兴趣,培养主动探索、积极思考的学习态度。
2. 培养学生团队协作精神,学会与他人分享算法设计心得,共同解决问题。
3. 使学生认识到算法在现实生活中的重要性,提高对计算机科学的认识和兴趣。
课程性质:本课程为计算机科学领域的一门核心课程,旨在培养学生的算法设计与分析能力。
学生特点:学生已经具备一定的编程基础和逻辑思维能力,但对复杂算法的设计与分析仍需加强。
教学要求:结合实际案例,注重理论与实践相结合,引导学生通过自主探究、团队合作等方式,达到课程目标。
在教学过程中,注重分解目标,将目标具体化为可衡量的学习成果,以便于教学设计和评估。
二、教学内容1. 算法基本原理:- 贪心算法:介绍贪心算法原理及其应用场景,结合实际案例进行分析。
- 分治算法:阐述分治算法的设计思想及其应用,举例说明。
- 动态规划:讲解动态规划的基本概念、原理和应用,分析典型问题。
2. 算法分析:- 时间复杂度分析:介绍大O表示法,分析常见算法的时间复杂度。
- 空间复杂度分析:阐述空间复杂度的概念,分析常见算法的空间复杂度。
3. 算法优化与改进:- 针对典型问题,分析现有算法的优缺点,探讨优化方向。
- 引导学生通过算法分析,提出改进方案,并进行实现。
4. 教学大纲安排:- 第一章:算法基本原理(贪心算法、分治算法、动态规划)- 第二章:算法分析(时间复杂度、空间复杂度)- 第三章:算法优化与改进5. 教材章节和内容列举:- 教材第3章:贪心算法及其应用- 教材第4章:分治算法及其应用- 教材第5章:动态规划及其应用- 教材第6章:算法分析(时间复杂度、空间复杂度)- 教材第7章:算法优化与改进教学内容确保科学性和系统性,结合实际案例进行讲解,使学生能够逐步掌握算法设计与分析的方法。
算法设计与分析课程设计一、课程题目零钱问题贪心算法实现二、课程摘要1)题目描述使用贪心算法设计思想设计算法实现找零钱问题。
例题13-4 一个小孩买了价值少于1美元的糖,并将1美元的钱交给售货员。
售货员希望用数目最少的硬币找给小孩。
假设提供了数目不限的面值为 2 5美分、1 0美分、5美分、及1美分的硬币。
售货员分步骤组成要找的零钱数,每次加入一个硬币。
选择硬币时所采用的贪婪准则如下:每一次选择应使零钱数尽量增大。
为保证解法的可行性(即:所给的零钱等于要找的零钱数),所选择的硬币不应使零钱总数超过最终所需的数目。
1)在给定钱币面值的前提下,实现找回尽量少硬币的输出方案2)分析算法性能2)贪心算法简述在求最优解问题的过程中,依据某种贪心标准,从问题的初始状态出发,直接去求每一步的最优解,通过若干次的贪心选择,最终得出整个问题的最优解,这种求解方法就是贪心算法。
从贪心算法的定义可以看出,贪心法并不是从整体上考虑问题,它所做出的选择只是在某种意义上的局部最优解,而由问题自身的特性决定了该题运用贪心算法可以得到最优解。
贪心算法所作的选择可以依赖于以往所作过的选择,但决不依赖于将来的选择,也不依赖于子问题的解,因此贪心算法与其它算法相比具有一定的速度优势。
如果一个问题可以同时用几种方法解决,贪心算法应该是最好的选择之一。
本文讲述了贪心算法的含义、基本思路及实现过程,贪心算法的核心、基本性质、特点及其存在的问题。
并通过贪心算法的特点举例列出了以往研究过的几个经典问题,对于实际应用中的问题,也希望通过贪心算法的特点来解决。
三、课程引言首先,证明找零钱问题的贪婪算法总能产生具有最少硬币数的零钱。
证明:(1)找零钱问题的最优解必以一个贪心选择开始,当总金额为N,硬币面值为25,10,5,1时。
设最大容许的硬币面值为m,最优解必包含一个面值为m的硬币:设A是一个最优解,且A中的第i个硬币面值为f(i)。
当f(1)=m(此处为25),得证;若f(1)<m,则:A中若存在Ak,使f(k)=m,将第i个硬币与第1个调换位置,硬币数目不变,仍是一个最优解。
《算法设计与分析》课程思政优秀教学案例(一等奖)一、课程简介本课程介绍计算机算法的设计和分析,内容包括计算模型、排序和查找、矩阵算法、图算法、动态规划、模式匹配、近似算法、并行算法等。
学完本课程后学生将基本掌握数据结构和算法的设计与分析技术,提高程序设计的质量,能够根据所求解问题的性质选择合理的数据结构和算法,并对时间、空间复杂性进行必要的分析与控制。
本课程的培养目标包括:理解算法分析基本方法,掌握时间和空间权衡的原则;理解穷举、贪心、分治、动态规划和回溯算法;理解算法分析对程序设计的重要性;具备算法设计与分析技能;具备精益求精的工匠精神、科技报国的使命担当,以及坚定“四个自信”的爱国主义精神。
二、课程内容三、教学组织过程第1学时1.程序运行效率对比(5分钟,问题引导式教学)现场先后运行两个计算程序,计算同一个矩阵乘法,运行时间(效率)差异巨大,从而引起学生的兴趣:为何差异巨大?2.分治法回顾(5分钟)回顾分治法的主要思想,以及用于分析分治法算法的主定理,为后续相关算法分析做准备。
3.朴素的矩阵乘法算法(10分钟,需求引导式教学)介绍并分析基于直观分治法思想的朴素矩阵乘法算法,时间复杂度并不理想,有进一步改进的需求。
4.改进的矩阵乘法思想(15分钟,对比式教学)在朴素算法的某些关键参数上进行改进,并通过分析得知算法效率有较大提升。
5.讨论进一步改进的思路(10分钟,研讨式教学)在对照中感受关键参数对整体算法的影响。
现场组织研讨,在研讨中明确改进的方向和思路。
第2学时6.矩阵乘法思想的发展历程(10分钟)了解矩阵乘法算法近50年里不断改进的历程,让学生感受并领会精益求精的工匠精神。
7.矩阵乘法算法的最新进展(10分钟)通过相关知识点的最新科研前沿情况,增强学生的科学素养和国际视野。
8.课程思政重点案例——“Matlab被禁”事件(20分钟,激发学生科技报国的历史担当)(1)过渡:从算法理论过渡到现实环境中的常用工具——Matlab。
《算法设计与分析》教案算法设计与分析是计算机科学与技术专业的一门核心课程,旨在培养学生具备算法设计、分析和优化的能力。
本课程通常包括算法基础、算法设计方法、高级数据结构以及算法分析等内容。
本教案主要介绍了《算法设计与分析》课程的教学目标、教学内容、教学方法和评价方法等方面。
一、教学目标本课程的教学目标主要包括以下几个方面:1.掌握算法设计的基本思想和方法。
2.熟悉常见的算法设计模式和技巧。
3.理解高级数据结构的原理和应用。
4.能够进行算法的时间复杂度和空间复杂度分析。
5.能够使用常见的工具和软件进行算法设计和分析。
二、教学内容本课程的主要教学内容包括以下几个方面:1.算法基础:算法的定义、性质和分类,时间复杂度和空间复杂度的概念和分析方法。
2.算法设计方法:贪心算法、分治算法、动态规划算法、回溯算法等算法设计思想和方法。
3.高级数据结构:堆、树、图等高级数据结构的原理、实现和应用。
4.算法分析:渐进分析法、均摊分析法、递归方程求解等算法分析方法。
5. 算法设计与分析工具:常见的算法设计和分析工具,如C++、Java、Python和MATLAB等。
三、教学方法本课程采用多种教学方法结合的方式,包括讲授、实践和讨论等。
1.讲授:通过教师讲解理论知识,引导学生掌握算法的基本思想和方法。
2.实践:通过课堂上的编程实验和课后作业,培养学生动手实践的能力。
3.讨论:通过小组讨论和学生报告,促进学生之间的交流和合作,提高学习效果。
四、评价方法为了全面评价学生的学习情况,本课程采用多种评价方法,包括考试、作业和实验报告等。
1.考试:通过期中考试和期末考试,检验学生对算法设计和分析的理解和掌握程度。
2.作业:通过课后作业,检验学生对算法设计和分析的实践能力。
3.实验报告:通过编程实验和实验报告,检验学生对算法设计和分析工具的应用能力。
五、教学资源为了支持教学工作,我们为学生准备了如下教学资源:1.课件:编写了详细的教学课件,包括理论知识的讲解和案例分析。
算法设计与分析课程设计一、课程目标知识目标:1. 让学生掌握基本的算法设计与分析原理,理解算法复杂度的概念及其重要性。
2. 使学生能够运用正确的数据结构解决实际问题,并能够分析不同算法的性能优劣。
3. 引导学生掌握至少两种算法设计方法(如递归、分治、贪心等),并能够应用到具体问题中。
技能目标:1. 培养学生运用计算机编程语言实现算法的能力,提高代码质量与效率。
2. 培养学生通过分析问题,设计合适算法解决问题的能力,提高解决问题的策略选择与优化水平。
3. 培养学生合作交流、批判性思维和创新能力,能够在团队中发挥积极作用。
情感态度价值观目标:1. 培养学生对算法设计与分析的热爱,激发学生的学习兴趣,增强自信心。
2. 培养学生具备良好的算法思维,认识到算法在解决实际问题中的价值,提高社会责任感。
3. 引导学生树立正确的价值观,认识到团队合作的重要性,培养尊重他人、乐于分享的良好品质。
本课程针对高年级学生,结合学科特点,注重理论与实践相结合,旨在提高学生的算法素养和实际操作能力。
课程性质强调实用性、操作性和创新性,教学要求关注学生的个体差异,充分调动学生的主观能动性,使他们在合作与实践中不断提高。
通过本课程的学习,学生将能够具备解决复杂问题的能力,为未来的学术研究或职业发展打下坚实基础。
二、教学内容1. 算法基础理论:包括算法复杂度分析(时间复杂度、空间复杂度),算法效率评价,以及不同算法之间的比较。
教材章节:第1章 算法基础2. 数据结构:重点复习数组、链表、栈、队列、树等基本数据结构,并探讨它们在算法中的应用。
教材章节:第2章 数据结构3. 算法设计方法:详细讲解递归、分治、贪心、动态规划等算法设计方法,通过实例分析每种方法的优缺点。
教材章节:第3章 算法设计方法4. 算法实践与应用:选取经典算法问题,如排序、查找、图论等,让学生动手编程实现,并分析其性能。
教材章节:第4章 算法实践与应用5. 算法优化策略:介绍常见的算法优化技巧,如剪枝、动态规划优化等,提高学生优化算法的能力。
上海电机学院教学方案2011-2012学年第2学期开课学院电子信息学院课程名称算法设计与分析教案授课教师连志刚授课对象(专业)软件工程(班级) BX0903课程性质专业基础课(填公共基础课、专业基础课或专业课)考核方式考试总学时 64/16学分 3审核 __________________________2012 年 2 月 10 日所用教材名称与作者:《计算机常用算法与程序设计案例教程(高等学校计算机专业教材精选·算法与程序设计)》杨克昌编著清华大学出版社,2011。
主要参考教材:1. 程序设计与算法语言—-C++程序设计基础(21世纪面向工程应用型计算机人才培养规划教材)作者:孔丽英,夏艳,徐勇等清华大学出版社2011年—9月;2。
算法设计与分析(普通高校本科计算机专业特色教材精选·算法与程序设计作者:张军等编著清华大学出版社 2011年8月。
本课程与授课专业的关系、目的与要求:本课程的教学目的是使学生能够掌握算法的基本理论、技术和应用算法的基本方法。
在算法研究和应用领域内,提高分析问题和解决问题的能力,同时为后续课程的学习和将来在实际工作中的应用打下扎实的基础.3、内容上海电机学院教案周次__1_ 第__1__次课学时_2课时_ 授课时间 2月本次教学内容提要及时间分配(可加页)一新课引入(通过实际应用中最熟悉的各种算法实例,引出算法的概念)1.1 算法及其描述算法(algorithm)一个算法是对特定问题求解步骤的一种描述,它是指令的有限序列.此外,算法具有下列5个特征:输入(input):算法有零个或多个输入量;输出(output):算法至少产生一个输出量;确定性(definiteness):算法的每一条指令都有确切的定义,没有二义性;能行性(effectiveness):算法的每一条指令必须足够基本,它们可以通过已经实现的基本运算执行有限次来实现;有穷性(finiteness):算法必须总能在执行有限步之后终止。
《算法设计与分析》教案张静第1章绪论算法理论的两大论题:1. 算法设计2. 算法分析1.1 算法的基本概念1.1.1 为什么要学习算法理由1:算法——程序的灵魂➢问题的求解过程:分析问题→设计算法→编写程序→整理结果➢程序设计研究的四个层次:算法→方法学→语言→工具理由2:提高分析问题的能力算法的形式化→思维的逻辑性、条理性1.1.2 算法及其重要特性算法(Algorithm):对特定问题求解步骤的一种描述,是指令的有限序列。
算法的五大特性:⑴输入:一个算法有零个或多个输入。
⑵输出:一个算法有一个或多个输出。
⑶有穷性:一个算法必须总是在执行有穷步之后结束,且每一步都在有穷时间内完成。
⑷确定性:算法中的每一条指令必须有确切的含义,对于相同的输入只能得到相同的输出。
⑸可行性:算法描述的操作可以通过已经实现的基本操作执行有限次来实现。
1.1.3 算法的描述方法⑴自然语言优点:容易理解缺点:冗长、二义性使用方法:粗线条描述算法思想注意事项:避免写成自然段欧几里德算法⑶程序设计语言优点:能由计算机执行缺点:抽象性差,对语言要求高使用方法:算法需要验证注意事项:将算法写成子函数欧几里德算法#include <iostream.h>int CommonFactor(int m, int n) {int r=m % n;while (r!=0){m=n;n=r;r=m % n;}return n;}void main( ){cout<<CommonFactor(63, 54)<<endl;}⑷伪代码——算法语言伪代码(Pseudocode):介于自然语言和程序设计语言之间的方法,它采用某一程序设计语言的基本语法,操作指令可以结合自然语言来设计。
优点:表达能力强,抽象性强,容易理解使用方法:7 ± 2欧几里德算法1. r = m % n;2. 循环直到 r 等于02.1 m = n;2.2 n = r;2.3 r = m % n;3. 输出 n ;1.1.4 算法设计的一般过程1.理解问题2.预测所有可能的输入3. 在精确解和近似解间做选择4. 确定适当的数据结构5.算法设计技术6.描述算法7.跟踪算法8.分析算法的效率9.根据算法编写代码1.2 算法分析算法分析(Algorithm Analysis):对算法所需要的两种计算机资源——时间和空间进行估算➢时间复杂性(Time Complexity)➢空间复杂性(Space Complexity)算法分析的目的:➢设计算法——设计出复杂性尽可能低的算法➢选择算法——在多种算法中选择其中复杂性最低者时间复杂性分析的关键:➢ 问题规模:输入量的多少;➢ 基本语句:执行次数与整个算法的执行时间成正比的语句for (i=1; i<=n; i++)for (j=1; j<=n; j++)x++;问题规模:n基本语句:x++1.2.1 渐进符号1. 大O 符号定义1.1 若存在两个正的常数c 和n 0,对于任意n ≥n 0,都有T (n )≤c ×f (n ),则称T (n )=O (f (n ))2. 大Ω符号定义1.2 若存在两个正的常数c 和n 0,对于任意n ≥n 0,都有T (n )≥c ×g (n ),则称T (n )=Ω(g (n ))问题规模n 执行次3. Θ符号定义1.3 若存在三个正的常数c 1、c 2和n 0,对于任意n ≥n 0都有c 1×f (n )≥T (n )≥c 2×f (n ),则称T (n )=Θ(f (n ))例: T (n )=5n 2+8n +1当n ≥1时,5n 2+8n +1≤5n 2+8n +n=5n 2+9n ≤5n 2+9n 2≤14n 2=O (n 2)当n ≥1时,5n 2+8n +1≥5n 2=Ω(n 2)∴ 当n ≥1时,14n 2≥5n 2+8n +1≥5n 2则:5n 2+8n +1=Θ(n 2)0问题规模n 执行次数问题规模n 执行次数定理 1.1 若T(n)=amnm +am-1nm-1 + … +a1n+a0(am>0),则有T(n)=O(nm)且T(n)=Ω(n m),因此,有T(n)=Θ(n m)。