数据结构是什么概念?数据结构是什么啊
本文目录
数据结构是什么概念
(一)什么是数据结构
数据结构是计算机存储、组织数据的方式。数据结构是指相互之间存在一种或多种特定关系的数据元素的集合。通常情况下,精心选择的数据结构可以带来更高的运行或者存储效率。数据结构往往同高效的检索算法和索引技术有关。
(二)为什么要了解数据结构
程序的性能瓶颈往往都跟算法和数据结构有关系,简单的说,可以让你程序跑的更快
(三)数据结构的逻辑结构
逻辑结构是指数据对象中数据元素之间的相互关系,分为以下四种:
(1)集合结构
集合结构的里面的元素关系是孤立的
(2)线性结构
线性结构里面的元素关系:一对一
(3)树形结构
树形结构里面的元素关系:一对多
(4)图结构
图结构里面的元素关系:多对多
(三)数据结构的物理结构
物理结构:是指数据的逻辑结构在计算机中的存储形式。存储结构有两种:
(1)顺序存储结构:
顺序存储结构:是把数据元素存放在地址连续的存储单元里,其数据间的逻辑关系和物理关系是一致的。
(2)链式存储结构
链式存储结构:是把数据元素存放在任意的存储单元里,这组存储单元可以是连续的,也可以是不连续的。
(四)编程语言里面常见的数据结构
数组(Array)
堆栈(Stack)
队列(Queue)
链表(Linked List)
树(Tree)
图(Graph)
堆(Heap)
散列表(Hash)
总结:
本文介绍了数据结构相关的一些概念及知识,只有理解了数据结构,才能够帮助我们更好的去设计算法和程序。
摘抄
数据结构是什么啊
数据结构是指相互之间存在着一种或多种关系的数据元素的集合和该集合中数据元素之间的关系组成。记为:数据结构Data_Structure=(D,R)其中D是数据元素的集合,R是该集合中所有元素之间的关系的有限集合。
数据结构是在整个计算机科学与技术领域上广泛被使用的术语。它用来反映一个数据的内部构成,即一个数据由那些成分数据构成,以什么方式构成,呈什么结构。
数据结构有逻辑上的数据结构和物理上的数据结构之分。逻辑上的数据结构反映成分数据之间的逻辑关系,而物理上的数据结构反映成分数据在计算机内部的存储安排。数据结构是数据存在的形式。
数据结构是信息的一种组织方式,其目的是为了提高算法的效率,它通常与一组算法的集合相对应,通过这组算法集合可以对数据结构中的数据进行某种操作。数据结构主要研究数据的各种逻辑结构和存储结构,以及对数据的各种操作。
因此,主要有三个方面的内容:数据的逻辑结构;数据的物理存储结构;对数据的操作(或算法)。通常,算法的设计取决于数据的逻辑结构,算法的实现取决于数据的物理存储结构。
扩展资料:
一、数据的逻辑结构:指反映数据元素之间的逻辑关系的数据结构,其中的逻辑关系是指数据元素之间的前后件关系,而与他们在计算机中的存储位置无关。
逻辑结构包括:
1、集合:数据结构中的元素之间除了“同属一个集合” 的相互关系外,别无其他关系;
2、线性结构:数据结构中的元素存在一对一的相互关系;
3、树形结构:数据结构中的元素存在一对多的相互关系;
4、图形结构:数据结构中的元素存在多对多的相互关系。
二、数据的物理结构:指数据的逻辑结构在计算机存储空间的存放形式。
数据的物理结构是数据结构在计算机中的表示(又称映像),它包括数据元素的机内表示和关系的机内表示。
由于具体实现的方法有顺序、链接、索引、散列等多种,所以,一种数据结构可表示成一种或多种存储结构。
数据元素的机内表示(映像方法): 用二进制位(bit)的位串表示数据元素。通常称这种位串为节点(node)。
当数据元素有若干个数据项组成时,位串中与个数据项对应的子位串称为数据域(data field)。因此,节点是数据元素的机内表示(或机内映像)。
关系的机内表示(映像方法):数据元素之间的关系的机内表示可以分为顺序映像和非顺序映像,常用两种存储结构:顺序存储结构和链式存储结构。
顺序映像借助元素在存储器中的相对位置来表示数据元素之间的逻辑关系。非顺序映像借助指示元素存储位置的指针(pointer)来表示数据元素之间的逻辑关系。
三、结构算法
算法的设计取决于数据(逻辑)结构,而算法的实现依赖于采用的存储结构。数据的存储结构实质上是它的逻辑结构在计算机存储器中的实现,为了全面的反映一个数据的逻辑结构,它在存储器中的映象包括两方面内容,即数据元素之间的信息和数据元素之间的关系。
不同数据结构有其相应的若干运算。数据的运算是在数据的逻辑结构上定义的操作算法,如检索、插入、删除、更新和排序等。
参考资料来源: 百度百科---数据结构
什么是数据结构
数据结构是计算机存储、组织数据的方式。数据结构是指相互之间存在一种或多种特定关系的数据元素的集合。通常情况下,精心选择的数据结构可以带来更高的运行或者存储效率。数据结构往往同高效的检索算法和索引技术有关。
更多文章:
cmd中copy怎么用(如何在CMD下把指定文件复制到指定文件夹内)
2024年3月22日 17:10
python方向选择(学会python可以有哪些就业方向天津python培训)
2024年9月26日 05:30
fdisk使用方法?fdisk 命令分区操作中,创建新分区的子命令是
2024年7月20日 01:55
curling溃疡怎么读(curling iron 怎么读)
2024年7月8日 17:17
pgc全球总决赛2021赛程(2021pgc全球总决赛MCG进的去嘛)
2024年6月30日 18:40
chromium安卓下载(安卓手机上推荐的三个浏览器,你安装了哪一个(2))
2024年7月16日 11:08
spyder和python一样吗(python和spyder的区别)
2024年8月15日 03:15
directions是什么意思中文(directions是什么意思)
2024年7月8日 00:29
python每秒并发2000个请求(高并发,用Python适合吗)
2023年11月14日 19:00
仓库管理系统java课程设计(java仓库管理系统的打印功能是怎么实现的)
2024年7月20日 11:02