- 1、本文档共13页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
复习内容:
教材,教材作业,实验手册(上机实验、选择填空题),算法(要求的)
●算法的概念:解题方案的准确而完整的描述。
●算法应具备的特性(详细解释)
(1)可行性
(2)确定性
(3)有穷性
(4)拥有足够的情报
●算法设计基本方法(举例说明):
1. 列举法(穷举法、枚举法)(百钱买百鸡,水仙花数)
2. 枚举归纳法(波利亚归纳模式,通过观察得出规律,证明规律)
3. 递推(Fibonacci数列,牛顿迭代法求一个数的平方根)
4. 递归(典型问题:汉诺塔Tower of Hannoi)
5. 减半递推(二分法求方程的根,折半查找,矩阵相乘)
6. 回溯法(八皇后问题)
会按照算法,手工摆出n皇后问题的若干个解,如5皇后问题的第1个解是 1,3,5,2,4 ……
ooooo
●算法的复杂度分析:时间的复杂度和空间的复杂度的概念
时间的复杂度:用算法在执行过程中所需基本运算(即主要运算)的次数来度量算法的工作量。
空间的复杂度:计算时所需内存容量。
掌握平均性态和最坏情况复杂度的分析方法,对以下两个问题会分析:
(1)顺序查找 (2)求三个数的中间值
●数据结构的定义:描述一组数据元素及元素之间的相互关系。数据结构的两个要素:数据元素的集合,数据集合上的关系。
关系的表示:二元组、图
●逻辑结构:线性结构和非线性结构
●物理存储结构:顺序存储结构和链式存储结构(实际使用时,往往两种结合使用,如图的邻接表表示,外链hash表,索引查找表)
●逻辑上的线性结构可以采用的顺序存储结构和链式存储结构(举例:线性表)
逻辑上的非线性结构可以采用链式存储结构,也可以采用的顺序存储结构和链式存储结构(举例:完全二叉树)
逻辑结构: 线性 非线性
存储结构: 顺序 链接
如:完全二叉树是非线性结构,但可以使用顺序存储
●线性表:实验1.1
线性表的插入、删除算法(自然语言描述也可以)
●堆栈的概念及特点: 入栈,出栈操作
堆栈的物理实现:数组,链表。
应用: (1)函数递归及嵌套调用的实现
(2)简单表达式的处理,会画出处理表达式各步 OPS 栈和 OVS 栈的变化。
●队列的概念及特点
队列的物理实现:数组,链表。
用数组实现循环队列:入队、退队的实现。
特点:rear指向队尾,front指向队首前一个元素。
问题:设循环队列的容量为50(序号从1到50),现经过一系列的入队与退队运算后,有:
front=11, rear=22
front=26, rear=15
问在这两种情况下,循环队列中各有多少元素?
答:
22-11 = 11个元素
50-26+15 = 39个元素
●线性链表:基本运算
创建链表 /* 教材 */
插入元素 /* 教材 */
删除元素 /* 教材 */
释放链表 /* 教材 */
逆转 /* 作业 */
合并两个线性表 /* 作业 */
●链表的应用:用循环链表实现的多项式的创建、相加算法 见实验1.3
●数组:二维数组以行(或列)为主的顺序存放,物理上存储成一维数组。
逻辑:二维数组A, 物理:一维数组B
问题:给出i和j,如何从一维B数组中得到aij的值
aij <—— b[k]
若A数组M行,N列,假定行号和列号都是从1开始,则k = (i-1)*N+j
●下三角矩阵和三对角线矩阵(带状矩阵)的压缩存储(按行存放)
A[M][N] <=> B[ ]
同样的问题:给出i和j,如何从一维B数组中得到aij的值
aij <--- b[ ? ]
(1)下三角矩阵,公式:
B[ (i-1)*i/2 + j ] j≤i
0 j>i
aij =
问题:若是按列存放,或上三角矩阵呢?
(2)三对角线矩阵(带状矩阵),公式:
aij =
B[2(i-1)+j] |i-j|≤1
0 其他
●稀疏矩阵的表示,以下两种均为压缩存储方法,即只存储非0元素的值。
(1)三列两维数组B[ ]
要理解设置 NUM[ ] 和 POS[ ] 数组的含义。
目的:已知B[ ], i, j, NUM[ ], POS[ ],求出A(i,j)的值。
写出访问A(i,j)的函数,参数是B[ ], i, j, NUM[ ], POS[ ],返回值是A(i,j)。
取得aij元素值的过程:从B数组的POS[i]位置开始,顺序查找NUM[i]个元素,即顺序比较i和j的
您可能关注的文档
- 南通市政府采购货物(或服务)类项目需求说明-江苏省南通卫生高等职业.doc
- 南韩出口竞争力强化对策之研析-国际经济情势周报-中华经济研究院.doc
- 第二讲中文摘要式检索工具、CBM-广州中医药大学图书馆.ppt
- 博士后工作协议书-山东大学医学院.doc
- 印尼语-语言教学中心CenterforLanguageEducation-国立高雄第一.doc
- 危重病人护理记录书定要点.ppt
- 危险废物意外事故应急预案GB-EP-1406-01-美科电子琴.doc
- 第二章锁相放大器的工作原理模拟锁相放大器数字锁相放大器.ppt
- 即讯多屏互动用户手册(IOS版).doc.doc
- 历年重大火灾案件统计表.doc
文档评论(0)