data structure

本文概述了数据结构的概念,包括逻辑结构、物理结构及其关键数据类型,如集合、线性结构、树形结构和图形结构。同时,介绍了数组、链表、栈、队列、树(如二叉查找树、红黑树、AVL树)、堆、散列表等基本数据结构,以及它们的应用场景。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

介绍

数据结构是计算机存储、组织数据的方式。

主要可以从数据的 逻辑结构(集合、线性、树形、图形)、数据的 物理结构(顺序、链接、索引、散列)、数据结构的运算(增删查改遍历) 这三方面进行

研究。


基本数据结构

常见数据结构

数据结构既包含逻辑结构,也包含物理结构。研究的时候,二者缺一不可。



集合结构:

--------------------------------------------------------------------------------------------------------------------------------------------------------------------------

集合:集合这个概念只是表示逻辑结构,不包含物理结构。所有数据结构都有集合的特性。

容器:是用来存储和组织其他对象的对象。我个人觉得,理解为数据结构的OO实现比较合适。

数组:线性结构、顺序存储的一个典型。

关联数组:Key Value对(实际是索引存储结构,逻辑结构为集合结构)。可由二叉查找树、红黑树、Hash表等数据结构实现。

Multimap:Key 可以重复的 map(Key Value)。

集:在集中,数据项是无序的,也不允许存在相同数据项。集支持添加、删除和查找项目。
一些语言内建对集的支持,而在其它语言中,可以利用散列表实现集。(集合结构)

多重集:行为类似于集,其中数据项是无序的。但在多重集中,可以存在相同的数据项。(集合结构)

散列表:集合结构+散列存储。



线性结构

--------------------------------------------------------------------------------------------------------------------------------------------------------------------------

列表:列表是一种数据项构成的有限序列,即按照一定的线性顺序,排列而成的数据项的集合。
列表的两种主要表现是数组和链表,栈和队列是两种特殊类型的列表

链表:线性结构+顺序/链式存储

队列:线性结构+顺序/链式存储

栈:线性结构+顺序/链式存储

循环队列:线性结构+顺序/链式存储

跳跃列表


树形结构

--------------------------------------------------------------------------------------------------------------------------------------------------------------------------

树:



AVL树

堆:


图形结构

--------------------------------------------------------------------------------------------------------------------------------------------------------------------------

图:


二元决策图:











评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值