1 / 5
文档名称:

数据结构学习总结.doc

格式:doc   页数:5页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

数据结构学习总结.doc

上传人:xxj16588 2016/5/16 文件大小:0 KB

下载得到文件列表

数据结构学习总结.doc

文档介绍

文档介绍:数据结构学****总结通过一学期对《数据结构与算法》的学****大概的了解了基本的数据结构和相应的一些算法。下面总结一下自己一个学期学****的收获和心得。数据结构是什么: 数据结构是计算机存储、组织数据的方式。数据结构是指相互之间存在一种或多种特定关系的数据元素的集合。通常情况下,精心选择的数据结构可以带来更高的运行或者存储效率。数据结构往往同高效的检索算法和索引技术有关。数据结构重要性: 一般认为,一个数据结构是由数据元素依据某种逻辑联系组织起来的。对数据元素间逻辑关系的描述称为数据的逻辑结构;数据必须在计算机内存储,数据的存储结构是数据结构的实现形式,是其在计算机内的表示;此外讨论一个数据结构必须同时讨论在该类数据上执行的运算才有意义。一个逻辑数据结构可以有多种存储结构,且各种存储结构影响数据处理的效率。在许多类型的程序的设计中, 数据结构的选择是一个基本的设计考虑因素。许多大型系统的构造经验表明,系统实现的困难程度和系统构造的质量都严重的依赖于是否选择了最优的数据结构。许多时候,确定了数据结构后,算法就容易得到了。有些时候事情也会反过来,我们根据特定算法来选择数据结构与之适应。不论哪种情况,选择合适的数据结构都是非常重要的。选择了数据结构,算法也随之确定,是数据而不是算法是系统构造的关键因素。这种洞见导致了许多种软件设计方法和程序设计语言的出现,面向对象的程序设计语言就是其中之一。常见的数据结构: 1. 顺序表: 定义:顺序表是在计算机内存中以数组的形式保存的线性表,是指用一组地址连续的存储单元依次存储数据元素的线性结构。线性表采用顺序存储的方式存储就称之为顺序表。顺序表是将表中的结点依次存放在计算机内存中一组地址连续的存储单元中。基本运算: 置表空: Sqlsetnull (L)判表满: Sqlempty (L) 求表长: Sqllength(L) 插入: Sqlinsert ( L,i,x ) 按序号取元素: Sqlget ( L,i)删除: Sqldelete(L,i) 按值查找: Sqllocate(L,x) :链表是一种物理存储单元上非连续、非顺序的存储结构,数据元素的逻辑顺序是通过链表中的指针链接次序实现的。链表由一系列结点(链表中每一个元素称为结点)组成,结点可以在运行时动态生成。每个结点包括两个部分:一个是存储数据元素的数据域,另一个是存储下一个结点地址的指针域。相比于线性表顺序结构,链表比较方便插入和删除操作。分类:单链表—用一组地址任意的存储单元存放线性表中的数据元素。循环链表—循环链表是另一种形式的链式存贮结构。它的特点是表中最后一个结点的指针域指向头结点,整个链表形成一个环。基本运算:建立链表,插入节点,删除节点。 :堆栈都是一种数据项按序排列的数据结构,只能在一端( 称为栈顶(top)) 对数据项进行插入和删除。要点:堆:顺序随意栈:后进先出(Last-In/First-Out) 。基本算法: 置空栈: InitStack (S)判栈空: StackEmpty (S) 判栈满: StackFull (S)取栈顶元素: GetTop (S) 入栈: Push (S)出栈: Pop(S) :队列是一种特殊的线性表,它只允许在表的前端( front )进行删除操作,而在表的后端( rear )进行插入操