数据结构笔记
文章平均质量分 70
陈大大陈
大家好,我对编程非常感兴趣!有喜欢编程的同学我们可以做朋友,一起学习进步。
我还是阿里云乘风者计划专家博主,致力于为编程初学者答疑解惑。
展开
-
从零带你底层实现unordered_map的代码补全
改了一下开散列,加入了哈希桶,上期忘记加上了,现在补上,不好意思。原创 2023-11-28 14:58:43 · 457 阅读 · 2 评论 -
从零带你底层实现unordered_map (2)
💯 博客内容:从零带你实现unordered_map😀 作 者:陈大大陈🚀 个人简介:一个正在努力学技术的准C++后端工程师,专注基础和实战分享 ,欢迎私信!💖 欢迎大家:这里是CSDN,我总结知识和写笔记的地方,喜欢的话请三连,有问题请私信 😘哈希/散列:映射,关键字和另一个值建立一个关联关系。哈希表/散列表:映射,关键字和储存位置建立一个关联关系。哈希/散列是一种算法思想,而哈希表/散列表是基于这种算法思想而实现的一种数据结构,这点很容易混淆。上一篇博客介绍了两个解决哈希冲突的方法,原创 2023-11-28 14:20:30 · 1271 阅读 · 22 评论 -
(面试)谈谈我对C++面向对象特性的理解
总的来说,面向对象是一种方法,这种方法是用来组织设计和实现的。组织设计就是找到解决问题的思路。实现就是把代码写出来。面向对象关键的核心在于,对象是组织和实现主要关注的东西,而不是过程。原创 2023-10-07 20:10:03 · 857 阅读 · 21 评论 -
爱玩粥的有福了,带图形界面的明日方舟皮肤的员工管理系统,数据结构期末实训满分。
这个程序底层是easyx图形库,通过在easyx上封装的一个工具类(即输入框、按钮、label等),是在此基础上开发的这个系统。我们期末的数据结构实训已经结束了,我凭借着一手粥批图形界面员工管理系统给老师整不会了,也是顺利得到优秀,接下来就给大家展示一下我一周的成果!原创 2023-07-03 10:49:42 · 667 阅读 · 40 评论 -
期末不知道如何复习数据结构的话,不妨点进来看看。看明白保你过。
本文适合最近要靠数据结构的同学们,代码附有详尽解释。原创 2023-06-22 23:04:00 · 740 阅读 · 48 评论 -
【LeetCode训练营 189】轮转数组详解
这道题目我目前有三种解法,你能想到第四种解法吗?评论区或者私信告诉我。原创 2023-06-13 22:34:17 · 1222 阅读 · 2 评论 -
【茶话数据结构】查找最短路径——Dijkstra算法详解(保姆式详细图解,步步紧逼,保你学会)
复习到离散数学图论时,想起来这个算法,感觉很有写博客的必要!今天这篇博客就来讲一下查找最短路径的Dijkstra算法。Dijkstra 算法,是由荷兰计算机科学家 Edsger Wybe Dijkstra 在1956年发现的算法,戴克斯特拉算法使用类似广度优先搜索的方法解决赋权图的单源最短路径问题。Dijkstra 算法原始版本仅适用于找到两个顶点之间的最短路径,后来更常见的变体固定了一个顶点作为源结点然后找到该顶点到图中所有其它结点的最短路径,产生一个最短路径树。本算法每次取出未访问结点中距离最小的原创 2023-06-05 23:50:55 · 7220 阅读 · 47 评论 -
【数据结构】插入排序详细图解(一看就懂)
我们将原数组空间看成两个部分,前边是有序部分,后边是无序部分,有序部分我们默认为它就已经是排好序的,在尾部新加入的元素有可能会导致整个有序数组变得无序,因此我们需要进行调整。调整方式就是将新加入的元素进行对比并往前移动,新加入元素和它前边的元素进行对比,如果它比它前边的元素小,则二者互换位置,不断重复这个过程,直到它前边的元素小于它才会停止,这样一来,他就仍然是有序数组。原创 2023-05-31 11:59:45 · 2303 阅读 · 57 评论 -
【数据结构】向上调整建堆和向下调整建堆的天壤之别以及堆排序算法
我们仍旧按最坏的情况来算。最后一层的每个节点都需要向上调整h-1次,光最后一层调整的次数就已经有2^(h-1)*(h-1)次了。光看这一层可以看出差距。上一条讲的向下调整的特点是节点多的层级调整的次数少,是少乘多。而现在讲的向上调整恰恰相反。节点多的层级调整的次数多,是多乘多,这就造成了时间复杂度的巨大差异。同样来计算一下。假设高度为h。F(h)=2^1*1+2^2*2+……+2^(h-2)*h-2+2^(h-1)*(h-1)同样使用错位相减,解得F(h) = 2^h原创 2023-05-25 20:13:49 · 1208 阅读 · 36 评论