
数据结构
文章平均质量分 61
loading。。。
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
面试: 排序算法总结
文章目录排序算法总结一、排序算法种类二、性能比较三、使用场景简单排序算法冒泡排序选择排序插入排序复杂排序算法快速排序归并排序堆排序希尔排序高级排序算法计数排序基数排序桶排序排序算法总结查找和排序算法是算法的入门知识,其经典思想可以用于很多算法当中。因为其实现代码较短,应用较常见。所以在面试中经常会问到排序算法及其相关的问题。但万变不离其宗,只要熟悉了思想,灵活运用也不是难事。一般在面试中最常考的是快速排序和归并排序,并且经常有面试官要求现场写出这两种排序的代码。对这两种排序的代码一定要信手拈来才行。还原创 2020-09-07 14:53:12 · 259 阅读 · 0 评论 -
红黑树与平衡二叉树的原理和区别
[json](https://www.jsonbest.com/zh)一.平衡二叉树平衡二叉树或者是空树,或者是具有如下特征的二叉排序树:(1 )左子树和右子树的深度之差的绝对值不超过1;(2)左子树和右子树也是平衡二叉树。若将二叉树上结点的平衡因子(Balance F a ctor, BF)定义为该结点左子树和右子树的深度之 差,则平衡二叉树上所有结点的平衡因子只可能觅-1、0和1。只要二叉树上有一个结点的平衡 因子的绝对值大于1 , 则该二叉树就是不平衡...原创 2020-04-09 16:28:13 · 7090 阅读 · 1 评论 -
链表深度复制
题目:请实现函数,复制一个复杂链表。在复杂链表中,每个结点除了有一个next指针指向下一个结点外,还有一个random指向链表中的任意结点或者NULL唯一难度在于无法一次复制成功, 因为当复制p时, p->random无法赋值, 因为还未创建出来, 所以做如下图操作第一轮做出如上图的链表第二轮指定复制节点的random第三轮抽取出结果即可#include<iostream...原创 2020-03-31 23:29:20 · 339 阅读 · 0 评论 -
两数相加, LeetCode#2
给出两个 非空 的链表用来表示两个非负的整数。其中,它们各自的位数是按照 逆序 的方式存储的,并且它们的每个节点只能存储 一位 数字。如果,我们将这两个数相加起来,则会返回一个新的链表来表示它们的和。您可以假设除了数字 0 之外,这两个数都不会以 0 开头。示例:输入:(2 -> 4 -> 3) + (5 -> 6 -> 4)输出: 7 -> 0 ->...转载 2020-03-29 17:13:25 · 92 阅读 · 0 评论 -
链表中间节点, LeetCode
给定一个带有头结点 head 的非空单链表,返回链表的中间结点。如果有两个中间结点,则返回第二个中间结点。记录的原因是我已经忘记链表该怎么写了, 按印象的写出来出问题了, 记录一下示例 1:输入:[1,2,3,4,5]输出:此列表中的结点 3 (序列化形式:[3,4,5])返回的结点值为 3 。 (测评系统对该结点序列化表述是 [3,4,5])。注意,我们返回了一个 ListNode...原创 2020-03-23 14:37:35 · 318 阅读 · 0 评论 -
温暖的签到题,西北大学集训队选拔赛(重现赛),线段树区间修改
温暖的签到题,西北大学集训队选拔赛(重现赛)给你一个长度为n的序列,初始为1,2,3...n,对其进行m次操作。操作有两种:1 l r 表示将区间[l,r]用 [1,2...r-l+1] 覆盖2 l r 查询[l,r]的区间和输入描述:第一行包含2个数字,n,m(1 <= n,m <= 1e5)接下来包含m行,格式如题面所示输出描述:对于每个操作2,输出一行一个整数表示答案原创 2019-05-12 15:55:42 · 263 阅读 · 0 评论 -
单调递增栈,P2659 美丽的序列
单调递增栈,P2659 美丽的序列GD是一个热衷于寻求美好事物的人,一天他拿到了一个美丽的序列。题目描述为了研究这个序列的美丽程度,GD定义了一个序列的“美丽度”和“美丽系数”:对于这个序列的任意一个区间[l,r],这个区间的“美丽度”就是这个区间的长度与这个区间的最小值的乘积,而整个序列的“美丽系数”就是它的所有区间的“美丽度”的最大值。现在GD想要你帮忙计算这个序列的“美丽系数”。原创 2019-04-22 19:06:48 · 546 阅读 · 0 评论 -
线段树详解
线段树详解RMQ线段树是处理区间问题的好的解决方法, 当有n个元素时对区间的操作可以在O(logn)时间内完成, 有q个询问也不会超时, 下面以Rang Minimum Query(RMQ, 即查询区间内最小值)为例, 进行说明。原创 2019-04-09 17:29:04 · 376 阅读 · 1 评论 -
算数表达式求值简单版,中缀转后缀运算,c++输出小数点位数控制
算术表达式求值 输入一个由数字、+,-,*,/ 组成的算术表达式,求其值。将中缀转为后缀c++中设置输出的函数在头文件<iomanip> 中, setprecision(x) 设置有效数字为x位, setiosflags(ios::fixed)将浮点数以固定小数点位数显示, 两个合起来实现固定小数点后有效位原创 2019-04-15 20:23:10 · 577 阅读 · 0 评论 -
寻找第k大值
快速排序来找第k大值可以达到线性的复杂度原创 2019-04-15 18:30:48 · 760 阅读 · 0 评论