• 数据结构学什么?


    0X00数据结构

    1.定义

    数据结构是一门讨论“描述现实世界实体的数据模型(通常为非数值计算)及其之上的运算在计算机中如何表示和实现”的学科。

    2.几个概念

    • 数据:描述客观事物的数和字符的集合;
    • 数据元素:即一条记录,是数据的基本单位;
    • 数据项:即字段或域,具有独立含义的最小数据单位;
    • 数据对象:性质相同的数据元素的集合,数据的子集;
    • 数据结构:所有数据元素以及数据元素之间的关系。

    我的理解:

    展示

    3.研究范围

    • 数据的逻辑结构:数据元素间的逻辑关系 
      • 集合
      • 线性结构
      • 树形结构
      • 图形结构
    • 数据的存储结构:数据元素及其关系在计算机中的存储方式 
      • 顺序存储结构
      • 链式存储结构
      • 索引存储结构
      • 散列(哈希)存储结构
    • 数据的运算

    4.描述:二元组

    B=(D,R) 
    其中,B是一种数据结构,由数据元素的集合D和D上的二元关系的集合R组成。

    0X01算法

    1.算法是什么?

    算法是在具体的存储结构上实现某个抽象运算,由控制结构(顺序、分支和循环)和原操作(对固有数据类型的操作,视为算法基本运算)构成。

    算法的5个特性:

    1. 有穷性
    2. 确定性
    3. 可行性
    4. 有输入
    5. 有输出

    2.算法的描述

    1. 语言方式
    2. 图形方式
    3. 表格方式

    3.算法分析

    1. 算法设计的目标

      • 正确性
      • 可使用性
      • 可读性
      • 健壮性
      • 高效率与低存储量需求
    2. 算法的效率分析

      • 事后统计法
      • 事前分析估算法

    时间复杂度:一个语句的频度是指该语句在算法中被重复执行的次数。算法中所有语句的频度之和记作T(n),它是该算法问题规模n的函数,时间复杂度主要分析T(n)的数量级。算法中的基本运算(最深层循环内的语句)的频度与T(n)同数量级,所以通常釆用算法中基本运算的频度 f(n)来分析算法的时间复杂度。因此,算法的时间复杂度也记为: 
    T(n)=O(f(n))

    1. 算法存储空间分析

    空间复杂度:对一个算法在运行过程中(辅助变量)临时占用的存储空间大小的量度,一般作为问题规模n的函数——S(n)=O(g(n))。

    0X02数据结构学什么?

    1. 逻辑结构 
      • 线性结构(线性表、栈、队列、串、数组、广义表)
      • 树形结构(树、二叉树)
      • 图形结构(图)
    2. 算法(递归、查找、内排序、外排序)
    3. 存储结构(文件)

    0X03如何学习数据结构?

      • 多思考
      • 多上机
    写在后面:

    1. 子曰:「学而不思则罔,思而不学则殆」。
    2. 站点地图
    2. 本作品作者为 Lshare,采用知识共享署名 4.0 国际许可协议进行许可。
  • 相关阅读:
    day044CSS相关属性之盒子模型、float浮动、overflow溢出属性、position定位
    day045JavaScript的介绍、数据类型
    day043 前端之CSS引入方式、选择器、相关属性
    day042前端之HTML
    攻防世界wp--web simple_php
    hackbar的谷歌和火狐破解方式
    攻防世界wp--web cookie
    攻防世界wp-misc stegano
    攻防世界wp-misc 功夫再高也怕菜刀
    攻防世界wp-misc base64stego
  • 原文地址:https://www.cnblogs.com/lshare/p/4641613.html
Copyright © 2020-2023  润新知