算法
文章平均质量分 84
算法
Abner G
怀揣“空杯”,期待满载而归
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
【数组】---Leetcode数组大白话
提示:本文题目跟随 代码随想录,刷题顺序。 【数组】---Leetcode题目总结🏆 前言⭐️ 数组基础🎯二分查找🍍题目🍋何时考虑🥝Leetcode 题解🎯双指针移除元素🍍题目🍋何时考虑🥝Leetcode 题解🎯有序数组的平方🍍题目🥝Leetcode 题解🎯长度最小的子数组 🏆 前言 本文题目跟随 代码随想录,刷题顺序。对题目进行自我总结;说的不对的地方,欢迎指正。 ⭐️ 数组基础 存放在连续内存空间 不能单个元素删除,只能覆盖 二维数组是多条连续的内存空间 🎯二分查找 Leetcode 🍍题目.原创 2022-05-21 00:03:09 · 781 阅读 · 0 评论 -
【双指针】-- 和为 S 的两个数字
题目: 在有序数组中找出两个数,使得和为给定的数 S。如果有多对数字的和等于 S,输出两个数的乘积最小的。 分析 乘积最小的规律是:两个数的差尽可能大。 要找两个数字,而且是数组,第一感觉就是双指针的策略 思路 使用双指针,一个指针指向元素较小的值,一个指针指向元素较大的值。 指向较小元素的指针从头向尾遍历,指向较大元素的指针从尾向头遍历。 如果两个指针指向元素的和 sum == target,那么这两个元素即为所求。 如果 sum > target,移动较大的元素,使 sum 变小一些原创 2022-05-12 22:49:42 · 231 阅读 · 0 评论 -
链表的二分查找--跳表
链表的二分查找--跳表前言对于链表查找优化跳表简图结构&优化索引时间复杂度计算插入数据时间复杂度删除数据总结 前言 我们都知道有序数组快速查找某个数据有二分查找法,链表是否能否实现“二分”查找的算法?那就是本文提到的“跳表算法”。 和有序数组类似,如果要使用跳表算法,必须是有序的链表结构。 支持快速的插入、删除、查找操作 没有红黑树复杂 Redis 中的有序集合(Sorted Set)就是用跳表来实现的。 为什么链表开辟的内存空间不是连续的,对cpu缓存不友好,没办法利用cpu缓存预读数据,原创 2022-02-17 00:00:28 · 2379 阅读 · 0 评论 -
【数据结构】--- 字典树
【数据结构】--- 字典树????前言????定义二、使用 ????前言 上一篇文章:【数据结构】–二叉树,红黑树 ????定义 字典树又称单词查找树,Trie树,是一种树形结构,是一种哈希树的变种。典型应用是用于统计,排序和保存大量的字符串(但不仅限于字符串),查找搜索引擎中用于分词,词频分析,自动补全机制… 查找效率高:核心是利用公共前缀减少查询时间 二、使用 上面这棵Trie树包含的字符串集合是{in, inn, int, tea, ten, to}。树中的每一条边上都标识有一个字符。这些字符原创 2022-02-06 01:08:57 · 764 阅读 · 0 评论 -
【数据结构】--- 布隆过滤器
详解布隆过滤器的原理,使用场景和注意事项 在进入正文之前,之前看到的有句话我觉得说得很好: Data structures are nothing different. They are like the bookshelves of your application where you can organize your data. Different data s..转载 2022-02-05 18:39:15 · 588 阅读 · 0 评论 -
【数据结构】--二叉树,红黑树
数据结构---树????概念????定义???? 术语☀️二叉树✨ 二叉搜索树????定义二、使用步骤1.引入库2.读入数据总结 ????概念 ????定义 树:N个节点构成的有限结合,树中有一个称为“根”的特殊节点。其余节点分为互不相交的“子树”。 ???? 术语 节点:以图为例,11,20.41 …都是节点。 边:节点与节点之间的连线为边。 根:树顶端的节点为根节点。一棵树只有一个根节点。 节点相对关系: 11是20的子节点;20是11的父节点;29是11的兄弟节点。 叶子节点:没有子节点的节点,原创 2022-02-04 21:19:51 · 1621 阅读 · 0 评论 -
复杂度分析--时间复杂度
复杂度分析--时间复杂度概念判断时间复杂度准则<1>只关注循环执行次数最多的一段代码<2>加法法则:总复杂度等于量级最大的那段代码的复杂度<3>乘法法则:嵌套代码的复杂度等于嵌套内外代码复杂度的乘积几种常见时间复杂度实例分析O(1):常数型时间复杂度O(log n): 对数复杂度O(n^2):平方复杂度O(n^2):指数复杂度O(n!):阶乘各时间复杂度曲线 概念 算法的执行时间与数据规模之间的增长关系 时间复杂度不是代码的执行时间,而是一种随着数据规模不断增长的一种变化原创 2021-05-27 20:45:39 · 1985 阅读 · 0 评论
分享