数据结构与算法:基础概念与重要性解读

发表时间: 2024-11-05 15:17

数据结构与算法是信息技术的核心基础。掌握好这些基本知识,才能更好的使用信息技术,进而能设计好的软件。学习数据结构与算法可从如下思维导图开始:

数据结构与算法概述

  • 逻辑结构:数据的基本组成,一般可分为线性还是非线性。线性有明确的开头和结构,其元素有清晰的前后顺序关系。
  • 存储结构:结合实际存放数据的计算机存储空间来看。可以分为顺序、链式、散列、索引等结构。
  • 基本运算:要了解数据解耦的创建、清楚、元素CRUD,统计和复杂度评估
  • 算法详细:要特别掌握的两类算法就是递归与排序。递归的应用可简化程序设计,排序则是数据结构中不可缺少的组成部分。

数据结构

常见的数据结构有如下这些,在日常开发中常用。通常能够找到第三方库,学习时可自己动手写一个,然后与热门的流行第三方库对比,能有更好收获。如下分别介绍:



  • 队列


队列


  • 链表


链表


单向链表


双向链表


单向循环链表


双向循环链表


  • 数组


数组






  • 散列表


散列表


  • 红黑树


红黑树





排序算法

数据结构要支持快速元素的查找、修改、增加与删除,都需要排序。排序是最重要的算法。排序的目的是将无序变成有序。算法有很多,如下面介绍


排序


  • 冒泡


冒泡排序


  • 选择


选择排序


  • 插入


插入排序


  • 希尔








  • 归并



步骤一:拆分


步骤二:分别排序


步骤三:合并


  • 快速




初始化


第二步:转换为最大堆:叶子节点小于根节点


第三步:构建Max Heap


将根节点放到最后,并剔除,再进行第二步


  • 计数




















  • 基数





参考资料:

  1. MIT : https://ocw.mit.edu/
  2. DSA: https://www.geeksforgeeks.org/data-structures/?ref=shm