【DAY04 软考中级备考笔记】数据结构基本结构和算法

数据结构基本结构和算法 2月25日 -- 天气:晴

周六玩了一天,周天学习。

1. 什么是数据结构

数据结构研究的内容是一下两点:

  • 如何使用程序代码把现实世界的问题信息化
  • 如何用计算机高效地处理这些信息从创造价值

2. 什么是数据

数据是信息的载体,是描述客观事物属性的数字,字符和所有能够输入到计算机中并且被计算机处理和识别到符号的集合。

简单来说,数据是计算机程序加工的原谅。

下面是关于数据的一些基本概念:

  • 数据元素:数据元素是数据的基本单位,通常作为一个整体来显示。(可以理解为是数据库中的一条记录)
  • 数据项:数据项是数据的最小单位,一个数据元素可能由多个数据项组成。(可以理解为数据库中的某一个字段)
  • 数据结构是互相之间存在一种或多种特定关系的数据元素的集合。

3. 数据结构三要素

数据结构的三要素是:

  • 逻辑结构
  • 物理结构
  • 数据的运算
3.1 数据的逻辑结构
  • 集合结构:各个元素同处于一个集合中,别无其它的关系。
  • 线性结构:数据元素之间是一对一的关系。除了第一个元素和最后一个元素,其它的元素都有唯一的前驱和后继。第一个元素只有唯一的后继,最后一个元素只有唯一的前驱。
  • 树形结构:数据之间是一对多的关系。
  • 图结构:数据之间是多对多的关系。
3.2 数据的物理结构
  • 顺序存储:逻辑上相邻的元素存储的物理位置上也是在相邻的存储单元中
  • 链式存储:逻辑上相邻的元素在物理位置上可以相邻,也可以不相邻
  • 索引存储:在存储元素信息的同时,还建立附加的索引表
  • 散列存储:根据元素的关键字直接通过哈希函数计算得到其存储地址,又名哈希存储

4. 算法

4.1 什么是算法?

程序 = 算法 + 数据结构

数据结构研究的是如何将现实世界中的问题信息化,同时还要提供对这些数据的基本操作,如增删改查。

算法研究的是如何处理这些信息化后的数据以解决实际问题

4.2 算法的特点
  • 有穷性:算法必须总是在执行完有穷步骤后结束,并且每一步骤都可以在有限的时间内结束
  • 确定性:算法中每一条指令必须有明确的含义,且对于相同的输入,必须只能得到相同的输出
  • 可行性:算法中描述的操作都必须通过已经实现的基本运算执行有限次来实现
  • 输入:一个算法有零个或多个输入,这些输入取自于某一个特定的对象集合
  • 输出:一个算法有一个或多个输出,这些输出取自于某一个特定的对象集合
4.3 算法复杂度

算法复杂度分为了时间复杂度和空间复杂度



相关推荐
qiqsevenqiqiqiqi1 天前
位运算 计算
算法
Heartache boy1 天前
DWT基础应用与获取程序运行时间Debug练习(上)
笔记·stm32·单片机
甄心爱学习1 天前
【最优化】1-6章习题
人工智能·算法
PD我是你的真爱粉1 天前
向量数据库原理与检索算法入门:ANN、HNSW、LSH、PQ 与相似度计算
数据库·人工智能·算法
汀、人工智能1 天前
[特殊字符] 第72课:杨辉三角
数据结构·算法·数据库架构·图论·bfs·杨辉三角
西梅汁1 天前
C++ 设计模式三大类型理解
笔记
洛水水1 天前
【力扣100题】14.两数相加
c++·算法·leetcode
我不是小upper1 天前
相关≠因果!机器学习中皮尔逊相关检验的完整流程
人工智能·算法·机器学习
pwn蒸鱼1 天前
leetcode:21. 合并两个有序链表
算法·leetcode·链表
洛水水1 天前
【力扣100题】15.删除链表的倒数第 N 个结点
算法·leetcode·链表