1.为什么要学习数据结构?

 随着计算机应用领域的不断扩大,非数值计算问题占据了当今计算机的绝大部分,简单的数据类型已经远远不能满足需要,各种数据元素之间的复杂干洗已经不能通过数学方程式所能表达的了,且无论是设计系软件还是应用软件都会用到各种复杂的数据结构。因此掌握好数据结构,对于提高解决实际问题能力将会有很大的帮助。

2.数据结构的相关概念?

数据:描述客观事物的数和字符的集合。从计算机角度看,数据是所有能输入到计算机中,且能够被计算机处理的符号的集合,它是计算机能操作的对象的总称,也是计算机处理信息的某种特定符号表示形式(例如,200902班学生数据就是该班全体学生记录的集合)。

SRE实战 互联网时代守护先锋,助力企业售后服务体系运筹帷幄!一键直达领取阿里云限量特价优惠。

数据元素:数据的基本单位(如每个学生记录就是一个数据元素)。

数据项:具有独立含义的最小数据单位。如学生的姓名,学号等。

3.数据结构包含的内容?

数据结构包括:逻辑结构(数据之间的逻辑关系),存储结构(数据在计算机存储器上的存储方式),数据运算(施加在数据上的运算)

4.数据结构的逻辑结构有?

 1)集合(除4数据元素同属于一个集合外,别无其他关系)

 2)线性结构(数据元素之间一对一关系)

 3)树形结构(数据元素之间一对多关系)

 4)图形结构(数据元素之间多对多关系)

5.数据结构的存储结构有?

 1)顺序存储结构

   该结构是把逻辑上相邻的节点存储在物理地址上相邻的存储单元,节点之间的逻辑关系由存储单元的邻接关系来体现。通常顺序存储结构借助于数组来描述。

   优点:节省存储空间,因为分配给数据的存储单元全用于存放节点的数据,节点之间的逻辑关系没有占用额外的存储空间。可以对节点进行随机存取。

   缺点:对节点的插入和删除效率低,可能需要移动一系列的节点。

 2)链式存储结构

   该结构不要求逻辑上相邻的节点在物理地址上也相邻,节点间的逻辑关系由附加的指针字段表示的。

     优点:便于修改,在进行插入和删除节点运算时,仅需要修改相应节点的指针域,不必移动节点。

   缺点:存储空间利用率低,因为分配给数据的存储单元有一部分用来存储节点之间的逻辑关系了。另外,由于逻辑上相邻的节点在存储空间上不一定相邻,所以不能对节点进行随机存取。

 3)索引存储结构

   该结构通常是存储节点信息的同时,还建立附加的索引表。这种带有索引表的存储结构可以大大提高数据的查找速度。

   优点:可以对节点进行随机访问,在进行插图和删除运算时,只需要移动索引表中对应节点的存储地址,而不必移动节点表中的节点的数据,所以仍保持较高的数据修改运算效率。

     缺点:索引存储方法的缺点是添加了索引表,因而降低了存储空间的利用率。

 4)散列(哈希)存储结构

    该结构的基本思想是根据节点的关键字通过哈希函数计算出一个值,并将改值作为该节点的存储地址。

    优点:查找速度快,只要给出待查找的关键字,就可以计算出该节点的存储地址。而与前3钟存储结构方法不同的是,哈希存储方法只存储节点的数据,不存储节点之间的逻辑关系。哈希存储方法一般只适用于对数据进行快速查找和插入的场合。

 

扫码关注我们
微信号:SRE实战
拒绝背锅 运筹帷幄