会员
众包
新闻
博问
闪存
赞助商
HarmonyOS
Chat2DB
所有博客
当前博客
我的博客
我的园子
账号设置
会员中心
简洁模式
...
退出登录
注册
登录
linx000
博客园
首页
新随笔
联系
订阅
管理
上一页
1
2
2023年11月21日
拓扑排序
摘要: 一、拓扑排序介绍 拓扑排序是对有向无环图(DAG)中的节点进行排序的一种算法。它的核心就是思想是通过寻找入度(指向该节点的边的数量)为0的节点,从而遵循有向图的前后依赖关系,构建一个有序的节点序列。 二、拓扑排序的操作 1.根据实际的问题构建一个有向无环图 2.统计每个节点的入度,将依赖关系表示为有
阅读全文
posted @ 2023-11-21 19:03 clinx000
阅读(561)
评论(0)
推荐(0)
2023年11月20日
二分查找
摘要: 一、二分查找介绍 首先使用二分法的前提是这个数组或者序列是排好序的。对于一个排好序的数组(升序),如果要让我们从中找一个指定的数并输出它的下标,我们可以直接暴力枚举,时间复杂度为O(n),当我们使用二分查找的时候它的时间复杂度为O(log n) 二分法的核心思想就是:每次都将查询的范围缩小一半 还是
阅读全文
posted @ 2023-11-20 15:17 clinx000
阅读(52)
评论(0)
推荐(0)
2023年11月19日
双指针
摘要: 一、双指针介绍 一般来说是使用两个指针(大多数情况是使用的两个变量)来对一个对象进行处理,两个指针指向不同的元素,然后进行比较从而解决问题 可以用于优化暴力算法的时间复杂度 例如:给你一个已近排好序的数组v,现在需要你删除数组中的重复元素,并输出删除后的数组的长度 当然你可以的直接使用unique直
阅读全文
posted @ 2023-11-19 14:42 clinx000
阅读(150)
评论(0)
推荐(0)
2023年11月16日
分组循环
摘要: 一、适用场景 对于一个数组,要做多次判断条件相同的处理 二、核心思想 一般分为外层循环和内层循环,两个循环用于处理不同的事情 1.外层循环用于做准备工作和内层循环后的统计工作(例如求最大值) 2.内层循环用于遍历数组 时间复杂度为O(n),因为中间的变量 " i " 是一直在加,没有减小过 模板:
阅读全文
posted @ 2023-11-16 11:41 clinx000
阅读(129)
评论(0)
推荐(0)
2023年11月12日
c++ lambda表达式
摘要: 一、lambda语句介绍 在cppreference中对lambda的解释是:一个能够捕获作用域中变量的未命名函数对象 个人认为就是一个用于快速定义一个匿名函数的语句 使用格式 1.capture子句,lambda的核心,通过改变[ ]中的值,来设定捕获的范围 2.参数列表 ,可选,用于确定捕获参数
阅读全文
posted @ 2023-11-12 19:17 clinx000
阅读(78)
评论(0)
推荐(0)
2023年11月11日
c++ function使用
摘要: 一、function介绍 funciotn是从c++11开始支持的特性,使用它需要包含<functional>头文件 在cppreference中解释为:类模板std::function是一个通用的多态函数包装器。std::function的实例可以对任何可以调用的目标实体进行存储、复制、和调用操作
阅读全文
posted @ 2023-11-11 20:56 clinx000
阅读(2258)
评论(0)
推荐(0)
上一页
1
2
公告