目录
前言
本文是有关数据结构的基础知识介绍,其在蓝桥杯以及各类面试活动中都占有重要的部分
一、数据结构是什么?
数据结构是一门研究非数值计算的程序设计问题中计算机的操作对象以及它们之间的关系和操作的学科。
二、基本概念和术语
重要概念:
- 软件=程序+文档
- 程序=数据结构+算法(尼古拉斯,沃斯)
1、数据
基本概念:是对客观事物的符号表示,在计算机科学中是指所有能输入到计算机中并被计算机程序处理的符号的总称
数据项:数据的不可分割的最小单位
数据元素:数据的基本单位,在计算机程序中通常作为一个整体来考虑和处理
数据对象:性质相同的数据元素的集合
三者之间的关系为:数据项∈数据元素⊆数据对象
2、数据的分类
1)按逻辑结构(数据元素之间的相互关系)分
- 集合:元素之间除了同属于一个集合外无其他关系,具有互异性、无序性、确定性
- 线性结构:数据元素之间一对一
- 树形结构:数据元素之间存在一对多的关系
- 图状/网状结构:数据元素之间存在多对多的关系
2)按存储结构分
- 顺序存储(数组)
特点:逻辑上相邻的元素要求其物理位置相邻、随机存取(利用数组下标)
- 链式存储(链表)
特点:逻辑上相邻的元素不一定物理位置相邻、顺序存取(沿指针查找)
三、分析算法的优劣性
语句频度:该语句在算法中重复执行的次数
1、时间复杂度
T(n)=O(f(n))
f(n)是算法中基本操作重复执行的次数(以重复次数最多的语句为准)所对应的函数
2、空间复杂度
S(n)=O(f(n))
f(n)由固定部分(如数组)+可变部分(如递归调用栈)组成
总结
本篇文章讲述了数据结构基础知识中最重要的几个部分,如果对你有帮助的话可以点赞收藏+关注哟~