本文主要是介绍程序员口中数据结构到底是什么?,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
一 什么是数据结构
对于合格的程序员必须要学习数据结构,那么到底什么是数据结构那,既然提了数据结构,那么就不得不提的算法,程序=数据结构+算法 ,这里的算法是广义的算法,既可以表示常规的算法,例如排序,查找等,另外业务逻辑也可以归为算法。
对于计算来说,只能识别0,1数字,那么不同0,1的组合组成了数据,数据是信息的符号表示,在计算机的世界里,所有的对象都可以数据化,除了更够表示常规的数据,符号,还可以表示图形,图像,音视频等。
数据的类型按照目前高级程序设计语言可以分为:基本数据类型和构造数据类型,其中基本数据类型有整数类型,浮点数,字符类型,布尔等 ,构造数据类型包含类,接口等引用类型。
二 数据结构的逻辑结构
数据的逻辑结构指的是数据之间的逻辑关系,是一种抽象的结构,方便根据不同的数据类型进行程序的设计,根据数据之间的不同的数学特性,数据结构可以分为二种:
- 线性结构
线性结构是最简单的数据类型,数据元素直接具有线性关系,每个元素都有一个前驱元素和一个直接后继元素,第一个元素没有前驱,最后一个元素没有后继,其中线性表,串,队列和栈都是线性结构
- 非线性结构
- 树 : 数据元素之间是具有层次关系的一种非线性结构,树中的元素成为结点,结点的类型分为:根节点,子节点(孩子结点),兄弟结点(同一个层次结点),其中windows文件系统的组织方式,家谱,组织架构,比赛晋级淘汰机制(16进8,8进4,4进2 ,决赛)都是树类型的具体体现,
- 图:元素有直接或者间接的关联,每个元素可能会有多个前驱元素和多个直接后继结点,常见的有交通线路图,每一个结点表示地点。
三 数据结构的物理结构(存储结构)
数据结构的物理结构是指数据元素在计算机的组织存储形式,逻辑结构是方便人们理解数据的抽象组织结构,与数据的存储无关,数据的物理结构是逻辑结构在内存的实现,完全依赖于硬件。
数据存储结构的基本结构有两种:
- 顺序存储结构
数据域
顺序存储结构是使用连续的内存单元依次存放数据元素,元素在内存中的物理存储顺序和他们的逻辑顺序相同,常用的数组就是这种存储结构,这种存储结构对于内存必须是连续的,容易造成内存的浪费,并且极易产生碎片。
- 链式存储结构
链式存储不需要连续的内存空间,因为对于结点来说,不仅记录了具体的元素数据,还有要给指针,指向了下一个元素的存储位置,相对来说对于内从的利用率高,
备注: 顺序和链式是两种最基本的数据存储类型,也是最常用的数据结构类型,初次之外,可以利用两种存储结构的组合,还可以实现更复杂的存储类型,例如Hash表等
这篇关于程序员口中数据结构到底是什么?的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!