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

数据结构学习笔记

C++ 中常用数据结构可分为线性结构、树形结构、图形结构三大类,各类别包含的结构及实现方式如下:
"一、 线性结构"
数据元素呈一对一的线性关系,实现方式以原生语法或标准库容器为主。
"数组"
实现:原生数组 type arr[N]、"标准库 std::array(固定大小)/std::vector(动态大小)"。
"链表"
实现:自定义struct节点(数据域 + 指针域),手动管理指针;标准库std::vector(动态大小) / std::list(双向链表)/std::forward_list(单向链表)。
"栈"
实现:基于std::vector/std::deque封装;"标准库std::stack容器适配器(默认底层std::deque)"。
"队列"
实现:基于std::deque/std::list封装;"标准库std::queue(普通队列)、std::priority_queue(优先级队列,底层默认堆)"。
"二、 树形结构"
数据元素呈一对多的层次关系,实现方式以自定义结构体 + 指针为主,部分可借助标准库。
"普通二叉树"
实现:自定义struct节点,包含数据域 + 左 / 右孩子指针,手动构建树结构。
"二叉搜索树(BST)"
实现:基于普通二叉树扩展,添加插入、删除、查找的规则(左子树值 < 根 < 右子树值)。
"平衡树(红黑树 / AVL 树)"
实现:自定义结构体实现复杂的旋转平衡逻辑;标准库std::map/std::set底层是红黑树,可直接使用。
"堆"
实现:基于数组模拟完全二叉树结构;"标准库std::priority_queue直接提供堆功能"。
"字典树(Trie 树)"

实现:自定义struct节点,包含字符数据 + 子节点指针数组(或哈希表),用于字符串高效检索。
"三、 图形结构"
数据元素呈多对多的网状关系,实现方式以邻接表或邻接矩阵为主。
"邻接矩阵实现"
方式:用二维数组 graph[N][N],graph[i][j] 表示节点i和j是否有边(有权值则存权值),适合稠密图。
"邻接表实现"
方式:用vector<vector<int>>(或vector<list<int>>),graph[i] 存储与节点i相邻的所有节点,适合稀疏图。
要不要我帮你整理C++ 各类数据结构的洛谷刷题适配清单,方便你针对性练习?

http://www.cnnetsun.cn/news/801686.html

相关文章:

  • 学校教室多功能布局平面图在线设计的实用技巧和方法
  • 智能交通管理:实时路况优化与拥堵预测
  • 【Python自动化】不懂代码怎么批量修图?这款 AI 工具把“脚本思维”封装成了傻瓜式软件!
  • 大模型面试真题解析+学习路线图,附200本PDF书籍和100套商业方案_AGI大模型面经汇总,太全了!
  • 【2026最新】大模型面试全攻略:23家科技公司面试经验+高频考点总结,助你轻松上岸
  • 提示设计用户协作全流程检查清单(架构师版)
  • 指针,C语言的灵魂与噩梦:从入门到“放弃”的终极指南 [特殊字符]
  • YOLO26改进 - 采样 | 小目标分割救星:HWD 降采样少丢细节提精度
  • 数字化种植牙企业
  • 【品牌速成】想做 Private Label 没图怎么办?解析 AI 图像技术如何实现产品图片的“虚拟贴牌”
  • 基于Java的工程车辆成本核算智慧管理系统的设计与实现全方位解析:附毕设论文+源代码
  • 【课程设计/毕业设计】基于springboot的社区志愿者服务系统springboot社区助老志愿管理服务平台的开发【附源码、数据库、万字文档】
  • SpringBoot 2.0 + Nacos + Sentinel 流控规则集中存储至nacos完整配置步骤
  • 计算机Java毕设实战-基于springboot的社区志愿者服务系统基于Spring Boot的社区助老志愿管理服务平台【完整源码+LW+部署说明+演示视频,全bao一条龙等】
  • 一文吃透网络传输七层协议:从原理到实际应用
  • Java毕设项目:基于springboot的社区志愿者服务系统(源码+文档,讲解、调试运行,定制等)
  • 【程序员必藏】深入理解Qwen视觉语言模型:架构创新与关键技术解析
  • 小白也能学会!vLLM本地部署大模型完整教程
  • 大模型微调经验分享:数据预处理、模型结构、训练参数与错误处理_AI大模型面经轻松应对面试!
  • 曾经的王,突然 MySQL 倒下了!!!
  • MATLAB数据分析,基于遗传算法,粒子群优化算法优化BP神经网络GA-BP和PSO-BP的数...
  • Java毕设项目:基于springboot的三体科幻社区管理系统的设计与实现(源码+文档,讲解、调试运行,定制等)
  • 31岁仍被说幼稚:上班最狠的PUA是让我们盼着自己变老
  • 生物医学研究新利器:自我进化LLM智能体架构与实战
  • 【2026全网首发】AI智能体完全指南:面试必备+大模型开发实战+学习资源全解析
  • 基于STM32的老年智能手环系统设计
  • 基于STM32的蓝牙智能控制风扇
  • kotlin
  • 4.2.多线程JUC-并发和并行
  • YOLO26改进 - 特征融合 | EFC增强层间特征相关性,通过多尺度特征交互减少冗余信息丢失即插即用