考研408数据结构 · 开端
Posted 有理想、有本领、有担当的有志青年
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了考研408数据结构 · 开端相关的知识,希望对你有一定的参考价值。
引言
数据结构在学什么
- 如何把问题信息化
- 场景:现在需要将1000本不同类型的书摆放到图书馆的书架上。
- 研究问题:采取什么办法摆放?
- 方法有:
① 不管不顾从头到尾一本一本放
② 按照图书类型分门别类地摆放
- 如何高效处理问题
- 在上一步摆放的基础上,如何摆放新的图书?
- 如何快速找到,并借走一本书?
- 如何快速找到位置。并归还一本书?
数据结构要求我们研究数据(如图书)之间的关系(如相同类型),找到一种方法存储数据,并能高效地对数据实现增删改查
对C语言掌握要求
- 分支(if/else)循环(for、while)
- 数组
- 函数
- 指针、地址
- struct结构体
数据结构三要素
逻辑结构
线性结构(一对一)
树形结构(一对多)
图结构(多对多)
数据运算
基于某种逻辑结构,定义基本运算
以线性结构为例:
增 在第i个位置插入新的数据元素
删 删除第i个位置的数据元素
改 修改第i个元素
查 查找是否存在某个数据元素等于指定值
存储结构
顺序存储: 用数组
链式存储: 用链表
索引存储: 引入索引表(关键字 | 地址 )
散列存储: 用哈希表
程序 = 数据结构 + 算法
什么是算法?
解决问题的步骤
评价算法
时间复杂度
- 只看最深一层中循环中某条语句执行次数
- 只看次数中n的最高阶数
只考虑最坏时间复杂度和平均时间复杂度
空间复杂度(考察频率相比较低)
- 只需关注与问题规模相关的变量
- 只看n的最高阶数
- 对于递归算法,一般情况下 空间复杂度 = 递归调用的深度
以上是关于考研408数据结构 · 开端的主要内容,如果未能解决你的问题,请参考以下文章
(王道408考研数据结构)第一章绪论-第一节:数据结构的基本概念三要素逻辑结构和物理结构
(王道408考研数据结构)第七章查找-第二节2:二分查找及其判定树