《趣学数据结构》大纲

news2024/10/7 18:26:19

文章目录

  • 趣学数据结构
    • 一、数据结构入门
      • (一)数据结构的基础知识
        • 1、基本概念
          • (1)数据
          • (2)数据元素
          • (3)数据项
          • (4)数据对象
          • (5)数据结构
        • 2、逻辑结构
          • (1)集合
          • (2)线性结构
          • (3)树形结构
          • (4)图形结构
        • 3、存储结构
          • (1)顺序存储
          • (2)链式存储
          • (3)散列存储
          • (4)索引存储
      • (二)算法复杂度
      • (三)一盘棋麦子
      • (四)神奇的魔鬼序列
    • 二、数据结构的分类
      • (一)线性表
        • 1、线性表的分类
          • (1)顺序表
            • ① 静态分配
            • ② 动态分配
            • ③ 顺序表的基本操作
          • (2)单链表
            • ① 单链表的存储方式
            • ② 单链表的基本操作
          • (3)双向链表
            • ① 双向链表的基本操作
            • ② 双向链表的存储方式
          • (4)循环链表
        • 2、线性表的应用
          • (1)合并有序顺序表
          • (2)合并顺序链表
          • (3)就地逆置单链表
          • (4)查找链表的中间节点
          • (5)删除链表的重复元素
      • (二)栈和队列
        • 1、栈的分类
          • (1)顺序栈
          • (2)链栈
        • 2、队列的分类
          • (1)顺序队列
            • ① 顺序队列的定义
            • ② 循环队列的定义
            • ③ 循环队列的基本操作
          • (2)链队列
        • 3、栈和队列的应用
          • (1)数制的转换
          • (2)回文判定
          • (3)双端队列
      • (三)字符串
        • 1、字符串
        • 2、字符串相关的算法
          • (1)模式匹配BF算法
          • (2)模式匹配KMP算法
          • (3)改进的KMP算法
        • 3、字符串的应用——病毒检测
      • (四)数组和广义表
        • 1、数组的顺序存储
        • 2、特殊矩阵的压缩存储
          • (1)对称矩阵
          • (2)三角矩阵
          • (3)对角矩阵
          • (4)稀疏矩阵
        • 3、广义表
        • 4、好玩贪吃蛇——数字矩阵
      • (五)树
        • 1、树
          • (1)树的定义
          • (2)树的存储结构
          • (3)树、森林与二叉树的转换
        • 2、二叉树
          • (1)二叉树的性质
          • (2)二叉树的存储结构
          • (3)二叉树的创建
          • (4)二叉树的遍历
            • ① 先序遍历
            • ② 中序遍历
            • ③ 后序遍历
            • ④ 层次遍历
        • 3、线索二叉树
          • (1)线索二叉树的存储结构
          • (2)线索二叉树的构造
          • (3)线索二叉树的遍历
        • 4、树和森林的遍历
          • (1)树的遍历
          • (2)森林的遍历
        • 5、树的应用
          • (1)二叉树的深度
          • (2)二叉树的叶子树
          • (3)三元组创建二叉树
          • (4)遍历序列还原树
          • (5)哈夫曼树
      • (六)图
        • 1、图的存储结构
          • (1)邻接矩阵
          • (2)邻接表
          • (3)十字链表
          • (4)邻接多重表
        • 2、图的遍历
          • (1)广度优先搜索
          • (2)深度优先搜索
        • 3、图的应用
          • (1)单源第一短路径——Dijkstra
          • (2)各项点之间第一短路径——Floyd
          • (3)第一小生成树——prim
          • (4)第一小生成树——kruskal
          • (5)头拓扑排序
          • (6)关键路径
      • (七)查找
        • 1、线性表的查找
          • (1)顺序查找
          • (2)折半查找
        • 2、树表的查找
          • (1)二叉查找树
          • (2)平衡二叉查找树
        • 3、散列表的查找
          • (1)散列函数
          • (2)处理冲突的方法
          • (3)散列查找及性能分析
      • (八)排序
        • 1、插入排序
          • (1)直接插入排序
          • (2)希尔排序
        • 2、交换排序
          • (1)冒泡排序
          • (2)快速排序
        • 3、选择排序
          • (1)简单选择排序
          • (2)堆排序
        • 4、合并排序
        • 5、分配排序
          • (1)桶排序
          • (2)基数排序
      • (九)高级数据结构
        • 1、并查集
        • 2、优先队列
          • (1)出队
          • (2)入队
        • 3、B-树
          • (1)树高与性能
          • (2)查找
          • (3)插入
          • (4)删除
        • 4、B+树
        • 5、B*树
        • 6、红黑树
          • (1)红黑树的定义
          • (2)树高与性能
          • (3)红黑树与4阶B树
          • (4)查找
          • (5)插入
          • (6)删除

请添加图片描述

趣学数据结构

一、数据结构入门

(一)数据结构的基础知识

1、基本概念

(1)数据
(2)数据元素
(3)数据项
(4)数据对象
(5)数据结构

2、逻辑结构

(1)集合
(2)线性结构
(3)树形结构
(4)图形结构

3、存储结构

(1)顺序存储
(2)链式存储
(3)散列存储
(4)索引存储

(二)算法复杂度

(三)一盘棋麦子

(四)神奇的魔鬼序列


二、数据结构的分类

(一)线性表

1、线性表的分类

(1)顺序表
① 静态分配
② 动态分配
③ 顺序表的基本操作
(2)单链表
① 单链表的存储方式
② 单链表的基本操作
(3)双向链表
① 双向链表的基本操作
② 双向链表的存储方式
(4)循环链表

2、线性表的应用

(1)合并有序顺序表
(2)合并顺序链表
(3)就地逆置单链表
(4)查找链表的中间节点
(5)删除链表的重复元素

(二)栈和队列

1、栈的分类

(1)顺序栈
(2)链栈

2、队列的分类

(1)顺序队列
① 顺序队列的定义
② 循环队列的定义
③ 循环队列的基本操作
(2)链队列

3、栈和队列的应用

(1)数制的转换
(2)回文判定
(3)双端队列

(三)字符串

1、字符串

2、字符串相关的算法

(1)模式匹配BF算法
(2)模式匹配KMP算法
(3)改进的KMP算法

3、字符串的应用——病毒检测

(四)数组和广义表

1、数组的顺序存储

2、特殊矩阵的压缩存储

(1)对称矩阵
(2)三角矩阵
(3)对角矩阵
(4)稀疏矩阵

3、广义表

4、好玩贪吃蛇——数字矩阵

(五)树

1、树

(1)树的定义
(2)树的存储结构
(3)树、森林与二叉树的转换

2、二叉树

(1)二叉树的性质
(2)二叉树的存储结构
(3)二叉树的创建
(4)二叉树的遍历
① 先序遍历
② 中序遍历
③ 后序遍历
④ 层次遍历

3、线索二叉树

(1)线索二叉树的存储结构
(2)线索二叉树的构造
(3)线索二叉树的遍历

4、树和森林的遍历

(1)树的遍历
(2)森林的遍历

5、树的应用

(1)二叉树的深度
(2)二叉树的叶子树
(3)三元组创建二叉树
(4)遍历序列还原树
(5)哈夫曼树

(六)图

1、图的存储结构

(1)邻接矩阵
(2)邻接表
(3)十字链表
(4)邻接多重表

2、图的遍历

(1)广度优先搜索
(2)深度优先搜索

3、图的应用

(1)单源第一短路径——Dijkstra
(2)各项点之间第一短路径——Floyd
(3)第一小生成树——prim
(4)第一小生成树——kruskal
(5)头拓扑排序
(6)关键路径

(七)查找

1、线性表的查找

(1)顺序查找
(2)折半查找

2、树表的查找

(1)二叉查找树
(2)平衡二叉查找树

3、散列表的查找

(1)散列函数
(2)处理冲突的方法
(3)散列查找及性能分析

(八)排序

1、插入排序

(1)直接插入排序
(2)希尔排序

2、交换排序

(1)冒泡排序
(2)快速排序

3、选择排序

(1)简单选择排序
(2)堆排序

4、合并排序

5、分配排序

(1)桶排序
(2)基数排序

(九)高级数据结构

1、并查集

2、优先队列

(1)出队
(2)入队

3、B-树

(1)树高与性能
(2)查找
(3)插入
(4)删除

4、B+树

5、B*树

6、红黑树

(1)红黑树的定义
(2)树高与性能
(3)红黑树与4阶B树
(4)查找
(5)插入
(6)删除

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/425523.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

利用在线Linux内核代码阅读分析网站linux kernel map分析CFS调度器代码调用链路

linux kernel map网址 https://makelinux.github.io/kernel/map/ 源码分析 点击Scheduler标签内的kernel/sched/ 左侧菜单,选择一个内核版本 Search Identifier搜索框输入要搜索的函数,回车执行搜索 结果列出了一处函数定义及两处引用 新窗口打开定义 …

14.Java面向对象----Object类

Object类 Java中Object 类是所有类的父类,也就是说 Java 的所有类都继承了 Object,子类可以使用 Object 的所有方法。 Object 类位于 java.lang 包中,编译时会自动导入,我们创建一个类时,如果没有明确继承一个父类&am…

【Spark】介绍 快速入门

目录 介绍 Spark and Hadoop Spark or Hadoop 核心模块 Spark Core Spark SQL Spark Streaming Spark MLlib Spark GraphX 快速上手 来源: 介绍 Spark 是一种基于内存的快速、通用、可扩展的大数据分析计算引擎。 Spark and Hadoop HadoopHadoop 是由 java…

Linux 网络I/O模型

一、Linux下面的I/O模型 Linux下面一共有五种可以使用的I/O模型,如下: 1)阻塞式I/O 2)非阻塞式I/O 3)I/O多路复用(select与epoll) 4)信号驱动式I/O 5)异步I/O 下面重点介…

知识图谱-实体抽取

命名实体识别(Named Entity Recognition,简称NER)是信息抽取、问答系统、句法分析、机器翻译等应用领域的重要基础工具,在自然语言处理技术走向实用化的过程中占有重要地位。一般来说,命名实体识别的任务就是识别出待处…

【产品设计】电商后台系统设计--库存

电商后台产品,涉及众多模块,而以商品、订单、库存为核心模块,模块间存在大量交互。库存决定商品是否可售卖,下单是否能成功。 电商中的库存管理是为了保证前台商品的正常售卖,库存的管理和仓库密不可分,而仓…

Midjourney详细注册和使用教程

来源:Midjoureny详细注册使用教程【探索ChatGPT】 Midjourney,用户只需要输入一段图片的文字描述,即可生成精美的绘画,相信了解Midjourey的小伙伴已经对它强大之处而赞叹! 下面是用通俗易懂的步骤教会大家如何注册和…

【严蔚敏版数据结构】你分得清顺序栈和链栈吗

【严蔚敏版数据结构】顺序栈和链栈的剖析和对比一、顺序栈和链栈的存储结构二、顺序栈和链栈的初始化三、顺序栈和链栈的判断是否栈空四、顺序栈和链栈的入栈五、顺序栈和链栈的弹栈六、顺序栈和链栈的取栈顶元素一、顺序栈和链栈的存储结构 顺序栈的存储结构图如下&#xff1…

Windows 10系统,JDK安装与环境变量配置

引言 随着互联网的日益发展, 越来越多的小伙伴加入了程序员这个行列, 也有很多小伙伴正计划学习编程, 学习Java 那么对于新手来说, 第一件事就是下载安装Java开发工具包, 也就是JDK, 今天我们就来一起详细的说说怎么操作 JDK版本描述 学习环境中, 我们通常使用较新版本的JD…

支持PHP运行环境和系统防火墙配置管理,1Panel开源面板v1.1.0发布

2023年4月17日,现代化、开源的Linux服务器运维管理面板1Panel正式发布v1.1.0版本。 在这一版本中,1Panel新增支持PHP运行环境、系统防火墙配置管理以及同步本地应用等功能,并带来了40多项功能更新和问题修复,感谢各位社区用户的反…

回归预测 | MATLAB实现GA-LSTM遗传算法优化长短期记忆网络的数据多输入单输出回归预测

回归预测 | MATLAB实现GA-LSTM遗传算法优化长短期记忆网络的数据多输入单输出回归预测 目录回归预测 | MATLAB实现GA-LSTM遗传算法优化长短期记忆网络的数据多输入单输出回归预测效果一览基本介绍程序设计参考资料效果一览 基本介绍 MATLAB实现GA-LSTM遗传算法优化长短期记忆网…

nvm管理node

开发的时候node版本不兼容问题频频出现,就得安装多个版本node,nvm管理起来就很方便。 首先nvm是一个nodejs的版本管理工具。为了解决node.js各种版本存在不兼容现象可以通过它安装和切换不同版本的node.js。 打开CMD,输入命令 nvm &#xf…

密码基础知识——密码的概念与作用

密码基础知识——密码的概念与作用密码的概念与作用密码的概念密码的重要作用密码的功能密码应用技术框架密码应用中的安全性问题密码应用安全性评估的基本原理信息安全管理标准PDCA 管理循环信息安全风险评估定义信息安全风险评估的目的和用途信息安全风险评估的基本要素密码的…

Centos 7 安装系列(10):ElasticSearch 8.6.2

ElasticSearch 部署一、系统环境二、解压安装2.1 解压压缩包2.2 修改配置文件2.3 添加操作用户2.4 启动2.5 开放端口2.6 开机自启动配置2.7 设置用户名密码认证三、总结一、系统环境 操作系统:Centos 7 已配置环境:空 二、解压安装 2.1 解压压缩包 上…

基于ArcGIS、ENVI、InVEST、FRAGSTATS等多技术融合提升环境、生态、水文、土地、土壤、农业、大气等领域的数据分析能力与项目科研水平

【原文链接】:基于ArcGIS、ENVI、InVEST、FRAGSTATS等多技术融合提升环境、生态、水文、土壤、农业、大气等领域的数据分析https://mp.weixin.qq.com/s?__bizMzU5NTkyMzcxNw&mid2247537467&idx4&sn10c4c12897282daf5320efae05caf3a4&chksmfe689551…

黑马2023JavaScript笔记1

一、js知识点 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta http-equiv"X-UA-Compatible" content"IEedge"><meta name"viewport" content"widthdevice-widt…

LoRA 指南之 LyCORIS 模型使用

LoRA 指南之 LyCORIS 模型使用 在C站看到这个模型&#xff0c;一眼就非常喜欢 在经历几番挣扎之后终于成功安装 接下来&#xff0c;我们一起开始安装使用吧&#xff01; 1、根据原作大佬的提示&#xff0c;需要安装两个插件 https://github.com/KohakuBlueleaf/a1111-sd-web…

蓝桥杯之我见

前言 关于蓝桥杯&#xff0c;应该有很多人不知道这是一个什么样的比赛。但是作为一名合格的程序员&#xff0c;就算之前没有参加过蓝桥杯的比赛&#xff0c;或者没听说过蓝桥杯&#xff0c;读完本篇文章再说不知道蓝桥杯&#xff0c;就有点不合适了吧&#xff1f;&#xff01;那…

网络作业6【计算机网络】

网络作业6【计算机网络】前言推荐网络作业6一. 单选题&#xff08;共11题&#xff0c;33分&#xff09;二. 多选题&#xff08;共2题&#xff0c;10分&#xff09;三. 判断题&#xff08;共1题&#xff0c;1分&#xff09;四. 阅读理解&#xff08;共1题&#xff0c;56分&#…

DY-30型电压继电器DY-36

DY-30系列电压继电器 DY-32电压继电器&#xff1b;DY-36电压继电器&#xff1b; DY-33电压继电器&#xff1b;DY-37电压继电器&#xff1b; DY-34电压继电器&#xff1b;DY-38电压继电器&#xff1b; DY-31电压继电器&#xff1b;DY-35电压继电器&#xff1b; DY-32/60C电压继…