您所在位置: 网站首页 / 数据结构与算法个人总结.docx / 文档详情
数据结构与算法个人总结.docx 立即下载
2025-08-27
约1.5万字
约27页
0
26KB
举报 版权申诉
预览加载中,请您耐心等待几秒...

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

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

预览

免费试读已结束,剩余 22 页请下载文档后查看

10 金币

下载文档

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

数据结构与算法个人总结

第一篇:数据结构与算法个人总结数据结构与算法重点内容:排序运算的算法、检索运算的算法,本部分所占分值较高,在11分左右;考试点:数据顺序存储与链式存储、栈与队列的操作、二叉树的存储及遍历(或周游)、霍夫曼算法及其应用、各类排序算法;知识部分:1.数据结构的内容:数据的逻辑结构:分为线性结构和非线性结构数据的存储结构:是数据的逻辑结构在存储器里的实现;数据的运算:插入、删除、排序、查找等;2.数据的存储结构分为:顺序存储结构和链式存储结构。3.单链表与双链表的插入与删除这里不再赘述,百度一下吧!4.栈与队列的基本运算有:插入、删除、读取头元素到变量中,原栈或队列保持不变、判断是否为空、将栈或队列置为空5.串的基本运算有:链接、赋值、求长度、全等比较、求子串、求子串的位置及替换等。6.广义表:广义表是线性表的推广,也称列表。广义表的特点:广义表的元素可以使字表,且字表的元素还可以是字表;广义表可以被其他广义表所共享;广义表可以是递归的表,机本身的一个字表;7.多维数组与稀疏矩阵的存储比较复杂,请用百度查找相关内容,不再赘述;8.树:树并不重要,重要的知识点是二叉树,对树理解不透彻的同学,请用百度搜索。9.二叉树:二叉树的重点内容包括:二叉树的遍历:中序遍历、前序遍历、后续遍历;(重点考察)完全二叉树(定义):在一棵二叉树中,若最多只有最下面两层的节点数可小于2,且最下面一层的节点集中于最左边的位置,则称此二叉树为完全二叉树;树的先根次序周游对应于二叉树的前序周游(遍历),树的后根次序周游对应于二叉树的中序周游(遍历)10.二叉树的存储结构:链式存储结构与顺序存储结构。二叉树的链式存储:是指二叉树的各节点随机存储在内存空间中,节点之间的关系用指针标示;二叉树链表的节点包括三个:左指针,数据域,右指针;其中左指针指向左子节点,有指针指向右子节点;也可以是指一个父指针(parent)用于指向父节点;二叉树链表的重要知识点:一个n节点的二叉树链表,有n+1个空指针域;二叉树的顺序存储:二叉树的顺序存储就是按一定的次序,用一组地址连续的存储单元存储二叉树的节点元素;完全二叉树的顺序存储的性质:用数组A[1….n]顺序存储完全二叉树的各节点,则当i>0,且i0且I节点的路径长度:从根节点到该节点的路径上分支的数目;树的路径长度:树中所有的节点的路径长度之和;哈夫曼树:在有n个叶子节点,并带有相同权值的二叉树中,必定存在一个二叉树,使其带权路径长度最短,这样的二叉树被称为“最优二叉树”或“哈夫曼树”如下图:12.排序算法:常考的排序算法有:插入排序、冒泡排序、选择排序、快速排序、堆排序插入排序:首先先建立一个空列表,然后放入一些已排序的有序数列(自定),然后然后从原列表中取出一个数,并放入新列表,仍使新列表保持有序;重复这个动作直到原列表为空;冒泡排序:顾名思义,就像冒泡一样(可以从小到大,也可以从大到小),大的升上去,小的降下来。首先将所有元素放入工作列表中,从列表的第一位数字到倒数第二位数字,逐个比较一个数和它的下一位,如果这个数大于它的下一位,则将它和它的下一位交换,重复该步骤,直到不能交换选择排序:设数组中存储了n个待排序数字,从数组中找到最小值和最大值分别放在数组的最左边和最右端,然后选出次小值和次大值放到左数第二位和右数第二位,……,最后建立完整的顺序;快速排序:这是一种高效排序方法:实践证明,快速排序是所有排序算法中最高效的一种。它采用了分治的思想:先保证列表的前半部分都小于后半部分,然后分别对前半部分和后半部分排序,这样整个列表就有序了。这是一种先进的思想,也是它高效的原因。因为在排序算法中,算法的高效与否与列表中数字间的比较次数有直接的关系,而“保证列表的前半部分都小于后半部分”就使得前半部分的任何一个数从此以后都不再跟后半部分的数进行比较了,大大减少了数字间不必要的比较。但查找数据得另当别论了。堆排序:与前面的算法都不同,它是这样的:首先新建一个空列表,作用与插入排序中的“有序列表”相同。找到数列中最大的数字,将其加在“有序列表”的末尾,并将其从原数列中删除。重复2号步骤,直至原数列为空。堆排序的平均时间复杂度为nlogn,效率高(因为有堆这种数据结构以及它奇妙的特征,使得“找到数列中最大的数字”这样的操作只需要O(1)的时间复杂度,维护需要logn的时间复杂度),但是实现相对复杂(可以说是这里7种算法中比较难实现的)。看起来似乎堆排序与插入排序有些相像,但他们其实是本质不同的算法。至少,他们的时间复杂度差了一个数量级,一个是平方级的,一个是对数级的。算法的时间复杂度:平均时间复杂度插入排序O(n2)冒泡排序O(n2)选择排序O(n2)快速排序O(nlogn)堆排序O(nlogn)归并排序O(nlo
查看更多
单篇购买
VIP会员(1亿+VIP文档免费下)

扫码即表示接受《下载须知》

数据结构与算法个人总结

文档大小:26KB

限时特价:扫码查看

• 请登录后再进行扫码购买
• 使用微信/支付宝扫码注册及付费下载,详阅 用户协议 隐私政策
• 如已在其他页面进行付款,请刷新当前页面重试
• 付费购买成功后,此文档可永久免费下载
全场最划算
12个月
199.0
¥360.0
限时特惠
3个月
69.9
¥90.0
新人专享
1个月
19.9
¥30.0
24个月
398.0
¥720.0
6个月会员
139.9
¥180.0

6亿VIP文档任选,共次下载特权。

已优惠

微信/支付宝扫码完成支付,可开具发票

VIP尽享专属权益

VIP文档免费下载

赠送VIP文档免费下载次数

阅读免打扰

去除文档详情页间广告

专属身份标识

尊贵的VIP专属身份标识

高级客服

一对一高级客服服务

多端互通

电脑端/手机端权益通用