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

数据结构初阶 - 总结

在这里插入图片描述

-0- 数据结构前言

什么是数据结构
什么是算法
数据结构和算法的重要性

-1- 时间复杂度和空间复杂度

👉数据结构 -1- 时间复杂度和空间复杂度 | C

算法效率
时间复杂度大O的渐进表示法eg
空间复杂度
常见复杂度对比

OJ

消失的数组
轮转数组

-2- 顺序表 与 链表

👉数据结构 -2.1- 顺序表
👉数据结构 -2.2- 链表 | 【单链表的增删查改】
👉数据结构 -2.3- 带头双向循环链表 | C

什么是线性表
顺序表什么是顺序表静态顺序表动态顺序表顺序表的实现增删查改
链表单链表什么是链表头结点单链表的实现带头双向循环链表链表的种类带头/不带头哨兵位(带头方便尾插)双向/单向循环/不循环带头双向循环链表的实现
顺序表和链表的区别

OJ(顺序表)

移除元素
删除有序数组中的重复项
合并两个有序数组

OJ(链表)

反转链表
移除单链表的元素
合并两个有序链表
链表的中间结点
链表中的倒数第K个结点
环形链表Ⅰ
环形链表Ⅱ
链表分割
链表的回文结构
相交链表
复制带随机指针的链表(较难)

-3- 栈和队列

👉数据结构 -3.1- 栈 | C
👉数据结构 -3.2- 队列 | C

栈什么是栈栈的实现数组栈
队列什么是队列队列的实现链式队列

OJ

有效的括号
用队列实现栈
用栈实现队列
设计循环队列

-4- 二叉树

👉【二叉树】概念知识| 数据结构 | [笔记]
👉【二叉树-堆】| [堆的实现【建堆算法图解+分析】]
👉二叉树的实现 | C(遍历、节点个数、查找)

树相关概念树的表示孩子兄弟表示法
二叉树满二叉树完全二叉树堆大堆小堆parent与child下标关系堆的实现向上调整向下调整建堆算法推排序TopK问题二叉树的遍历前序遍历中序遍历后序遍历层序遍历判断二叉树是否为完全二叉树二叉树的函数接口实现

OJ

单值二叉树
相同的树
另一颗树的子树
二叉树的前序遍历
对称二叉树

-5- 排序

👉数据结构 - 排序 | C (插入、希尔、选择、堆、冒泡)
👉数据结构 - 快排 | C
👉数据结构 - 归并排序 | C
👉数据结构 - 计数排序 | C

插入排序直接插入排序(InsertSort)希尔排序(ShellSort)
选择排序选择排序(SelectSort)堆排序(HeapSort)
交换排序冒泡排序(BubbleSort)快速排序(QuickSort)递归Hoare版挖坑法前后指针非递归
归并排序MergeSort递归迭代
计数排序很局限
http://www.lryc.cn/news/58592.html

相关文章:

  • 代码随想录算法训练营第四十四天-动态规划6|518. 零钱兑换 II ,377. 组合总和 Ⅳ (遍历顺序决定是排列还是组合)
  • wma格式怎么转换mp3,4种方法超快学
  • 【数据结构与算法】判定给定的字符向量是否为回文算法
  • 考研数二第十七讲 反常积分与反常积分之欧拉-泊松(Euler-Poisson)积分
  • 【论文总结】理解和减轻IoT消息协议的安全风险
  • SpringBoot基础入门
  • jar 包与 war 包区别
  • 【数据结构:复杂度】时间复杂度
  • 京东pop店铺订单导出
  • 论文阅读:Towards Stable Test-time Adaptation in Dynamic Wild World
  • 2022国赛27:Linux-1时间服务chrony配置
  • Java——二维数组中的查找
  • Android 9.0 添加关机铃声功能实现
  • IPv4 和 IPv6 的组成结构和对比
  • Spring的事务管理
  • MCAL知识点(十六):VADC驱动配置详解(理论基础篇)
  • MySQL--库的操作--校验规则对于数据库的影响--0409
  • markdown-it基本使用
  • CMake入门教程【核心篇】8.3对象库
  • 单片机_CT107D训练平台电路原理图\蓝桥杯训练板\IO扩展模块\74HC138译码器
  • Rabbitmq消息确认机制
  • FinClip 云开发实践(附小程序demo)
  • 真正好用的工业品ERP系统应该是什么样的?
  • Shiro重定向
  • Greenplum数据库执行器——PartitionSelector执行节点
  • POJ 2311 Cutting Game
  • CTF-PHP反序列化漏洞1-基础知识
  • 【面试】记一次安恒面试及总结
  • 刹车制动(卡钳)TOP3供应商份额超50%,哪些本土供应商突围
  • Go分布式爬虫笔记(二十二)