数据结构和算法
数据结构和算法
陈易德
这个作者很懒,什么都没留下…
展开
-
搞编程,你必知必会的复杂度分析
在开发中,我们会经常听到关于时间复杂度、空间复杂度相关词汇,如果你没有这方面的知识,你肯定会一脸懵逼。那什么是时间复杂度、空间复杂度还有我们又怎么去分析?首先我们先来弄清楚我们为什么需要做复杂度分析。为什么需要复杂度分析?真实的时间复杂度、空间复杂度我们需要在机器上执行我们编写的代码,才能统计出我们的代码这这个环境下的真实时间复杂度、空间复杂度。这种方法统计出来的结果非常准确,但是极限性也...转载 2020-04-03 00:48:14 · 297 阅读 · 0 评论 -
数据结构中堆、栈和队列的理解
一、堆堆是一种经过排序的树形数据结构,每个节点都有一个值,通常我们所说的堆的数据结构是指二叉树。所以堆在数据结构中通常可以被看做是一棵树的数组对象。而且堆需要满足一下两个性质:(1)堆中某个节点的值总是不大于或不小于其父节点的值;(2)堆总是一棵完全二叉树。堆分为两种情况,有最大堆和最小堆。将根节点最大的堆叫做最大堆或大根堆,根节点最小的堆叫做最小堆或小根堆。下图图一就是一个最大堆,图...转载 2020-03-08 00:13:47 · 347 阅读 · 0 评论 -
什么是“堆”,"栈","堆栈","队列",它们的区别
如果你学过数据结构,就一定会遇到“堆”,"栈","堆栈","队列",而最关键的是这些到底是什么意思?最关键的是即使你去面试,这些都还会问到,所以如果你不懂对你是损失很大的。堆栈都是一种数据项按序排列的数据结构,只能在一端(称为栈顶(top))对数据项进行插入和删除。要点:堆:顺序随意 栈:后进先出(Last-In/First-Out)堆 堆:什么是堆?又该怎...转载 2020-03-08 00:10:30 · 395 阅读 · 0 评论