经过一段时间的数据结构与算法的学习,和学习了前人的经验,为了更好的指导自己(希望也能帮助到别人)之后数据结构与算法的学习,总结一下数据结构与算法学习的方法。以及推荐大家看看一套学习教程,有助于快速入门:https://4m.cn/7MHVd 一、记住数据结构,记住算法思想(是什么) 我觉得这个是数据 ...
分类:
编程语言 时间:
2020-12-04 11:16:07
阅读次数:
8
1. 什么是哈希表 首先有这么一种情况,有24个人编号分别为1~24,我们需要将 24 人均分成 6 个组! 编号除 6 余数为 0 的为第零组: 6、12、18、24 编号除 6 余数为 1 的为第一组: 1、7、13、19 编号除 6 余数为 2 的为第二组: 2、8、14、20 编号除 6 余 ...
分类:
编程语言 时间:
2020-12-04 10:55:51
阅读次数:
5
有了二叉搜索树为什么还要红黑树,以下面几个例子举例,如下面的二叉树可以达到很好的搜索效果 5 7 11 15 19 21 25 26 61 99 再看下面这棵树,我们将下面的数据按从左至右的顺序构造一棵二叉搜索树 15 13 16 11 9 7 5 3 按照之前我们二叉搜索树构建构建的方式,我们将得 ...
分类:
编程语言 时间:
2020-12-03 12:28:09
阅读次数:
15
在二叉搜索树查找(请戳我)一文中主要介绍了二叉搜索树的查找,本文将继续介绍其插入和删除操作。二叉搜索树的插入和删除关键在于在插入和删除的过程中如何继续保持二叉搜索树的性质。二叉搜索树结点定义如下:typedefstructBSTreeNode{Typekey;//关键字(键值)structBSTreeNode*left;//左孩子structBSTreeNode*right;//右孩子struct
分类:
编程语言 时间:
2020-11-23 12:28:22
阅读次数:
8
在二叉堆(请戳我)中介绍了二叉堆的概念以及基本性质,本文主要对二叉堆的主要实现进行分析。首先,还是给出上文中二叉堆的定义。template<classT>classMaxHeap{private:T*mHeap;//数据intmCapacity;//总的容量intmSize;//实际容量private://最大堆的向下调整算法voidfilterdown(intstart,intend
分类:
编程语言 时间:
2020-11-23 12:28:03
阅读次数:
6
堆的应用场景堆(heap)又被为优先队列(priorityqueue)。尽管名为优先队列,但堆并不是队列。回忆一下,在队列中,我们可以进行的限定操作是dequeue和enqueue。dequeue是按照进入队列的先后顺序来取出元素。而在堆中,我们不是按照元素进入队列的先后顺序取出元素的,而是按照元素的优先级取出元素。这就好像候机的时候,无论谁先到达候机厅,总是头等舱的乘客先登机,然后是商务舱的乘客
分类:
编程语言 时间:
2020-11-23 12:27:45
阅读次数:
6
上周面试一个候选人,问了一个数据结构与算法的问题,表达式求值。题目大概是这样的:输入长度为n的字符串,例如:1+2+345输出表达式的值,即:63我暗示的问:应该用什么数据结构?候选人回答:栈。画外音:算是答对。问:时间复杂度呢?回答:O(n^2)画外音:额,应该不需要两个for循环吧。我接着提示:应该先计算哪一步?候选人回答:先计算3*4。画外音:额,难道是乘除大于加减?实际应该先计算1+2,说
分类:
其他好文 时间:
2020-11-16 13:57:51
阅读次数:
16
1. 树的概念 树(英语:tree)是一种抽象数据类型(ADT)或是实作这种抽象数据类型的数据结构,用来模拟具有树状结构性质的数据集合。它是由n(n>=1)个有限节点组成一个具有层次关系的集合。把它叫做“树”是因为它看起来像一棵倒挂的树,也就是说它是根朝上,而叶朝下的。它具有以下的特点: 每个节点有 ...
分类:
编程语言 时间:
2020-10-29 10:40:09
阅读次数:
25
数据结构与算法 大家都知道选择合适的数据结构将会显著地提升代码的性能。即使是像数组和集合这样相似的两种数据结构,在高负荷的运行环境下也会表现得天差地别。但是就算数据结构确定了,代码的速度也还会受另一重要因素影响,那就是算法。 那么数据结构与算法,到底难吗?说实话,难,因为很抽象,也复杂,再加上我们的 ...
分类:
编程语言 时间:
2020-10-19 23:05:28
阅读次数:
48
前言 有些小伙伴可能会有疑惑,为什么面试总喜欢问算法与数据结构问题,这是有原因的 首先,算法能看出一个程序员的 基本功 ,数据结构与算法是计算机领域里面最最基础的学科,其他更高级的领域都或多或少都涉及到算法与数据结构,说算法与数据结构为其他计算机领域的地基也不过分。而且对于校招的小伙伴们来说,可能并 ...
分类:
编程语言 时间:
2020-10-19 23:04:59
阅读次数:
46