数据结构与算法
文章平均质量分 64
朱雨鹏
这个作者很懒,什么都没留下…
展开
-
数据结构-堆
文章目录一、Heap的定义二、Heap的特点三、二叉堆1.二叉堆的性质2.二叉堆的实现方式3.二叉堆的添加4.二叉堆顶的删除5.二叉堆的代码实现(详解)一、Heap的定义堆就是可以迅速找到一堆数中的最大值或者最小值的数据结构,所以堆可以用来实现优先队列。在java中PriorityQueue的底层用到了堆。堆常用数组实现。二、Heap的特点将根节点最大的堆叫大顶堆或者大根堆,根节点最小的堆叫小顶堆或小根堆。常见的堆有二叉堆,斐波拉契堆。如果是大顶堆,常见操作及时间复杂度:查找最大值:o(1)原创 2021-01-16 13:11:29 · 655 阅读 · 2 评论 -
数据结构-字典树
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录1.定义2.基本性质3.场景应用1.自动补全2.拼写检查3. IP 路由 (最长前缀匹配)4.核心思想5.代码实现1.定义 字典树,即 Trie 树,又称单词查找树或键树,是一种树形结构 。典型应用是用于统计和排序大量的字符串(但不仅限于字符串), 所以经常被搜索引擎系统用于文本词频统计。它的优点是:最大限度地减少无谓的字符串比较,查询效率比哈希表高。(空间换时间)思考我们能够使用平衡树或哈希表在字符原创 2021-01-16 00:30:58 · 278 阅读 · 0 评论 -
算法-题目整理
2020.01.13更新文章目录数组链表深度优先和广度优先树排序贪心动态规划数组链表深度优先和广度优先树排序贪心动态规划原创 2021-01-27 20:45:04 · 124 阅读 · 0 评论 -
数据结构与算法-基础整理
leedcode刷算法学习方法需要注重:心态一定要好初学时,告诉自己不是去做题的,而是去学题的。不会做很正常,初期多学习别人的解法。等自己有了大量的练题累积再去挑战题目。最大误区:做题只做一遍!刷题核心:多次刷相同的题目,每题用多种解法完成并思考比较优劣。解题思想:升维,空间换时间刷题技巧:五毒神掌第一掌:5分钟思考思路,优先找出时间复杂度低的再尝试做。如果完全没思路,直接去看高票解法,看多个解法,比较优劣,然后凭印象默下第一遍。第二掌:自己默写后,再去查看不同的好解法,进行比较和自我原创 2020-12-06 23:29:38 · 474 阅读 · 0 评论 -
算法-模板
文章目录递归思维要点分治特点分治模板回溯特点递归思维要点不要人肉递归找到最近最简方法,将其拆解成可重复解决的问题(找重复子问题)善于利用数学归纳法思维## 代码模板递归终止条件处理当前层逻辑下探到下一层清理当前层(可省略)// Javapublic void recur(int level, int param) { // terminator if (level > MAX_LEVEL) { // process result r.原创 2020-12-20 20:57:45 · 475 阅读 · 1 评论