- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
绪论
算法特性
有穷性、确定性、可行性、输入(可能0输入)、输出(不能0输出)。
算法评价
正确性、可读性、健壮性、高效率。
时间复杂度、空间复杂度。
数据结构
数据和二元关系。
等价关系(自反,对称,传递)
偏序(自反,反对称,传递=),拟序(反自反,反对此,传递 ),全序(偏序,均可比 实数集上的=)
线性表
问题:空表、存在性、溢出(顺序表)。
顺序表:存储位置连续。存储位置:a[i]=a[0]+l*i,l:元素占用空间。
插入操作移动元素:0加到n
删除操作移动元素:0加到n-1
优点:随机存取(存储删除时间固定)。
缺点:插入,删除操作需要移动表中的数据元素,
事先确定规模,空间效率不高
链表:链式存储。
带表头:处理链表插入删除时需要判断是否为空表的问题并处理表头。
可以建立带表头结点的单向链表
双向链表:插入删除操作需要同时修改两个方向的指针
循环链表。
优点:插入,删除操作无需移动表中的数据元素;
空间利用率高
? 缺点:不能随机存取
栈
只允许在一端进行插入和删除操作,LIFO、FILO。
问题:栈空出栈。
顺序栈、链式栈
应用:括号匹配,表达式求值。
递归
求阶乘,求最大公因子,fibonacci数列,汉诺塔。
尾递归:递归语句写在末尾。
递归消除:(1)用循环实现 (求阶乘)
(2)用迭代实现(斐波那契的迭代实现)
递归的消除往往需要借助显式的栈来实现
队列
一端插入,另一端删除,FIFO。
问题:队空出队、队满入队。
循环队列:(front=front+1) mod n,(rear=rear+1) mod n,元素个数:(rear+n-front) mod n。
当front==rear时,无法区分队列是空是满
解决方法:设置空位、设置标志、设置队长变量)。
链式队列:没有队满的问题,有队空的问题,队空条件为front=NULL
串与串匹配
子串在主串中的位置:第一次出现的位置。注意起始位为0
Brute-Force算法:蛮力,时间复杂度O(m*n)。
KMP算法:时间复杂度O(m+n)。
预处理函数Next:N [t]表示P[0~t]的前缀和P[1~t]的后缀中最长的相同前后 缀。(Next函数的生成方法见讲义)
T[i]==P[j]时,如果已经匹配成功,返回i-j,否则i++、j++。
T[i]!=P[j]时,如果j0,j=N[j-1],否则i++。
树
结点:根结点,分支结点,叶子结点。
度:结点的子树个数。
树的度:树中结点的度的最大值,K叉树。
层次:根结点层次为1,其余依次递增。
深度:结点的最大层次。
性质:
树中结点数目等于所有结点的度数加1。
度为k的树中第i层上只多ki-1个结点。
深度为h的k叉树至多有(kh-1)/(k-1)个结点。
具有n个结点的k叉树最小深度为[logk(n(k-1))]+1 。
二叉树
满二叉树、完全二叉树(从左向右排)
二叉树性质:
叶子结点个数为n0,n2个度为2的结点,则有n0=n2+1。
二叉树第i层最多有2i-1个结点。
深度为h的二叉树最多有2h-1个结点。
具有n个结点的完全二叉树深度为[log2(n)]+1。
对n个结点的完全二叉树自上而下且自左向右编号(0~n-1),则:
对任意一个编号为i的结点:若i=0,则编号为[(i-1)/2]的结点为其双亲结点。
若2i+1=n,则该结点无左孩子,否则,2i+1的结点为其左孩子结点。
若2i+2=n,则该结点无右孩子,否则,2i+2的结点为其右孩子结点。
若i为偶数,且i不为0,则其左兄弟为i-1。
若i为奇数,且i不为n-1,则其右兄弟为i+1。
i所在的层次为[log2(i+1)]+1。
树的表示:
(1)顺序表示:空间效率很低。
(2)链式表示
二叉树遍历
先序遍历、中序遍历、后序遍历的顺序。可以用栈实现非递归算法。
层序遍历:构造一个队列,先将根插入队列,从表头开始遍历,将遍历过的结点删除,把它的孩子加入队列,直到队列为空。
可以用中序遍历得到中缀表达式,后序遍历得到后缀表达式
Huffman树
WPL最小树
路径长度:根到所有叶子结点的路径长度之和。
带权路径长度(WPL):∑根到所有叶子结点的路径长度乘以叶子的权。
在Huffman树中,权值大的结点离根近。
Huffman树的构造:
给定一个具有权值的结点的集合。
取出两个权值最小的结点。
将这两个结点分别作为左右子树构造一棵树,其根结点的权值为左右子树权值之和。
把新树的根结点加入原集合中。
应用:最优编码。
定长编码,变长编码(解码不唯一),前缀编码。
平均编码长度:∑编码字节数×字符出现概率。
缺点:传播错误,无法差错和纠错。需要统计
您可能关注的文档
- 生物化学精品教学(河南科技大学)第04章糖代谢.ppt
- 生物化学精品教学(河南科技大学)第07章 脂类代谢 陈 5h.ppt
- 生物化学精品教学(河南科技大学)第02章 蛋白质的结构与功能.ppt
- 生物化学精品教学(河南科技大学)第08章 生物氧化 陈 3h.ppt
- 生物化学精品教学(河南科技大学)第10章 核苷酸代谢 陈 2h.ppt
- 生物化学精品教学(河南科技大学)第12章 物质代谢的整合与调节 1h.ppt
- 生物化学精品教学(河南科技大学)第11章 非营养物质代谢 陈 3h.ppt
- 生物化学精品教学(河南科技大学)第18章_基因表达调控.ppt
- 生物化学精品教学(河南科技大学)蛋白质生物合成.ppt
- 生物化学精品教学(河南科技大学)第20章_常用分子生物学技术的原理及其应用.ppt
文档评论(0)