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

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

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

1. 什么是数据结构

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

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

2. 什么是数据

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

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

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

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

3. 数据结构三要素

数据结构的三要素是:

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

4. 算法

4.1 什么是算法?

程序 = 算法 + 数据结构

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

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

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

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



相关推荐
adam_life1 小时前
OpenJudge_ 简单英文题_04:0/1 Knapsack
算法·动态规划
龙的爹23332 小时前
论文翻译 | The Capacity for Moral Self-Correction in Large Language Models
人工智能·深度学习·算法·机器学习·语言模型·自然语言处理·prompt
alibaba_张无忌3 小时前
金融学期末速成笔记
笔记·金融
鸣弦artha3 小时前
蓝桥杯——杨辉三角
java·算法·蓝桥杯·eclipse
我是聪明的懒大王懒洋洋3 小时前
力扣力扣力:动态规划入门(1)
算法·leetcode·动态规划
未知陨落3 小时前
数据结构——二叉搜索树
开发语言·数据结构·c++·二叉搜索树
丶Darling.3 小时前
Day44 | 动态规划 :状态机DP 买卖股票的最佳时机IV&&买卖股票的最佳时机III
算法·动态规划
TN_stark9324 小时前
多进程/线程并发服务器
服务器·算法·php
Komorebi.py4 小时前
【Linux】-学习笔记03
linux·笔记·学习
汉克老师4 小时前
GESP4级考试语法知识(贪心算法(四))
开发语言·c++·算法·贪心算法·图论·1024程序员节