- 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)