![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
算法竞赛
文章平均质量分 74
陈大大陈
大家好,我对编程非常感兴趣!有喜欢编程的同学我们可以做朋友,一起学习进步。
我还是阿里云乘风者计划专家博主,致力于为编程初学者答疑解惑。
展开
-
从零带你底层实现unordered_map的代码补全
改了一下开散列,加入了哈希桶,上期忘记加上了,现在补上,不好意思。原创 2023-11-28 14:58:43 · 469 阅读 · 2 评论 -
从零带你底层实现unordered_map (2)
💯 博客内容:从零带你实现unordered_map😀 作 者:陈大大陈🚀 个人简介:一个正在努力学技术的准C++后端工程师,专注基础和实战分享 ,欢迎私信!💖 欢迎大家:这里是CSDN,我总结知识和写笔记的地方,喜欢的话请三连,有问题请私信 😘哈希/散列:映射,关键字和另一个值建立一个关联关系。哈希表/散列表:映射,关键字和储存位置建立一个关联关系。哈希/散列是一种算法思想,而哈希表/散列表是基于这种算法思想而实现的一种数据结构,这点很容易混淆。上一篇博客介绍了两个解决哈希冲突的方法,原创 2023-11-28 14:20:30 · 1287 阅读 · 22 评论 -
从零带你底层实现unordered_map (1)
它是一个单向的迭代器。为什么专门提到这个呢?因为这是我踩过坑的地方!!单向迭代器压根就不能使用sort函数来排序!std::unordered_map的迭代器类型是ForwardIterator,而不是sort函数要求的RandomAccessIterator,这里不符合。我们要排序的话,还是将unordered_map里存的值,转存到vector里面。然后我们再自定义一个排序方法,对vector进行排序。原创 2023-11-20 23:08:47 · 1004 阅读 · 19 评论 -
(面试)谈谈我对C++面向对象特性的理解
总的来说,面向对象是一种方法,这种方法是用来组织设计和实现的。组织设计就是找到解决问题的思路。实现就是把代码写出来。面向对象关键的核心在于,对象是组织和实现主要关注的东西,而不是过程。原创 2023-10-07 20:10:03 · 918 阅读 · 21 评论 -
【PAT B 1010,1011】一元多项式求导 ,A+B和C
设计函数求一元多项式的导数。(注:xn(n为整数)的一阶导数为nxn−1。给定区间 [−231,231] 内的 3 个整数A、B和C,请判断A+B是否大于C。原创 2023-07-06 16:27:50 · 600 阅读 · 9 评论 -
爱玩粥的有福了,带图形界面的明日方舟皮肤的员工管理系统,数据结构期末实训满分。
这个程序底层是easyx图形库,通过在easyx上封装的一个工具类(即输入框、按钮、label等),是在此基础上开发的这个系统。我们期末的数据结构实训已经结束了,我凭借着一手粥批图形界面员工管理系统给老师整不会了,也是顺利得到优秀,接下来就给大家展示一下我一周的成果!原创 2023-07-03 10:49:42 · 737 阅读 · 40 评论 -
【LeetCode训练营 189】轮转数组详解
这道题目我目前有三种解法,你能想到第四种解法吗?评论区或者私信告诉我。原创 2023-06-13 22:34:17 · 1296 阅读 · 2 评论 -
【茶话数据结构】查找最短路径——Dijkstra算法详解(保姆式详细图解,步步紧逼,保你学会)
复习到离散数学图论时,想起来这个算法,感觉很有写博客的必要!今天这篇博客就来讲一下查找最短路径的Dijkstra算法。Dijkstra 算法,是由荷兰计算机科学家 Edsger Wybe Dijkstra 在1956年发现的算法,戴克斯特拉算法使用类似广度优先搜索的方法解决赋权图的单源最短路径问题。Dijkstra 算法原始版本仅适用于找到两个顶点之间的最短路径,后来更常见的变体固定了一个顶点作为源结点然后找到该顶点到图中所有其它结点的最短路径,产生一个最短路径树。本算法每次取出未访问结点中距离最小的原创 2023-06-05 23:50:55 · 7676 阅读 · 47 评论 -
【数据结构】插入排序详细图解(一看就懂)
我们将原数组空间看成两个部分,前边是有序部分,后边是无序部分,有序部分我们默认为它就已经是排好序的,在尾部新加入的元素有可能会导致整个有序数组变得无序,因此我们需要进行调整。调整方式就是将新加入的元素进行对比并往前移动,新加入元素和它前边的元素进行对比,如果它比它前边的元素小,则二者互换位置,不断重复这个过程,直到它前边的元素小于它才会停止,这样一来,他就仍然是有序数组。原创 2023-05-31 11:59:45 · 2472 阅读 · 57 评论 -
【LeetCode训练营】用栈来实现队列+用队列来实现栈 详解
每次栈Popst出栈时都要把所有的元素都出完之后,才能从Pushst中追加新数据,当Popst的数据没有全部出栈完成时,不能将Pushst的元素入栈到Popst,这样会导致元素的执行顺序混乱。原创 2023-05-18 17:02:14 · 1968 阅读 · 47 评论 -
假如面试官让你十分钟完成双向循环链表
双向循环链表那么多的功能,怎么是10分钟能写完的东西呢?为了尽可能地减少代码量,让我们能在10分钟内打出来,我们需要发掘其中可以简化的部分。紧接着就是头删和尾删,同理,它们也不过是LTErase函数在头部和尾部的实现而已。要是我问你会不会写双向循环链表,那你一定会不假思索的回答——我当然会。这样的代码量,我勉强能在10分钟之内打完,大家就更不用说了,5分钟足矣。反正头插和尾插也不过是LTInsert函数在头部和尾部的实现而已。如图,我们第一时间想到的恐怕就是这样的写法,又臭又长。实现之后大概就是这个样子。原创 2023-05-13 18:58:44 · 1571 阅读 · 41 评论 -
【算法竞赛】运算符秒杀大厂面试题
本期是一些大厂的面试题,都是关于运算符的,不多,但是涵盖的知识不少,希望大家有所收获!原创 2023-04-30 22:20:53 · 1312 阅读 · 45 评论