什么是数据结构
说在前面的话
大学读的是信息与计算科学专业,醉于算法却不得精进,随之大二开了一门数据结构的课程,当时不觉得多么重要,现在每每不得解,总得拿出《数据结构》一本寻解!
当时课程用的《数据结构》是【严蔚敏、吴伟民】版,感觉是一本不可多得的好教材!
PS: 只有分析待处理对象的特性以及各处理对象之间存在的关系,才能写得一手好码!
数据结构定义
怎么来定义数据结构?其实至今也没有一个被公认的定义,各有所见,各有所解!
目前通用的定义:指相互之间存在一种或多种特定关系的数据元素的集合
基本结构
根据元素之间关系的不同特性,通常可将数据结构分为以下4种基本结构
1.集合
结构中的数据元素之间除了同属于一个集合外,别无其它关系,即称集合
数学中也有集合的概念,这里与数学中集合的概念一致
2.线性结构
结构中的元素存在一一对应的关系。
例如我们经常使用的,链表、数组、栈、队列都是属于线性结构
3.树形结构
结构中的数据元素之间存在一个对多个的关系
我们开发中常见的二叉树、平衡二叉树、查找树等,都属于树形结构
4.网状结构
结构中的数据元素之间存在多个对多个的关系
我们现在使用的互联网,就是一张巨大的多对多的网状结构