当前位置: 首页 > news >正文

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

一:概述

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

  常用的数据结构有:数组(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【第六章】《快速排序》

五、数据结构总集篇导航

【第一章】《链表》

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 动规part 05
  • 设计模式 组合模式(Composite Pattern)
  • 基于单片机的无线宠物自动喂食系统设计
  • 什么是L2范数
  • 用户态缓存:环形缓冲区(Ring Buffer)
  • 电力施工作业安全行为检测图像数据集
  • JavaWeb--纯小白笔记06:使用Idea创建Web项目,Servlet生命周期,注解,中文乱码解决
  • 硬件工程师笔试面试——晶振
  • 思通数科开源产品:免费的AI视频监控卫士安装指南
  • git reflog 和 git log 的详解和区别
  • 本地git仓库配置远程仓库的地址
  • 如何在WordPress中添加事件Schema(分步指南)
  • 处理京东商品详情信息爬取中的验证码问题
  • 【基础算法总结】模拟篇
  • Java多线程大全
  • [ 一起学React系列 -- 8 ] React中的文件上传
  • 【407天】跃迁之路——程序员高效学习方法论探索系列(实验阶段164-2018.03.19)...
  • 【知识碎片】第三方登录弹窗效果
  • angular2开源库收集
  • css系列之关于字体的事
  • golang 发送GET和POST示例
  • Intervention/image 图片处理扩展包的安装和使用
  • jquery ajax学习笔记
  • Js实现点击查看全文(类似今日头条、知乎日报效果)
  • use Google search engine
  • ViewService——一种保证客户端与服务端同步的方法
  • vue:响应原理
  • weex踩坑之旅第一弹 ~ 搭建具有入口文件的weex脚手架
  • 关于字符编码你应该知道的事情
  • 马上搞懂 GeoJSON
  • 码农张的Bug人生 - 见面之礼
  • 区块链分支循环
  • 如何利用MongoDB打造TOP榜小程序
  • 一起来学SpringBoot | 第三篇:SpringBoot日志配置
  • 移动端唤起键盘时取消position:fixed定位
  • 用 Swift 编写面向协议的视图
  • 怎么把视频里的音乐提取出来
  • 中国人寿如何基于容器搭建金融PaaS云平台
  • 仓管云——企业云erp功能有哪些?
  • 积累各种好的链接
  • # Redis 入门到精通(九)-- 主从复制(1)
  • #LLM入门|Prompt#3.3_存储_Memory
  • (1)常见O(n^2)排序算法解析
  • (NO.00004)iOS实现打砖块游戏(九):游戏中小球与反弹棒的碰撞
  • (vue)el-tabs选中最后一项后更新数据后无法展开
  • (补)B+树一些思想
  • (超详细)2-YOLOV5改进-添加SimAM注意力机制
  • (二刷)代码随想录第16天|104.二叉树的最大深度 559.n叉树的最大深度● 111.二叉树的最小深度● 222.完全二叉树的节点个数
  • (附源码)php投票系统 毕业设计 121500
  • (附源码)计算机毕业设计ssm本地美食推荐平台
  • (牛客腾讯思维编程题)编码编码分组打印下标题目分析
  • (十七)Flink 容错机制
  • (十三)Maven插件解析运行机制
  • (一)Kafka 安全之使用 SASL 进行身份验证 —— JAAS 配置、SASL 配置
  • (一)python发送HTTP 请求的两种方式(get和post )