• 数据结构与算法(总结)


    1. 数据结构
    数据结构分为逻辑结构和物理结构。逻辑结构分为集合结构、线性结构、树形结构、图形结构;
    集合结构
    线性结构
    树形结构
    图形结构

    物理结构分为顺序存储结构、链式存储结构。

    顺序存储结构
    链式存储结构
    1.1 数组
    「数组」 是实现线性表的顺序结构存储的基础。

    1.2 链表
    「链表」 是实现线性表的链式存储结构的基础。

    1.3 栈
    「栈」是一种后进先出的线性表。

    1.4 队列
    「队列」是一种先进先出的线性表。

    1.5 哈希表
    「哈希表」是根据关键码值直接进行访问的数据结构。

    1.6 字符串
    「字符串」是由零个或多个字符组成的有限序列。

    1.7 树
    「树」是由节点与节点之间的关系组成的有限集合。

    1.8 图
    「图」是由顶点的非空有限集合与边的集合构成的结构。

    2. 算法
    算法是一系列运算步骤。算法有5个基本特性,输入、输出、有穷性、确定性、可行性;算法最求5个目标,正确性、可读性、健壮性、运行时间少、内存空间小。

    1.1 枚举算法
    「枚举算法」也称为穷举算法,是按照问题本身的性质一一列举出该问题所有可能的解。

    1.2 递归算法
    「递归」指的是一种通过重复将原问题分解为同类的子问题而解决的方法。

    1.3 分治算法
    「分治」就是把一个复杂的问题分成两个或更多的相同或相似的子问题,直到最后子问题可以简单的直接求解,原问题的解即子问题的解的合并。

    1.4 回溯算法
    「回溯」是一种选优搜索方法,按选优条件进行深度优先搜索,以达到目标。

    1.5 贪心算法
    「贪心」是一种在每次决策时采用当前状态下最优或最好的策略,从而希望导致结果是最好或最优的算法。

    1.6 位运算
    「位运算」是针对二进制的运算,对每一个位进行布尔运算操作。

    1.7 动态规划
    「动态规划」与分治法相似,都是通过组合子问题的解来求解原问题答案,将问题划分为互不相交的子问题,递归的求解子问题,最后合并子问题的答案。

    总结:
    一、数据结构(Data Structure) 是数据的组织结构,用来组织、存储数据。算法(Algorithm) 就是解决问题的方法或者过程。
    二、数据结构分为逻辑结构和物理结构。逻辑结构分为集合结构、线性结构、树形结构、图形结构;物理结构分为顺序存储结构、链式存储结构。
    三、算法是一系列运算步骤。算法有5个基本特性,输入、输出、有穷性、确定性、可行性;算法最求5个目标,正确性、可读性、健壮性、运行时间少、内存空间小。
    四、「数组」 是实现线性表的顺序结构存储的基础;「链表」 是实现线性表的链式存储结构的基础; 「栈」是一种后进先出的线性表;「队列」是一种先进先出的线性表;「哈希表」是根据关键码值直接进行访问的数据结构;「字符串」是由零个或多个字符组成的有限序列;「树」是由节点与节点之间的关系组成的有限集合;「图」是由顶点的非空有限集合与边的集合构成的结构。
    五、「枚举算法」也称为穷举算法,是按照问题本身的性质一一列举出该问题所有可能的解;「递归」指的是一种通过重复将原问题分解为同类的子问题而解决的方法;「分治」就是把一个复杂的问题分成两个或更多的相同或相似的子问题,直到最后子问题可以简单的直接求解,原问题的解即子问题的解的合并;「回溯」是一种选优搜索方法,按选优条件进行深度优先搜索,以达到目标;「贪心」是一种在每次决策时采用当前状态下最优或最好的策略,从而希望导致结果是最好或最优的算法;「位运算」是针对二进制的运算,对每一个位进行布尔运算操作;「动态规划」与分治法相似,都是通过组合子问题的解来求解原问题答案,将问题划分为互不相交的子问题,递归的求解子问题,最后合并子问题的答案。

  • 相关阅读:
    拓展:顺序存储结构相关
    MySQL (2)
    科技论文网站:中国科技论文在线
    ant Design的table组件结合h函数实现合并行
    开源日报 0830 | 免费计算机科学自学路径:系统化教育与全球支持
    node到底是什么,一句话让新手小白不再困惑!
    mybatis拦截器 多租户隔离 及 数据权限隔离 动态可扩展
    数据结构与算法(Data Structures and Algorithm)——跟着Mark Allen Weiss用Java语言学习数据结构与算法
    conda: error: argument COMMAND: invalid choice: ‘activate‘
    [附源码]计算机毕业设计JAVA公益劳动招募管理系统
  • 原文地址:https://blog.csdn.net/qq_43544447/article/details/127843430