- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
数据结构心得体会
【篇一:数据结构学习总结】
数据结构学习总结
通过一学期对《数据结构与算法》的学习,大体的认识了基本的数据结构和相应的一些算法。下面总结一下自己一个学期学习的收获和心得。 数据结构是什么:
数据结构是计算机存储、组织数据的方式。数据结构是指相互之间存在一种或多种特定关系的数据元素的会合。往常情况下,精心选择的数据结构能够带来更高的运行或许存储效率。数据结构往往同高效的检索算法和索引技术相关。 数据结构重要性:
一般认为,一个数据结构是由数据元素依据某种逻辑联系组织起来的。对数据元素间逻辑关系的描绘称为数据的逻辑结构;数据必须在计算机内存储,数据的存储结构是数据结构的实现形式,是其在计算机内的表示;别的议论一个数据结构必须同时议论在该类数据上履行的运算才存心义。一个逻辑数据结构能够有多种存储结构,且各样存储结构影响数据办理的效率。在很多种类的程序的设计中,数据结构的选择是一个基本的设计考虑因素。很多大型系统的结构经验表示,系统实现的困难程度和系统结构的质量都严重的依靠于是否选择了最优的数据结构。很多时候,确定了数据结构后,算法就容易得到了。有些时候事情也会反过来,我们根据特定算法来选择数据结构与之适应。不论哪一种情况,选择合适的数据结构都是特别重要的。选择了数据结构,算法也随之确定,是数据而不是算法是系统结构的重点因素。这种洞见致使了很多种软件设计方法和程序设计语言的出现,面向对象的程序设计语言就是其中之一。
常有的数据结构:
次序表:
定义:次序表是在计算机内存中以数组的形式保留的线性表,是指用
一组地点连续的存储单元依次存储数据元素的线性结构。线性表采用次序存储的方式存储就称之为次序表。次序表是将表中的结点依次寄存在计算机内存中一组地点连续的存储单元中。
基本运算:
置表空: sqlsetnull ( l)判表满: sqlempty (l)
求表长: sqllength(l) 插入: sqlinsert ( l,i,x ) 按次号取元素:
sqlget (l,i ) 删除: sqldelete(l,i)
按值查找: sqllocate(l,x)
链表
定义:链表是一种物理存储单元上非连续、非次序的存储结构,数据元素的逻辑次序是通过链表中的指针链接序次实现的。链表由一系列结点(链表中每一个元素称为结点)组成,结点能够在运行时动向生成。每个结点包括两个部分:一个是存储数据元素的数据域,
另一个是存储下一个结点地点的指针域。 相比于线性表次序结构,链表比较方便插入和删除操作。 分类:单链表 —用一组地点任意的存储单元寄存线性表中的数据元素。
循环链表 — 循环链表是另一种形式的链式存贮结构。它的特点是表中最后一个结点的指针域指向头结点,整个链表形成一个环。
基本运算:成立链表,插入节点,删除节点。
3.
堆栈
定义:堆栈都是一种数据项按次排列的数据结构,只能在一端
栈顶 (top)) 对数据项进行插入和删除。要点:堆:次序任意栈:后进
先出 (last-in/first-out) 。
基本算法:
置空栈: initstack ( s )判栈空: stackempty (s)
判栈满: stackfull ( s )取栈顶元素: gettop (s )
(称为
入栈: push (s) 出栈: pop(s)
4. 行列
定义:行列是一种特殊的线性表,它只允许在表的前端( front )进行删除操作,而在表的后端( rear )进行插入操作。进行插入操作的端称为队尾,进行删除操作的端称为队头。行列中没有元素时,称
为空行列。在行列这种数据结构中,最先插入的元素将是最先被删除的元素;反之最后插入的元素将最后被删除的元素,因此行列又称为 “先进先出 ”(fifo — first in first out )的线性表。
分类:次序行列;链队;
基本运算:初始化行列 qini (q) 入队 qadd(q,x)
出队 qdel(q,x) 判断行列是否为 qempty(q)
判断行列是否为满 qfull(q)
特殊矩阵
分类:对阵矩阵;三角矩阵;稀疏矩阵;
二叉树
定义:二叉树是每个节点最多有两个子树的有序树。往常子树被称
作“左子树 ”(left subtree )和 “右子树 ”( right subtree
)。二叉树
的每个结点至多只有二棵子树 (不存在度大于
2 的结点 ),二叉树的子
树有左右之分,序次不能颠倒。二叉树的第
i 层至多有
2 的 i -1 次方
个结点;深度为 k 的二叉树至多有 2^(k) -1
个结点;对任何一棵二
叉树 t ,如果其终端结点数 (即叶子结点数 )为 n0 ,度为
2 的结点数为
n2 ,则 n0 = n2 + 1 。
完全二叉树 —— 若设二叉树的高度为
原创力文档


文档评论(0)