数据结构简答题

来源:互联网 发布:千手一族 知乎 编辑:程序博客网 时间:2024/05/20 11:49
/*
一、简答题




1、 数据结构主要包括哪三方面内容? 
 
  答:数据的逻辑结构、数据的存储结构、数据的运算。


2、什么是逻辑结构?什么是存储结构?两者有何关系?


   答:数据的逻辑结构是从逻辑关系上描述数据的,可以看作是从具体问题抽象出来的数学模型;
数据的存储结构是逻辑结构用计算机语言的实现或在计算机中的表示,是逻辑结构在计算机中的存储方式。


3、 顺序存储方式是如何表示数据元素之间的关系?其存储地址一定连续吗? 


   答:顺序存储结构是,把逻辑上相邻的节点存储在物理位置上相邻的存储单元里,节点间的逻辑关系由存储单元的邻接关系来体现。
其存储地址一定连续;


4、 链式存储方式是如何表示数据元素之间的关系?其存储地址一定连续吗? 


   答:链式存储结构,不要求逻辑上相邻的节点在物理位置上也相邻,节点间的逻辑关系由附加的指针字段表示。
其存储地址不一定连续。


5、 逻辑结构与具体计算机有关吗?存储结构呢? 


   答:逻辑结构与计算机实体无关,存储结构与计算机实体有关。


6、 算法与程序有何关联 ? 


   答:算法+数据结构=程序,算法是解题的方法,由程序设计语言描述的算法就是计算机程序。


7、 算法分析主要从哪些方面考虑?
 
   答:算法分析从两方面考虑:时间复杂度与空间复杂度。








第二章 线性表 


1、 线性结构的逻辑关系是什么? 


    答:节点之间存在一对一的关系,开始节点和终端节点都是唯一的,除了开始节点和终端节点以外,其余节点都有且仅有一个前驱,一个后继。


2、 顺序表是如何表示数据元素的逻辑关系的? 


    答:顺序表把线性表中所有元素按照其逻辑顺序依次存储到从计算机存储器中指定存储位置开始的一块连续的存储空间中。


3、单链表的操作特点是什么? 


    答:单链表每个节点除数据域外,只设置一个指针域,用以指向其后继节点。由于每个节点只包含有一个指向后继节点的指针,所以当访问过一个节点后,只能接着访问它的后继节点,而无法访问它的前驱结点。


4、 循环链表的操作特点是什么? 


    答:循环链表的特点是表中尾节点的指针域不再是空,而是指向头节点,整个链表形成一个环。因此,从表中任一节点出发,均可找到链表中其他节点。
5、  顺序表与链表比较各自的优缺点是什么?


     答:顺序表:存储密度大、存储空间利用率高;可以通过序号直接访问任何数据元素,可以随机存取;但插入和删除操作会引起大量元素的移动;
         链表:比顺序表存储密度小、存储空间利用率低;在逻辑上相邻的节点在物理上不必相邻,因此不可以随机存取,只能顺序存取;插入和删除操作方便灵活,不必移动节点,只需修改节点中的指针域即可。






二、带头结点的单链表有什么优点?举例说明。


答:对带头结点的链表,在表的任何结点之前插入结点或删除表中任何结点,所要做的都是修改前一结点的指针域,因为任何元素结点都有前驱结点。若链表没有头结点,则首元素结点没有前驱结点,在其前插入结点或删除该结点时操作会复杂些。




*/