数据结构概述
数据结构(Data Structure是一门和计算机硬件与软件都密切相关的学科,它的研究重点是在计算机的程序设计领域中探讨如何在计算机中组织和存储数据并进行高效率的运用,涉及的内容包含:数据的逻辑关系、数据的存储结构、排序算法(Algorithm)、查找(或搜索)等。
数据结构与算法的理解
程序能否快速而高效地完成预定的任务,取决于是否选对了数据结构,而程序是否能清楚而正确地把问题解决,则取决于算法。
所以大家认为:“Algorithms + Data Structures = Programs”(出自:Pascal之父Nicklaus Wirth)
总结:算法是为了解决实际问题而设计的,数据结构是算法需要处理的问题载体。
数据结构的研究对象
数据间的逻辑结构
![image.png](https://cdn.nlark.com/yuque/0/2022/png/26679055/1647785743597-5313ae59-4bcc-480c-a461-25850d909cc5.png#clientId=uf656e89c-e4bc-4&crop=0&crop=0&crop=1&crop=1&from=paste&height=205&id=u8c961760&margin=%5Bobject%20Object%5D&name=image.png&originHeight=307&originWidth=420&originalType=binary&ratio=1&rotation=0&showTitle=true&size=58224&status=done&style=none&taskId=ue2a7373c-90b3-40a9-a0eb-a53d6a71e3f&title=%E5%A4%9A%E5%AF%B9%E5%A4%9A%EF%BC%9A%E5%9B%BE%E5%BD%A2%E7%BB%93%E6%9E%84&width=280 "多对多:图形结构")
数据的存储结构
线性表(顺序表、链表、栈、队列)
树
图
说明: 习惯上把顺序表和链表看做基本数据结构(或真实数据结构)
习惯上把栈、队列、树、图看做抽象数据类型,简称ADT
使用详情见思维导图:数据结构概述-Java版.xmind