网站首页 站内搜索

搜索结果

查询Tags标签: 复杂度,共有 1155条记录
  • 【算法】归并排序

    归并排序是建立在归并操作上的一种有效的排序算法,1945年由约翰冯诺伊曼首次提出。该算法是采用分治法(Divide and Conquer)的一个非常典型的应用,且各层分治递归可以同时进行。 一、基本思想 归并排序算法是将两个(或两个以上)有序表合并成一个新的有序表,即把待排…

    2022/7/5 14:24:30 人评论 次浏览
  • 深入理解时间复杂度

    时间复杂度 O(f(n))算法需要执行基本运算的次数的 级别。一,思考 目前个人认为:时间复杂度实际就是考量两种情况。 1. 循环 for(),while() 2. 递归 二,何为n理论上指:问题规模。 拆开来说,就是for(),while()循环了n次,递归了多少次(递归的情况略微复杂)…

    2022/7/3 23:22:05 人评论 次浏览
  • python、js快慢指针解决环形链表问题

    题目 leetcode 241题,环形链表。https://leetcode.cn/problems/linked-list-cycle/ 思路 1、哈希表 ​ 建立一个哈希表,每次访问的节点都存储起来。如果某个节点在哈希表中已存在,说明有环。时间复杂度O(n),空间复杂度o(n) 2、双指针之快慢指针 快指针每次移动2个节点…

    2022/7/1 14:21:59 人评论 次浏览
  • LeetCode 738. Monotone Increasing Digits

    LeetCode 738. Monotone Increasing Digits (单调递增的数字) 题目 链接 https://leetcode.cn/problems/monotone-increasing-digits/ 问题描述 当且仅当每个相邻位数上的数字 x 和 y 满足 x <= y 时,我们称这个整数是单调递增的。 给定一个整数 n ,返回 小于或等于 …

    2022/6/28 23:27:02 人评论 次浏览
  • LeetCode 435. Non-overlapping Intervals

    LeetCode 435. Non-overlapping Intervals (无重叠区间) 题目 链接 https://leetcode.cn/problems/non-overlapping-intervals/ 问题描述 给定一个区间的集合 intervals ,其中 intervals[i] = [starti, endi] 。返回 需要移除区间的最小数量,使剩余区间互不重叠 。 示例…

    2022/6/28 6:22:19 人评论 次浏览
  • 复杂度分析

    Θ-同阶无穷大 O-同阶及低阶无穷大 Ω-同阶及高阶无穷大 o-低阶无穷大 ω-高阶无穷大 性质 1.传递性 eg. f(n)=O(g(n)),g(n)=O(h(n))→f(n)=O(h(n)) 2.Θ,O,Ω具有反身性 f(n)=O(f(n))

    2022/6/28 6:22:12 人评论 次浏览
  • java集合 总结篇

    ListArrayList Vector LinkList SetHashSet TreeSet LinkedHashSet Queue Map 大方向上,HashMap 里面是一个数组,然后数组中每个元素是一个单向链表。上图中,每个绿色的实体是嵌套类 Entry 的实例,Entry 包含四个属性:key, value, hash 值和用于单向链表的 next。cap…

    2022/6/27 1:25:54 人评论 次浏览
  • 分布式机器学习:同步并行SGD算法的实现与复杂度分析(PySpark)

    1 分布式机器学习概述 大规模机器学习训练常面临计算量大、训练数据大(单机存不下)、模型规模大的问题,对此分布式机器学习是一个很好的解决方案。 1)对于计算量大的问题,分布式多机并行运算可以基本解决。不过需要与传统HPC中的共享内存式的多线程并行运算(如OpenM…

    2022/6/27 1:21:45 人评论 次浏览
  • 数值优化:经典随机优化算法及其收敛性与复杂度分析

    1 随机优化算法概述 随着大数据的出现,确定性优化算法的效率逐渐称为瓶颈。为了说明这一点,我们来看一个用梯度下降法求解线性回归的例子。 给定训练样本\(D = \{(x_i, y_i)\}_{i=1}^n\),线性回归的目标函数如下: \[f(w) = \frac{1}{n}\sum_{i=1}^nf_i(w)= \frac{1}{n…

    2022/6/24 1:18:02 人评论 次浏览
  • 算法:前缀和

    前缀和 一、介绍 前缀和算法是一种数据预处理方法,可用于快速求数组的区间和。前缀和是一种典型的空间换时间思想的应用。 前缀和可以简单地理解为数组的前 i 个元素的和,当然其具体可以应用在一维以及二维的数组中:快速求数组前 i 项之和 快速求数组的 [i,j] 范围内的…

    2022/6/24 1:15:31 人评论 次浏览
  • 商户地理位置查询 + K近邻图

    任务一:商户地理位置查询: 随着智能手机的普及,地理信息在诸如高德地图、大众点评、饿了么等App中得到广泛的应用,此次数据结构期末大作业将模拟实际生活中的查询需求,完成基于地理信息和文本信息的查找任务。问题的说明如下:系统中已经收集到许多商户的信息,每家商…

    2022/6/21 23:21:49 人评论 次浏览
  • LeetCode 376. Wiggle Subsequence

    LeetCode 376. Wiggle Subsequence (摆动序列) 题目 链接 https://leetcode.cn/problems/wiggle-subsequence/ 问题描述 如果连续数字之间的差严格地在正数和负数之间交替,则数字序列称为 摆动序列 。第一个差(如果存在的话)可能是正数或负数。仅有一个元素或者含两个不…

    2022/6/20 23:22:09 人评论 次浏览
  • 由数据范围反推算法复杂度及算法种类

    一般OJ的时间限制是1秒或2秒。 在这种情况下,C++代码中的操作次数控制在 10^7 ∼ 10^8为最佳。 下面给出在不同数据范围下,代码的时间复杂度和算法该如何选择:n <= 12 算法复杂度:n! 一般算法:暴力dfsn <= 30 算法复杂度:2^n 一般算法: dfs+剪枝,状态压缩dpn…

    2022/6/20 5:20:26 人评论 次浏览
  • SD

    D1T1 树形 \(\text{DP}\)。 令 \(f_{u,s,k},(k\in\{0,1\})\) 表示仅考虑以点 \(u\) 为根的子树,固定 \(u\) 的权值为 \(s\),\(u\) 子树中是否有点的权比 \(u\) 的权大的方案数。 \[\begin{aligned}\\ f_{u,s,0}&=\sum_{v\in\operatorname{son}(u)}\sum_{w\in\operat…

    2022/6/19 23:23:39 人评论 次浏览
  • CF484A Bits

    CF484A Bits 题目 https://codeforces.com/problemset/problem/484/A 题解 思路 知识点:贪心,位运算。 每位独立考虑,要使 \(1\) 的数量最大,且答案最小,因此从低位开始遍历,在不超过 \(r\) 的情况下把 \(l\) 每位变 \(1\) 。 (一开始直接写了个结论,但太烦了qwq) …

    2022/6/17 23:21:12 人评论 次浏览
扫一扫关注最新编程教程