IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 数据结构与算法 -> 二、考研数据结构笔记——绪论(理解数据结构,算法,时间复杂度计算做题技巧) -> 正文阅读

[数据结构与算法]二、考研数据结构笔记——绪论(理解数据结构,算法,时间复杂度计算做题技巧)

一、数据结构基本概念

1、数据:数据是信息的载体。客观事物的一种表现形式。万事万物都能用数据表示出来。

2、数据元素:数据元素是数据的基本单位,一个数据元素有若干个数据项组成

3、数据项:构成数据元素的不可分割的最小单元

理解:学java的可以这么理解,学生就是一个类,一个类里面有很多属性,比如学号,姓名和性别。
学生 = 类 = 数据元素
学号,姓名,性别=数据项。一个学生有多个数据项(学号,性别等等等)结合这个再读一遍概念就理解了.

4、数据对象:是具有相同性质的数据元素的集合,是数据对象的一个子集

理解,就是多个学生,多个相同的类 ,就是数据对象。

5、数据类型:是一个值的集合和定义在此集合上的一组操作的总称。主要分为:

  • 原子类型:值不能再分。如int bool 等。
  • 结构类型:值可以分解为若干个成分的数据类型。比如一个类,或者一个结构体
  • 抽象数据类型:就是数据组织与之相关操作。

6、数据结构:相互之间存在一种或多种特定关系的数据元素的集合。主要包括三个方面:逻辑结构存储结构数据的运算。也就ADT。

理解:现在有很多数据元素(学生),我们要把这些数据元素(学生)的关系的逻辑结构(三角恋关系,谈恋爱关系,各种抽象的关系),存储结构(在班里是怎么坐座位的)和如何运算(对学生进行删除,查找,添加等)结合在一起就形成了数据结构。也就是讲数据结构,不仅有数据,而且还要有数据之间的关系以及数据怎么存的方式结合起来

二、数据结构三要素

上面已经有数据结构概念,三要素就是对概念进行提炼。三要素包括:逻辑结构存储结构数据运算

  • 逻辑结构:考试一般就两种线性结构非线性结构。其中后面学的前几章都是线性结构(线性表,栈,队列,串,数组,广义表)。再往后都是非线性结构(树,图)
  • 存储结构:考试一般重点分为顺序存储链式存储。还有一些别的索引和散列。
  • 数据运算:主要针对逻辑结构。说白了,就是增删查
  • 总结:我们后面学的章节的开头,如,线性表,栈,队列,树,图都是学逻辑结构而每个逻辑结构里面都有顺序存储方式和链式存储方式。这是理解数据结构的一条线。

三、算法

1、算法概念

对特定问题的求解步骤描述,指令是有限序列,主要有5个特征:

  • 有穷性:步数和时间是有限的,不能没完没了。不能等人没了还没算出来。
  • 确定性:每条指令都必须有含义,不能没意义。
  • 可行性:对问题的描述能够转换为基本运算。
  • 输入:有零个或多个输入。
  • 输出:有一个或多个输出。

2、算法评价标准

一个好算法需要具备下面特点:

  • 确定性:正确的解决问题
  • 可读性:可以是伪代码,能读懂就OK。
  • 健壮性:对特殊问题能进行处理,不能老报错。
  • 效率和低存储量:时间要快,空间利用的要尽量小。也就是后面大家比较头疼的时间复杂度和空间复杂度。

3、时间复杂度

这个考试经常考,就是要用O(n)数量级把一个算法效率表示出来。

  • 注意几点:
    • 取较高的阶数,小的忽略
      O(1) < O(logn) < O(n) < O(nlogn) < O(n2) < O(n的三次方) < O(2的n次方) < O(n!) < O(n的n次方)
      口诀常对幂指阶

4、时间复杂度做题技巧

其实找规律就行,举几个例子:在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

5、空间复杂度

完全可以用空间来换取时间,这个考的很少,一般记一些常用查找排序用的空间复杂度,,考试可能会考。

下一章:考研数据结构笔记——线性表(顺序表和链表必背代码及混淆点)

  数据结构与算法 最新文章
【力扣106】 从中序与后续遍历序列构造二叉
leetcode 322 零钱兑换
哈希的应用:海量数据处理
动态规划|最短Hamilton路径
华为机试_HJ41 称砝码【中等】【menset】【
【C与数据结构】——寒假提高每日练习Day1
基础算法——堆排序
2023王道数据结构线性表--单链表课后习题部
LeetCode 之 反转链表的一部分
【题解】lintcode必刷50题<有效的括号序列
上一篇文章      下一篇文章      查看所有文章
加:2021-11-27 10:09:32  更:2021-11-27 10:09:37 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2025年1日历 -2025/1/9 16:18:49-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码