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、数据操作和运算

二、数据与数据结构

2.1 术语

  • 数据(Data):数据是信息的载体,是对客观事务的符号表示。
  • 数据元素(Data Element):是数据的基本单位,是一个个体。相当于表的一行。
  • 数据项(Data Item): 是数据元素的组成部分。相当于表的列。
  • 数据对象(Data Object):性质相同的数据元素的集合。相当于表。
  • 数据结构(Data Structure):特定关系的数据元素的集合。

2.2 逻辑结构

  • 数据元素之间的逻辑关系,与存储数据无关。独立于计算机之外。
  • 数据元素的特性 :
    • 1、集合:元素之间没有关系比较松散
    • 2、线性结构:元素之间存在 一对一 关系。除了开始和终端结点。其他节点有一个前驱和一个后继。
    • 3、树形结构:元素之间存在 一对多 关系。
    • 4、图形结构:元素之间存在 多对多 关系。
  • 数据的逻辑结构需要 2 部分:数据元素(Data)、数据元素的关系(relationship)
    在这里插入图片描述

2.3 存储结构

  • 数据的存储结构,也称为物理结构,是数据的逻辑结构在计算机的实现。
    • 数据元素的值存储表示和逻辑关系
  • 存储结构的 4 种方式
    • 1、顺序存储:在一片连续的存储空间中进行存储,元素的逻辑位置和物理位置保持一致。例如:数组
      数组
    • 2、链式存储:可以存储在任意的物理物质上,需要额外的部分存放逻辑关系的指针。如:链表
      链表
    • 3、索引存储:存储数据的同时,额外存储一个索引表。在查询时可以提高效率。
    • 4、散列存储:一般情况物理上是可以连续的存储空间,需要通过 散列函数hash 来确定存储位置。在查询时可以提高效率
      散列函数

2.4 数据操作

  • 初始化:创建、销毁
  • 数据操作:插入 | 添加、删除、修改
  • 数据使用:查找、遍历

三、 算法

3.1 概述

  • 对特定问题求解步骤的一种描述。是指令的有限序列

3.2 算法特性

  • 1、有穷性:有限
  • 2、确定性:需求确定、指令确定
  • 3、有效性:指令都是有意义
  • 4、输入
  • 5、输出
    输入输出

3.3 算法目标

  • 1、真确性:基本要求,需求和实现对应
  • 2、可读性:是程序员能够读懂,编写代码时可以辅助注释
  • 3、健壮性:临界值的处理、无效数据的校验等
  • 4、高效性:使用较少的资源(时间资源、空间资源)。一个好的算法要做到执行时所需时间尽量简短,所需的最大存储空间尽量少

3.4 算法分析:概述

  • 算法的复杂度是衡量算法优劣的重要依据
  • 算法的复杂度分类:时间复杂度、空间复杂度
  • 时间复杂度:执行时间的长短
  • 空间复杂度:执行时空间需求量,也就是计算机资源的使用量

3.5 算法分析:时间复杂度

  • 主要考虑因素:

    • 1、算法本身
    • 2、问题规模
    • 3、程序语言选择
    • 4、编译程序(JDK优劣)
    • 5、硬件速度
    • 6、运行软件
  • 时间复杂度通过 大O表示法 进行表示,大O表达式只需要考虑最高次幂的项

    • 常量阶:O(1)
    • 线性阶:O(n)
    • 平方阶:O(n^2)
    • 立方阶:O(n^3)
    • 对数阶:O(log2n)
    • 线对数阶:O(nlog2n)
    • O(log2n) 指数计算:R表示次数
    • O(n) : 一层循环
    • O(n^2):二层循环(99乘法表)
    • O(n^3):三层循环
  • 时间复杂度
    时间复杂度1
    时间复杂度2

  • 计算公式
    计算公式

四、西格玛Σ求和

4.1 计算方式

计算方式1

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

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年5日历 -2024/5/19 17:46:25-

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