数据结构(王道计算机考研笔记)

本文深入探讨了数据结构中的线性表概念,包括顺序表和链表的定义、操作以及实现。重点讲述了顺序表的动态分配、初始化、插入、删除和查找操作,分析了时间复杂度。此外,还介绍了单链表的结构、插入、删除、查找以及建立方法,对比了顺序表和链表的优劣。文章最后讨论了双链表和循环链表,以及静态链表的特点和应用场景。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、数据结构概念:

对数据之间的关系的结构类型进行总结归纳。

学好这门课,让我们成为信息革命的参与者。

名词解析:

数据项:您申请一个微博账号,其中姓名,性别这些就是数据项

组合项:您账号的生日是由年月日组成,年月日就是组合项

数据元素:由n个数据项组成的集合

 ​​​​​​​

 何为结构呢?

 

 

就你去设计一个数据库的时候,你需要考虑的就是运用什么逻辑结构设计这个数据库

比如你使用了线性结构,然后就要考虑线性结构的存储结构是什么,有顺序,链式,索引以及散列。

⭐️考点:从逻辑上可以把数据结构分成线性结构和非线性结构

 

 

数据元素之间的物理关系是什么?

 

 

🌟考点:清楚存储结构有两大类,顺序存储与非顺序(链式、索引、散列)

 

三大结构:

1、线性结构 

2、树型结构 

3、圆型结构 

两大操作:

查找操作 

排序操作 

课后习题

 

二、算法的基本概念

🌟考点:

算法的特性

1、输入输出:可以没有输入,至少一个输出

2、有穷:有限的步骤完成

3、确定:无二义

4、可行:每一步可行

设计算法的要求

1、正确

2、可读性

3、健壮

4、高时效低存储

 

 三、算法的效率如何度量之时间复杂度

 

 

时间复杂度的计算方法是这样的

把代码行用数字标记,然后看每一行的代码会执行几次,最后把每一行执行的次数相加/

最后您可以把计算的这个程序的时间复杂度进行一个总结成一个公式并且化简。

不同的问题公式不同。

您观察以下式子,每个公后面的列对总体计算结构影响可以忽略不计。

甚至连n项前面的k值也可以忽略不计。

当n值趋近于无穷的时候,两个同阶的公式之比为常数。

加法规则:比如o^2+o,那么就保留o^2即可。

乘法规则:如果是两个式子相乘,那么就都保留。

举个例子,如果o^3+o^2log2n,这是加法规则,该保留哪位呢?

 这张图需要背下来

 

 

 

 

算法的效率如何度量之空间复杂度

 

 

 

课后习题:

 

 

四、线性表的定义和基本操作

线性结构也可以默认是线性表

线性结构=(D,R,O) D:数据集 R:关系/结构 O:操作

线性结构也可以看成是线性表,线性表包括数据之间的物理结构中的线性存储、链式存储、索引存储、散列(暂时不要求掌握)

如果我们要设计若干个班长候选人选票信息,那么我们需要设计数据类型和存储结构

现在我们来看第一种线性结构 顺序表

ElemType 数据类型的意思 

SqList是什么?

这里静态动态SeqList和SqList只是这个结构体的名字。在main函数中起一个声明线性表的作用。

 

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值