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

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

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

1. 什么是数据结构

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

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

2. 什么是数据

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

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

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

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

3. 数据结构三要素

数据结构的三要素是:

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

4. 算法

4.1 什么是算法?

程序 = 算法 + 数据结构

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

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

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

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



相关推荐
业精于勤的牙1 天前
浅谈:算法中的斐波那契数(二)
算法·职场和发展
2301_764441331 天前
Aella Science Dataset Explorer 部署教程笔记
笔记·python·全文检索
不穿格子的程序员1 天前
从零开始写算法——链表篇4:删除链表的倒数第 N 个结点 + 两两交换链表中的节点
数据结构·算法·链表
liuyao_xianhui1 天前
寻找峰值--优选算法(二分查找法)
算法
dragoooon341 天前
[hot100 NO.19~24]
数据结构·算法
派大鑫wink1 天前
【Java 学习日记】开篇:以日记为舟,渡 Java 进阶之海
java·笔记·程序人生·学习方法
电子硬件笔记1 天前
Python语言编程导论第七章 数据结构
开发语言·数据结构·python
Tony_yitao1 天前
15.华为OD机考 - 执行任务赚积分
数据结构·算法·华为od·algorithm
永远都不秃头的程序员(互关)1 天前
大模型Agent落地实战:从核心原理到工业级任务规划器开发
笔记