网站大量收购独家精品文档,联系QQ:2885784924

1章数据结构与算法.ppt

  1. 1、本文档共84页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第1章数据结构与算法

任课教师:刘昆宏 lkhqz@ 办公室:海韵A#505B 助教老师: 一班: 林玲:gnilnil@163.com 陈燕月:skychen919@ 二班: 高总昌:zongchang_gao@163.com 徐天茂:xuandma@ 参考书籍 王晓东, 算法设计与分析, 电子工业出版社, 2007. 王晓东, 算法设计与分析习题解答, 清华大学出版社, 2006. Thomas H.著, 潘金贵译, 算法导论, 机械工业出版社. Harry R.著, 张立昂译, 计算理论基础, 清华大学出版社. 卢开澄, 计算机算法导引——设计与分析, 清华大学出版社. 王红梅, 算法设计与分析, 清华大学出版社. 吕国英, 算法设计与分析, 清华大学出版社. 课程安排 考核方式: 实验+作业:30% 期末考试:70% 考勤:10%(只扣不加) 作业分组完成,1-3人一组; 请按时提交作业,否则没有相应成绩; 课件目录上传作业目录 课件资料下载目录 学院服务器/教学课件/刘昆宏/算法分析 学院服务器/教学课件/刘昆宏/算法分析/参考资料 上传作业目录 学院服务器/上传作业/刘昆宏/算法分析/课程x班/第X次作业 两种作业文件格式要求 理论题:纸版 实验题:电子版PDF格式+源码+可执行文件 作业文件名格式:第X次作业_小组编号 举例:第2次作业_第3小组.pdf 如果作业不按要求(格式不对,未提交到正确目录,文件格式不对)提交,本次作业成绩扣10分。 实验课上抽查 纸版作业格式 课程教学目的 奠定算法理论分析基础 掌握算法设计与分析的基本理论,了解和掌握一定数量的基本算法,能够针对具体问题进行理论分析、算法设计和复杂性分析以及编程实现。 培养独立科研能力 初步了解科研工作中解决问题的一般规程。 培养团队合作能力 通过团队完成作业来培养大家的团队合作能力 课程教学的主要内容 基本内容 算法的基本概念 递归与分治策略 动态规划算法 贪婪策略 回溯法 分枝限界法 概率算法 NP完全性理论 近似算法 优化策略 在线算法 课程教学内容安排 第一章:绪论 安排本学期教学任务 简介算法的基本概念 课程教学内容安排 第二章:递归与分治 基本概念 递归的概念 分治法的基本思想 实例分析 二分搜索技术 第三章:动态规划 基本概念 从矩阵连乘问题看动态规划 动态规划算法的基本要素 实例分析 课程教学内容安排 第五章:回溯法 回溯法的算法框架 实例分析 回溯法的效率分析 第六章:分支限界法 分支限界法的基本思想 实例分析 单源最短路径问题 装载问题 布线问题 课程教学内容安排 第七章:概率算法 随机算法 数值概率算法 舍伍德算法 拉斯维加斯算法 蒙特卡罗算法 时间复杂性函数的具体化? 一个算法的时间复杂度(time complexity)是指算法运行所需的时间。 对于给定的N、I和A,如何导出T=T(N,I)和S=S(N,I)? T(N,I)表示算法在一台抽象的计算机上运行需要的时间。设此抽象计算机的元运算有k种,分别记为O1,O2,…,OK。每执行一次这些运算所需要的时间分别为t1,t2,..,tk.设算法用到元运算Oi的次数为ei(是N和I的函数),则 时间复杂度分析实例:顺序搜索算法 template class Type int seqSearch (Type *a, int n, Type k) { for ( int i=0; in; i++) if (a[i]==k) return i; return -1; } (1)Tmax(n) = max{ T(I) | size(I)=n }=O(n) (2)Tmin(n) = min{ T(I) | size(I)=n }=O(1) (3)在平均情况下,假设 (a) 搜索成功的概率为p ( 0 ? p ? 1 ); (b) 在数组的每个位置i ( 0 ? i n )搜索成功的概率相同,均为 p/n。 算法的效率分析:实例1 问题:已知不重复且已经按从小到大排好的m个整数的数组A[L.m],对于给定的整数c,要求寻找一个下标i,使得A[i]=c,若找不到,则返回一个0。 算法1:从头到尾扫描数组A。 procedure search( c) /*c是整型数 */ { i←0; j←l; while A[j]c and jn do { if A[j]=c then i ← j; j←j+1; } return i; } 算法2:利用到已知条件中A已排好序的性质.进行二分查找,即反复把供查找的数组分成两半,然后在其中一半继续查找,它可以用函数b_search来表达 p

文档评论(0)

aena45 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档