数据结构基础知识

目录

前言

一、数据结构是什么?

二、基本概念和术语

1、数据

2、数据的分类

1)按逻辑结构(数据元素之间的相互关系)分

2)按存储结构分

三、分析算法的优劣性

1、时间复杂度

2、空间复杂度

总结



前言

本文是有关数据结构的基础知识介绍,其在蓝桥杯以及各类面试活动中都占有重要的部分


一、数据结构是什么?

数据结构是一门研究非数值计算的程序设计问题中计算机的操作对象以及它们之间的关系和操作的学科。

二、基本概念和术语

重要概念:

  • 软件=程序+文档
  • 程序=数据结构+算法(尼古拉斯,沃斯)

1、数据

基本概念:是对客观事物的符号表示,在计算机科学中是指所有能输入到计算机中并被计算机程序处理的符号的总称

  • 数据项:数据的不可分割的最小单位
  • 数据元素:数据的基本单位,在计算机程序中通常作为一个整体来考虑和处理
  • 数据对象性质相同的数据元素的集合

三者之间的关系为:数据项∈数据元素⊆数据对象

2、数据的分类

1)按逻辑结构(数据元素之间的相互关系)分

  • 集合:元素之间除了同属于一个集合外无其他关系,具有互异性、无序性、确定性
  • 线性结构:数据元素之间一对一
  • 树形结构:数据元素之间存在一对多的关系
  • 图状/网状结构:数据元素之间存在多对多的关系

2)按存储结构分

  • 顺序存储(数组)

特点:逻辑上相邻的元素要求其物理位置相邻、随机存取(利用数组下标)

  • 链式存储(链表)

特点:逻辑上相邻的元素不一定物理位置相邻、顺序存取(沿指针查找)

三、分析算法的优劣性

语句频度:该语句在算法中重复执行的次数

1、时间复杂度

T(n)=O(f(n))

f(n)是算法中基本操作重复执行的次数(以重复次数最多的语句为准)所对应的函数

O\left ( 1 \right )<O\left ( \log _{2}n \right )<O\left ( n \right )<O\left ( n\log _{2}n \right )<O\left ( n^{2} \right )<O\left ( n^{3} \right )<O\left ( 2^{n} \right )

2、空间复杂度

S(n)=O(f(n))

f(n)由固定部分(如数组)+可变部分(如递归调用栈)组成


总结

本篇文章讲述了数据结构基础知识中最重要的几个部分,如果对你有帮助的话可以点赞收藏+关注哟~

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

自由的风.

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值