当前位置:   article > 正文

数据结构-总结_数据结构 讲解

数据结构 讲解

什么是数据结构

概述:(计算机存储、组织数据方式)

数据结构是计算机存储,组织数据的方式,数据结构是指相互之间存在一种或者多种特定关系的数据元素的集合,通常情况下,精心选择的数据结构可以带来更高的运行或存储效率.数据结构往往同高效的检索算法和索引技术有关,

数据结构有哪些

在这里插入图片描述

  • 1.集合:数据结构中的元素之间除了“同属一个集合” 的相互关系外,别无其他关系;
  • 2.线性结构:数据结构中的元素存在一对一的相互关系;
  • 3.树形结构:数据结构中的元素存在一对多的相互关系;
  • 4.图形结构:数据结构中的元素存在多对多的相互关系。

常用数据结构

  • 数组(Array)
  • 链表( Linked List)
  • 堆(Heap)
  • 栈( Stack)
  • 队列(Queue)
  • 树( Tree)
  • 图(Graph)
  • 散列表(Hash)
    在这里插入图片描述

常用数据结构-详解

数组(Array)

1.数组是相同数据类型的元素的集合。
2.数组中的各元素的存储是有先后顺序的,它们在内存中按照这个先后顺序连续存放在一起。
3.数组元素用整个数组的名字和它自己在数组中的顺序位置来表示。例如,a[0]表示名字为a的数组中的第一个元素,a[1]代表数组a的第二个元素,以此类推。

在这里插入图片描述

链表( Linked List)

链表是一种数据元素按照链式存储结构进行存储的数据结构,这种存储结构具有在物理上存在非连续的特点。链表由一系列数据结点构成,每个数据结点包括数据域和指针域两部分。其中,指针域保存了数据结构中下一个元素存放的地址。链表结构中数据元素的逻辑顺序是通过链表中的指针链接次序来实现的。

双向链表
在这里插入图片描述

堆(Heap)

待解释

栈( Stack)

在这里插入图片描述

栈是一种特殊的线性表,它只能在一个表的一个固定端进行数据结点的插入和删除操作。栈按照后进先出的原则来存储数据,也就是说,先插入的数据将被压入栈底,最后插入的数据在栈顶,读出数据时,从栈顶开始逐个读出。栈在汇编语言程序中,经常用于重要数据的现场保护。栈中没有数据时,称为空栈。

队列(Queue)

在这里插入图片描述

队列和栈类似,也是一种特殊的线性表。和栈不同的是,队列只允许在表的一端进行插入操作,而在另一端进行删除操作。一般来说,进行插入操作的一端称为队尾,进行删除操作的一端称为队头。队列中没有元素时,称为空队列

树( Tree)

树是典型的非线性结构,它是包括,2个结点的有穷集合K。在树结构中,有且仅有一个根结点,该结点没有前驱结点。在树结构中的其他结点都有且仅有一个前驱结点,而且可以有两个后继结点,m≥0。

详解

树的结构详解

图(Graph)

图是另一种非线性数据结构。在图结构中,数据结点一般称为顶点,而边是顶点的有序偶对。如果两个顶点之间存在一条边,那么就表示这两个顶点具有相邻关系。

散列表(Hash)

待解释

总结

在这里插入图片描述
我们常用的数据结构有,数组,链表,树,队列,栈.哈希表,等几种,
其中各有各的优缺点,在我们实际开发当中,应该结合实际应用场景,来选择具体的数据结构的集合.

  • 数组,因为是地址连续的,所以查找快,增删慢,每次增删都需要重新开辟空间,并赋值,
  • 链表,特点是,依靠 指针域来找到下一个元素,所以地址是不连续的,增删快,但查询慢.增删只需要将中间的指针断开,再重新指向新的节点地址就可以,
  • ,条件查找
  • 队列,特点是先进先出原则,就像排队一样,先排队的先处理,(两侧开口)
  • ,特点是压栈进入,弹栈执行,先进后出原则,就好比,手枪的子弹夹,先进的后出,后进的先出.(一侧开口)
  • 哈希表, 哈希表是数组和链表和树的整合版,
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/IT小白/article/detail/676007
推荐阅读
相关标签
  

闽ICP备14008679号