【数据结构】数据结构系列学习笔记——导航篇

news2024/9/19 7:53:03

一:概述

   数据结构是计算机科学中的核心概念之一,是优化算法性能和资源利用率的关键。在软件开发和数据处理中,选择合适的数据结构对于算法的效率至关重要。数据结构的选择通常基于数据的使用模式,包括数据元素之间的关系、数据的存储方式、以及对数据的操作类型(如检索、更新、排序等)。

  常用的数据结构有:数组(Array)、栈(Stack)、队列(Queue)、链表(Linked List)、树(Tree)、图(Graph)、堆(Heap)、散列表(Hash)等等。
在这里插入图片描述

二、基本概念和术语

  • 数据: 是客观事物的符号表示,能够输入到计算机中并能被计算机程序处理的符号的总称
  • 数据元素: 是数据的基本单位,用于完整地描述一个对象
  • 数据对象: 是性质相同的数据元素的集合,是数据的一个子集
  • 数据项: 是组成数据元素的,有独立含义的,不可分割的最小单位
  • 数据结构: 是相互之间存在的一种或者多种的特定关系的数据元素的集合,换句话说,数据结构是带结构
  • 数据元素的集合,“结构”: 就是指数据元素之间的关系。数据结构包括,逻辑结构和存储结构两个层次。

具体如下图:
在这里插入图片描述

三、所需预备知识

1.指针

  【C总集篇】第八章 数组和指针

2.结构体

  结构体

3.动态内存的分配和释放

  动态内存的分配和释放

4.typedef的用法

  typedef的用法

5.c语言基础知识

  C总集篇

四、系列代码

1.【第一章】《线性表与顺序表》
2.【第一章】《单链表》
3.【第一章】《单链表的介绍》
4.【第一章】《单链表的基本操作》
5.【第一章】《单链表循环》
6.【第一章】《双链表》
7.【第一章】《双链表循环》
8.【第二章】《栈》
9.【第二章】《队》
10.【第二章】《字符串暴力匹配》
11.【第二章】《字符串kmp匹配》
12.【第三章】《树的基础概念》
13.【第三章】《二叉树的存储结构》
14.【第三章】《二叉树链式结构及实现1》
15.【第三章】《二叉树链式结构及实现2》
16.【第三章】《二叉树链式结构及实现3》
17.【第三章】《二叉树链式结构及实现4》
18.【第三章】《二叉树链式结构及实现5》
19.【第三章】《中序线索二叉树理论部分》
20.【第三章】《中序线索二叉树代码初始化及创树》
21.【第三章】《中序线索二叉树线索化及总代码》
22【第三章】《先序线索二叉树理论及线索化》
23【第三章】《先序线索二叉树查找及总代码》
24【第三章】《后续线索二叉树线索化理论》
25【第三章】《后续线索二叉树总代码部分》
26【第三章】《二叉排序树基础了解》
27【第三章】《二叉排序树代码部分》
28【第三章】《二叉排序树代码部分》
29【第三章】《平衡二叉树基础概念》
30【第三章】《平衡二叉树的平衡因子》
31【第三章】《平衡二叉树的旋转基础详解》
32【第三章】《平衡二叉树的旋转类型图文详解》
33【第三章】《平衡二叉树的旋转类型总结及总代码》
34【第三章】《哈夫曼树简单了解》
35【第三章】《哈夫曼树的构造方法》
36【第三章】《哈夫曼编码构造及代码》
37【第四章】《图的定义》
38【第四章】《图的基本概念和术语》
39【第四章】《图的存储结构》
40【第四章】《图的遍历之深度优先遍历》
41【第四章】《广度优先遍历BFS》
42【第四章】《图的遍历总代码》
43【第四章】《最小生成树概念》
44【第四章】《最小生成树的应用举例》
45【第四章】《prim算法(普里姆算法)详解》
46【第四章】《prim算法(普里姆算法)详解2》
47【第四章】《prim算法(普里姆算法)详解3》
48【第四章】《prim算法(普里姆算法)讲解汇总》
49【第四章】《prim算法(普里姆算法)代码讲解》
50【第四章】《prim算法(普里姆算法)总代码》
51【第四章】《克鲁斯卡尔算法思路介绍》
52【第四章】《克鲁斯卡尔算法步骤思路1》
53【第四章】《克鲁斯卡尔算法步骤思路2》
54【第四章】《克鲁斯卡尔算法应用场景-公交站问题》
55【第四章】《克鲁斯卡尔算法判断回路问题》
56【第四章】《克鲁斯卡尔算法步骤回顾》
57【第四章】《克鲁斯卡尔算法代码初始化详解》
58【第四章】《克鲁斯卡尔算法总代码详解》
59【第四章】《了解最短路径》
60【第四章】《迪杰斯特拉算法了解》
61【第四章】《Dijkstra 迪杰斯特拉算法图解》
62【第四章】《Dijkstra 迪杰斯特拉算法总代码》
63【第四章】《弗洛伊德(floyd)算法简介》
64【第四章】《弗洛伊德算法详解》
65【第四章】《弗洛伊德代码详解》
66【第四章】《拓扑排序之AOV网》
67【第四章】《拓扑排序介绍及其方法》
68【第四章】《拓扑排序代码详解》
69【第四章】《什么是关键路径》
70【第四章】《什么是关键路径二》
71【第四章】《关键活动与最早路径实现思想》
72【第四章】《关键活动与最早路径实现思想写法二》
73【第四章】《关键路径总代码讲解写法一》
74【第四章】《关键路径总代码讲解写法二》
75【第五章】《顺序查找》
76【第五章】《顺序查找-带哨兵》
77【第五章】《二分查找》
78【第五章】《B树了解以及定义》
79【第五章】《B树的插入例子1》
80【第五章】《B树的插入例子2》
81【第五章】《B树的删除》
82【第五章】《B树的删除2》
83【第五章】《B树的代码部分》
84【第五章】《B树的总体代码》
85【第六章】《排序简介》
86【第六章】《插入排序》
87【第六章】《希尔排序》
88【第六章】《冒泡排序》
89【第六章】《快速排序》

五、数据结构总集篇导航

填坑中ing

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

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

相关文章

日志框架的使用

一、日志概述 日志:用来记录程序运行过程中的信息,并可以进行永久存储。 开发过程中可能会出现以下需求: 希望系统能记住某些数据是被谁操作的,比如被谁删除了?想分析用户浏览系统的具体情况,以便挖掘用…

【深度学习】深度学习模型的加密及解密方案及源码

本文摘要 本文主要根据自己遇到的情况,例如:对于yolo或paddle训练的模型文件,对外使用,不想要别人拿到我的模型文件随意乱用,此时就涉及到对模型文件进行加密与解密 深度学习模型的加密保护非常重要,尤其在商业应用场景下。常见的模型加密方法包括模型文件加密、加密硬件…

图像分割基本知识

计算机视觉和图像处理 Tensorflow入门深度神经网络图像分类目标检测图像分割 图像分割 一、目标分割1.1 图像分割的定义1.2 任务类型1.2.1 任务描述1.2.2 任务类型 二、语义分割2.1 FCN网络2.1.1网络结构 2.2 Unet网络 三、UNet案例3.1 数据集获取3.1.1 设置相关信息3.1.2 图像…

nature communications |多层次蛋白质组分析揭示弥漫型和肠型胃癌之间的分子多样性

文章信息 发表期刊:nature communications 发表日期:2023年2月14日 影响因子:14.7 研究背景 胃癌是世界上主要的癌症类型之一。弥漫型胃癌(DGC)和肠型胃癌(IGC)是胃癌(GC)的主要组织学类型,DGC呈分散的细胞组织,黏…

比特币10年价格数据(2014-2024)分析(进阶2_时间序列分析)

数据入口:【每周挑战】比特币10年价格数据可视化和量化分析 - Heywhale.com 本数据集包含 2014 - 2024 的比特币美元价格数据,具体包含比特币每日的开盘价、最高价、最低价、收盘价以及成交量等关键信息。数据说明如下: 字段说明Date日期&a…

iPhone 16系列:摄影艺术的全新演绎,探索影像新境界

在科技的浪潮中,智能手机摄影功能的进化从未停歇。 苹果公司即将推出的iPhone 16系列,以其卓越的相机升级和创新特性,再次站在了手机摄影的前沿。 从硬件到软件,从拍照体验到图像处理,iPhone 16系列都展现了其在移动…

camtasia2024绿色免费安装包win+mac下载含2024最新激活密钥

Hey, hey, hey!亲爱的各位小伙伴,今天我要给大家带来的是Camtasia2024中文版本,这款软件简直是视频制作爱好者的福音啊! camtasia2024绿色免费安装包winmac下载,点击链接即可保存。 先说说这个版本新加的功能吧&#…

Mapsui:一个 .NET 开源的地图组件库

前言 今天大姚给大家分享一个.NET开源(MIT License)、免费、同时支持多平台框架(MAUI、WPF、Avalonia、Uno、Blazor、WinUI、Eto、.NET Android 和 .NET iOS)地图组件库:Mapsui。 项目源代码 支持的UI框架的NuGet包 创…

华为OD机试 - 查字典(Python/JS/C/C++ 2024 E卷 100分)

华为OD机试 2024E卷题库疯狂收录中,刷题点这里 专栏导读 本专栏收录于《华为OD机试真题(Python/JS/C/C)》。 刷的越多,抽中的概率越大,私信哪吒,备注华为OD,加入华为OD刷题交流群,…

【研发日记】嵌入式处理器技能解锁(六)——ARM的Cortex-M4内核

文章目录 前言 背景介绍 指令集架构 ARM起源 ARM分类 Cortex-M4 内核框架 指令流水线 实践应用 总结 参考资料 前言 见《【研发日记】嵌入式处理器技能解锁(一)——多任务异步执行调度的三种方法》 见《【研发日记】嵌入式处理器技能解锁(二)——TI C2000 DSP的SCI(…

管理依赖版本-maven工程parent项目巧配置

本文目标:开发人员,在了解pom文件properties、dependencyManagement标签用法的条件下,进行依赖包版本统一维护,达到统一维护项目依赖jar包版本的程度。 文章目录 1 场景2 要点3 总结/练习 1 场景 maven工程多模块项目,…

数据库基础知识---------------------------(2)

MYSQL的存储过程 就是数据库 SQL 语言层面的代码封装与重用 语法格式 delimiter 自定义结束符号 create procedure 存储名({in,out,inout} 参数名,数据类型...) begin sql 语句 end 自定义结束符 delimiter; 变量定义 局部变量 用户自定义 仅在begin / end 块中有效 当将查询…

高效开发,从暗藏玄机的文件系统开始—合宙Air201资产定位模组LuatOS

超低功耗、精准定位、快速量产——迷你小巧的合宙Air201,正给越来越多的行业客户带来高效开发体验。 4G-Cat.1模组的文件系统关乎数据传输速度、存储效率,以及数据安全性等等诸多因素,在应用开发中极为重要。 本期,我们来学习合…

微型导轨在3D打印设备中的应用与实践

微型导轨的应用范围非常广泛,尤其在追求高精度、高效率及低噪音的现代打印技术中扮演着重要角色。微型导轨在3D打印机等精密设备中是常用元件,以提高打印质量和效率。 在打印机中,无论是喷墨式、激光式还是3D打印机,都需要精确的打…

JDBC编程详细总结

一、JDBC编程 JDBC编程有标准步骤(八股文) 注册驱动 将sql语句的运行环境加载到JVM 连接数据库 获得执行SQL的对象 执行SQL语句,获得结果 关流 1、 注册驱动 Class.forName("com.mysql.jdbc.Driver");//5.7版本 加载驱动 Class.forName("com.mysql.cj.jdb…

为什么收录是谷歌seo的底子?

收录是谷歌SEO的基础,因为它决定了网站页面能否被用户找到。只有被谷歌收录的页面,才有机会在搜索结果中出现。如果页面没有被收录,谷歌根本就不知道它的存在,这意味着即使内容再好、关键词再精准,也不会有任何排名 被…

fo-dicom,第一个基于.NET Standard 2.0 开发的DICOM开源库

1. 简介: fo-dicom是一个基于C#开发的库,用于处理DICOM(Digital Imaging and Communications in Medicine)格式的数据。DICOM是一种用于医学影像和相关信息的标准格式,广泛应用于医学领域。fo-dicom提供了多平台支持&…

华为OD机试 - 报数问题 - 约瑟夫环(Python/JS/C/C++ 2024 E卷 100分)

华为OD机试 2024E卷题库疯狂收录中,刷题点这里 专栏导读 本专栏收录于《华为OD机试真题(Python/JS/C/C)》。 刷的越多,抽中的概率越大,私信哪吒,备注华为OD,加入华为OD刷题交流群,…

浸没边界法精度相关的论文的阅读笔记

Convergence proof of the velocity field for a stokes flow immersed boundary method https://doi.org/10.1002/cpa.20233 研究对象的选取 他这里为什么能够选取一个周期性边界的流场啊?为什么不是狄利克雷边界或者诺伊曼边界? 方形流场的边界值 …

keil里sprintf的用法

代码&#xff1a; #include<stdio.h> int main(void) {float i-123.45;char zifu[10];sprintf(zifu,"%f",i);while(1);return 0; } 仿真结果 代码&#xff1a; #include<stdio.h> int main(void) {float i123.45;char zifu[10];sprintf(zifu,"%f…