【考研408常用数据结构】C/C++实现代码汇总

文章目录

前言

Github代码仓库地址

这一篇文章是因为有几个玩的比较好的朋友觉得我DS学的还行,然后他们也要准备考研了(有24也有25的),就希望我出一篇讲DS的文章,所以就有了这篇文章。

(毕竟现在的互联网好像是不论是小中大厂好像都喜欢问算法哈哈哈,也算给自己复习一下)

其实掌握这些数据结构最快速的方法就是先了解基础,自己动手实现一边,然后分析这些结构可以用在什么场景下。

然后基于他们的特性去刷题。

比如我做树的题的时候,一定最先想到的就是递归,左子树递归,右子树递归等操作。

要求O(1)时间复杂度想到的就是Hash表,要求无额外空间使用,那就是原地算法。

字符串顺序颠倒,反转,想到手摇算法等等。

附一张LeetCode刷题情况(哈哈哈,很多都是补卡的)。

反正刷算法,最重要的应该就是perseverance。

数组

多维数组的原理、作用

多维数组的原理与作用

稀疏数组

稀疏数组

链表

单向链表的增删改查的具体实现思路

详解单链表的增删改查的实现
单向链表的CRUD

约瑟夫环问题(可不学)

约瑟夫环问题

双向链表

双向链表的CRUD

二叉搜索树

顺序与链式存储结构,前中后序以及层序遍历

中序线索二叉树

中序线索二叉树的实现

哈夫曼树的编码与译码

哈夫曼树的编码实现
哈夫曼树的译码实现

红黑树

B树

B+树

顺序与链式结构队列实现

顺序与链式存储结构队列实现

优先队列排序算法(重点)

优先队列排序算法我第一次见到是再MySQL中。

对于MySQL5.6之后,会有一个算法叫做优先队列排序算法,大概方式就是维护一个大小为limit X中X数量的大顶堆,然后遍历所有数据并替换大顶堆的值,这样子就不需要对无用的数据进行排序了。并且我也在2023的考研题目中一眼就看到了基于优先队列排序算法的题目,所以我感觉这个算法思路还是很妙的。

顺序存储结构与链式存储结构栈

顺序栈和链栈详解
代码实现与讲解

单调栈算法(可不学)

邻接矩阵与邻接表的深度优先遍历

图操作之邻接矩阵与邻接表的深度优先遍历

相关推荐
冠位观测者2 小时前
【Leetcode 每日一题】2900. 最长相邻不相等子序列 I
数据结构·算法·leetcode
努力写代码的熊大2 小时前
链表的中间结点数据结构oj题(力扣876)
数据结构·leetcode·链表
y102121042 小时前
Pyhton训练营打卡Day27
java·开发语言·数据结构
daiwoliyunshang2 小时前
哈希表实现(1):
数据结构·c++
GG不是gg2 小时前
排序算法之高效排序:快速排序,归并排序,堆排序详解
数据结构·算法·排序算法
GG不是gg2 小时前
排序算法之线性时间排序:计数排序,基数排序,桶排序详解
数据结构·算法·排序算法
越城2 小时前
深入理解二叉树:遍历、存储与算法实现
c语言·数据结构·算法
Hygge-star3 小时前
【数据结构】二分查找-LeftRightmost
java·数据结构·算法
努力的小帅3 小时前
C++_STL_map与set
开发语言·数据结构·c++·学习·leetcode·刷题
与己斗其乐无穷4 小时前
数据结构(3)线性表-链表-单链表
数据结构·链表