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

文章目录

前言

Github代码仓库地址

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

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

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

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

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

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

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

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

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

数组

多维数组的原理、作用

多维数组的原理与作用

稀疏数组

稀疏数组

链表

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

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

约瑟夫环问题(可不学)

约瑟夫环问题

双向链表

双向链表的CRUD

二叉搜索树

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

中序线索二叉树

中序线索二叉树的实现

哈夫曼树的编码与译码

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

红黑树

B树

B+树

顺序与链式结构队列实现

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

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

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

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

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

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

单调栈算法(可不学)

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

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

相关推荐
程序员酥皮蛋4 分钟前
hot 100 第四十题 40.二叉树的层序遍历
数据结构·算法·leetcode
※DX3906※30 分钟前
Java排序算法--全面详解面试中涉及的排序
java·开发语言·数据结构·面试·排序算法
Chan162 小时前
LeetCode 热题 100 | 矩阵
java·开发语言·数据结构·算法·spring·java-ee·intellij-idea
im_AMBER2 小时前
Leetcode 136 最小栈 | 逆波兰表达式求值
数据结构·学习·算法·leetcode·
识君啊2 小时前
Java字符串算法核心攻略
java·数据结构·算法·leetcode·字符串·
郝学胜-神的一滴3 小时前
力扣86题分隔链表:双链表拆解合并法详解
开发语言·数据结构·算法·leetcode·链表·职场和发展
gihigo19983 小时前
SSA奇异谱分解:时频域信号成分分析与重构
数据结构·算法·重构
程序员阿鹏3 小时前
73.矩阵置零
数据结构·算法·矩阵
一叶落4383 小时前
LeetCode 191. 位1的个数(Hamming Weight)——三种解法详解(C语言)
c语言·数据结构·算法·leetcode
仰泳的熊猫3 小时前
题目1882:蓝桥杯2017年第八届真题-k倍区间
数据结构·c++·算法·蓝桥杯