ImageVerifierCode 换一换
格式:DOCX , 页数:3 ,大小:68.71KB ,
资源ID:2650392      下载积分:20 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.docduoduo.com/d-2650392.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录   微博登录 

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(数据结构与算法个人总结.docx)为本站会员(dzzj200808)主动上传,道客多多仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知道客多多(发送邮件至docduoduo@163.com或直接QQ联系客服),我们立即给予删除!

数据结构与算法个人总结.docx

1、数据结构与算法重点内容:排序运算的算法、检索运算的算法,本部分所占分值较高,在 11 分左右;考试点:数据顺序存储与链式存储、栈与队列的操作、二叉树的存储及遍历(或周游) 、霍夫曼算法及其应用、各类排序算法;知识部分:1. 数据结构的内容:数据的逻辑结构:分为线性结构和非线性结构数据的存储结构: 是数据的逻辑结构在存储器里的实现;数据的运算:插入、删除、排序、查找等;2. 数据的存储结构分为:顺序存储结构和链式存储结构。3. 单链表与双链表的插入与删除这里不再赘述,百度一下吧!4. 栈与队列的基本运算有:插入、删除、读取头元素到变量中,原栈或队列保持不变、判断是否为空、将栈或队列置为空5. 串

2、的基本运算有:链接、赋值、求长度、全等比较、求子串、求子串的位置及替换等。6. 广义表:广义表是线性表的推广,也称列表。广义表的特点:广义表的元素可以使字表,且字表的元素还可以是字表;广义表可以被其他广义表所共享;广义表可以是递归的表,机本身的一个字表;7. 多维数组与稀疏矩阵的存储比较复杂,请用百度查找相关内容,不再赘述;8. 树:树并不重要,重要的知识点是二叉树,对树理解不透彻的同学,请用百度搜索。9. 二叉树:二叉树的重点内容包括:二叉树的遍历:中序遍历、前序遍历、后续遍历;(重点考察)完全二叉树(定义):在一棵二叉树中,若最多只有最下面两层的节点数可小于 2,且最下面一层的节点集中于最

3、左边的位置,则称此二叉树为完全二叉树;树的先根次序周游对应于二叉树的前序周游(遍历) ,树的后根次序周游对应于二叉树的中序周游(遍历)10. 二叉树的存储结构:链式存储结构与顺序存储结构。二叉树的链式存储:是指二叉树的各节点随机存储在内存空间中,节点之间的关系用指针标示;二叉树链表的节点包括三个:左指针,数据域,右指针;其中左指针指向左子节点,有指针指向右子节点;也可以是指一个父指针(parent)用于指向父节点;二叉树链表的重要知识点:一个 n 节点的二叉树链表,有 n+1 个空指针域;二叉树的顺序存储:二叉树的顺序存储就是按一定的次序,用一组地址连续的存储单元存储二叉树的节点元素;完全二叉

4、树的顺序存储的性质:用数组 A1.n顺序存储完全二叉树的各节点,则当 i0,且 i0 且 I=n/2,节点 i 的左子女节点是 2i,否则没有!11. 哈夫曼树:基本定义术语:节点的路径长度:从根节点到该节点的路径上分支的数目;树的路径长度:树中所有的节点的路径长度之和;哈夫曼树:在有 n 个叶子节点,并带有相同权值的二叉树中 ,必定存在一个二叉树,使其带权路径长度最短,这样的二叉树被称为“最优二叉树”或“哈夫曼树” 如下图:12. 排序算法:常考的排序算法有:插入排序、冒泡排序、选择排序、快速排序、堆排序插入排序: 首先先建立一个空列表,然后放入一些已排序的有序数列(自定) ,然后然后从原列

5、表中取出一个数,并放入新列表,仍使新列表保持有序;重复这个动作直到原列表为空;冒泡排序:顾名思义,就像冒泡一样(可以从小到大,也可以从大到小) ,大的升上去,小的降下来。首先将所有元素放入工作列表中,从列表的第一位数字到倒数第二位数字,逐个比较一个数和它的下一位,如果这个数大于它的下一位,则将它和它的下一位交换,重复该 步骤,直到不能交换选择排序:设数组中存储了 n 个待排序数字,从数组中找到最小值和最大值分别放在数组的最左边和最右端,然后选出次小值和次大值放到左数第二位和右数第二位,最后建立完整的顺序;快速排序:这是一种高效排序方法:实践证明,快速排序是所有排序算法中最高效的一种。它采用了分

6、治的思想:先保证列表的前半部分都小于后半部分,然后分别对前半部分和后半部分排序,这样整个列表就有序了。这是一种先进的思想,也是它高效的原因。因为在排序算法中,算法的高效与否与列表中数字间的比较次数有直接的关系,而“保证列表的前半部分都小于后半部分 “就使得前半部分的任何一个数从此以后都不再跟后半部分的数进行比较了,大大减少了数字间不必要的比较。但查找数据得另当别论了。堆排序:与前面的算法都不同,它是这样的: 首先新建一个空列表,作用与插入排序中的“有序列表“相同。 找到数列中最大的数字,将其加在“有序列表“的末尾,并将其从原数列中删除。 重复 2 号步骤,直至原数列为空。 堆排序的平均时间复杂

7、度为 nlogn,效率高(因为有堆这种数据结构以及它奇妙的特征,使得“找到数列中最大的数字“这样的操作只需要 O(1)的时间复杂度,维护需要 logn 的时间复杂度),但是实现相对复杂(可以说是这里 7 种算法中比较难实现的)。 看起来似乎堆排序与插入排序有些相像,但他们其实是本质不同的算法。至少,他们的时间复杂度差了一个数量级,一个是平方级的,一个是对数级的。算法的时间复杂度:平均时间复杂度 插入排序 O(n2) 冒泡排序 O(n2) 选择排序 O(n2) 快速排序 O(n log n) 堆排序 O(n log n) 归并排序 O(n log n) 基数排序 O(n) 希尔排序 O(n1.25)

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报