当前位置:   article > 正文

数据结构概述(逻辑结构与存储结构概念详解)_逻辑结构和存储结构

逻辑结构和存储结构

目录

一.一些基本概念

二.逻辑结构

1.集合结构:

2.线性结构:

1)线性表:

2)栈

3)队列

4)串

3.非线性结构:

1)数组

2)广义表

3)树

4)堆

5)图

三.物理结构/存储结构

1.顺序结构:

2.链式结构:

3.索引结构:


数据结构就是研究数据的逻辑结构和物理结构以及它们之间的相互关系,并对这种结构定义相应的运算,且确保经过这些运算后所得到的新结构仍然是原来的结构类型。简单来说,就是计算机存储、组织数据的方式。

一.一些基本概念

程序=数据结构+算法;同一逻辑结构可以对应不同的存储结构,算法的设计取决于数据的逻辑结构,算法的实现依赖于指定的存储结构。

数据:所有能被输入到计算机中,且能被计算机处理的符号的集合。是计算机操作的对象的总称;
数据元素:数据(集合)中的一个“个体”,数据及结构中讨论的基本单位;
数据项:数据的不可分割的最小单位。一个数据元素可由若干个数据项组成;
数据类型:在一种程序设计语言中,变量所具有的数据种类。整型、浮点型、字符型等等。

二.逻辑结构

反映数据元素之间的逻辑关系。

1.集合结构:

数据元素除了同属一个集合外,它们之间没有任何关系。

2.线性结构:

若结构是非空集,则有且仅有一个开始结点和一个终端结点,并且所有结点都最多只有一个直接前趋和一个直接后继。简单地说,就是数据之间是一对一的关系。有线性表、栈、堆、队列、串等。

1)线性表:

是n个具有相同特性的数据元素的有限序列;

数据元素之间一对一的关系,除了首尾数据元素外,其它数据元素都是首位相接的;

线性指逻辑层次上的线性,不考虑存储层次,双向链表和循环链表也是线性表;

单向链表:除了首尾数据元素外,其它数据元素都是首位相接的。

å¨è¿éæå¥å¾çæè¿°

双向链表:由节点组成,每个数据结点中都有两个指针,分别指向直接后继和直接前驱。

循环单链表:把单链表改为循环单链表的过程是将它的尾结点next指针域由原来为空改为指向头结点,整个单链表形成一个环。由此,从表中任一结点出发均可找到链表中的其他结点。

å¨è¿éæå¥å¾çæè¿°

循环双链表:把双链表改为循环双链表的过程是将它的尾结点next指针域由原来为空改为指向头结点,将它的头结点prior指针域改为指向尾结点,整个双链表形成两个环。

å¨è¿éæå¥å¾çæè¿°

线性表-双链表&循环链表(Ⅳ)_—Miss. Z—的博客-CSDN博客

2)栈

栈只能从表的一端存取数据,另一端是封闭的;

在栈中存/取数据,必须遵循“先进后出”原则,即最先进栈的元素最后出栈;

<
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/IT小白/article/detail/716260
推荐阅读
相关标签
  

闽ICP备14008679号