知行 - 大道至简,知易行难;道阻且长,行则将至。
open-menu close-me
首页
博客
归档
关于
  • 「学习笔记」数据结构与算法 – Trie 树 与 AC 自动机

    calendar Jul 6, 2022 · 4 分钟阅读 · 数据结构与算法 学习笔记  ·
    分享到: weibo wechat copy

    Trie 树,也叫“字典树”、“前缀树”。它是一种有序树形结构。是一种专门处理字符串匹配的数据结构,用来解决在一组字符串集合中快速查找某个字符串的问题。 AC 自动机以Trie 树的结构为基础,结合KMP的思想建立的,是一种用于解决多模式匹配问题的经典算法。

    1. Trie 树 Trie 树的本质,就是利用字符串之间的公共前缀,将重复的前缀合并在一起。 举例说明一下。我们有6个字符 …


    阅读更多
  • 「学习笔记」数据结构与算法 – 单模式字符串匹配算法(BF、RK、KMP、BM)

    calendar Jun 25, 2022 · 6 分钟阅读 · 数据结构与算法 学习笔记  ·
    分享到: weibo wechat copy

    介绍字符串匹配算法之前,先定义几个概念: 主串Text: 长度记作 n; 模式串Pattern: 长度记作 m,并且 m<=n。 有效位移s(Valid Shift):即模式串在主串中出现,并且位置移动 s 次。 1. BF 算法 BF(Brute Force)算法,中文叫作暴力匹配算法,也叫朴素匹配算法。 从主串的首或尾开始逐个匹配字母(比较顺序没有限制)。 BF 算法的思想可以用一句话来 …


    阅读更多
  • 「学习笔记」数据结构与算法 – 二分查找

    calendar Jun 2, 2022 · 2 分钟阅读 · 数据结构与算法 学习笔记  ·
    分享到: weibo wechat copy

    二分查找(Binary Search)又称折半查找、二分搜索、折半搜索等,查找思想有点类似分治思想,对应的时间复杂度为O(logn)。 二分查找算法仅适用于有序且使用顺序存储结构的序列(比如有序数组)。 核心思想是:不断地缩小搜索区域,降低查找目标元素的难度。(每次都通过跟区间的中间元素对比,将待查找的区间缩小为之前的一半,直到找到要查找的元素,或者区间被缩小为 0。) 以在升序序列中查找目标元素 …


    阅读更多
  • 「学习笔记」数据结构与算法 – 排序算法

    calendar May 25, 2022 · 7 分钟阅读 · 数据结构与算法 学习笔记  ·
    分享到: weibo wechat copy

    排序算法可以分为内部排序和外部排序,内部排序是数据记录在内存中进行排序,而外部排序是因排序的数据很大,一次不能容纳全部的排序记录,在排序过程中需要访问外存。常见的内部排序算法有:插入排序、希尔排序、选择排序、冒泡排序、归并排序、快速排序、堆排序、基数排序等。 用一张图概括: 名词解释: n:数据规模 k:“桶"的个数 In-place:占用常数内存, …


    阅读更多
  • 「学习笔记」数据结构与算法 – 图(Graph)

    calendar May 10, 2022 · 2 分钟阅读 · 数据结构与算法 学习笔记  ·
    分享到: weibo wechat copy

    图(Graph)。和树比起来,这是一种更加复杂的非线性表结构,由顶点和连接每对顶点的边所构成的抽象网络就是图。 图的定义:图是由顶点的有穷非空集合和顶点之间边的集合组成,通常表示为:G(V,E),其中,G表示一个图,V是顶点的集合,E是边的集合。 图中的元素叫做顶点(vertex)。顶点与其他顶点建立的连接关系叫做边(edge)。跟顶点相连接的边的条数叫做顶点的度(degree)。 如果图中任意两 …


    阅读更多
  • 「学习笔记」数据结构与算法 – 堆(Heap)

    calendar May 2, 2022 · 2 分钟阅读 · 数据结构与算法 学习笔记  ·
    分享到: weibo wechat copy

    堆的两点要求: 堆是一个完全二叉树; 堆中每一个节点的值都必须大于等于(或小于等于)其子树中每个节点的值。 对于每个节点的值都大于等于子树中每个节点值的堆,我们叫做大顶堆。 对于每个节点的值都小于等于子树中每个节点值的堆,我们叫做小顶堆。 完全二叉树:除最后一层外,其他层的节点都满;并且最后一层的节点从左到右是连续排列,中间没有断开,空位都在右边。 在构建完全二叉树的时候,新加入的节点在最后一层从 …


    阅读更多
  • 「学习笔记」数据结构与算法 – 红黑树(Red-Black Tree)

    calendar Apr 25, 2022 · 1 分钟阅读 · 数据结构与算法 学习笔记  ·
    分享到: weibo wechat copy

    平衡二叉查找树其实有很多,比如,红黑树(Red-Black Tree,简称 R-B Tree)、伸展树(Splay Tree)、树堆(Treap)等,但是我们提到平衡二叉查找树,听到的基本都是红黑树,它是一种不严格的平衡二叉查找树。 红黑树是一种含有红黑节点并能自平衡的二叉查找树。它必须满足下面性质: 每个节点要么是红色,要么是黑色; 根节点是黑色的; 每个叶子节点都是黑色的空节点(NIL),也就 …


    阅读更多
  • 「学习笔记」数据结构与算法 – AVL树

    calendar Apr 15, 2022 · 1 分钟阅读 · 数据结构与算法 学习笔记  ·
    分享到: weibo wechat copy

    AVL树(得名于发明者G. M. Adelson-Velsky 和 E. M. Landis)本质上是一棵带有平衡条件的二叉搜索树。 AVL树具有以下2个性质: 左子树和右子树的深度之差的绝对值不超过1; 左子树和右子树全都是 AVL树。 其中为了度量左右子树的深度之差,我们引入平衡因子(BF)的概念。 平衡因子: 某个节点的左子树的高度减去右子树的高度得到的差值。 对于一棵 AVL树,里面的所有 …


    阅读更多
  • 「学习笔记」数据结构与算法 – 二叉树

    calendar Apr 8, 2022 · 1 分钟阅读 · 数据结构与算法 学习笔记  ·
    分享到: weibo wechat copy

    树:树是一种非线性的数据结构,一棵树是n(n>=0)个节点的集合。 用来连接相邻节点之间的关系,我们叫做“父子关系”。 我们把没有父节点的节点叫做根节点,节点的上一层节点是其父节点,下一层节点是其子节点,拥有相同父节点的子节点之间互称为兄弟节点。 树的三个比较相似的概念:高度(Height)、深度(Depth)、层(Level)。 节点的高度:节点到叶子节点的最长路径(边数) 节点的深度:根 …


    阅读更多
  • 「学习笔记」数据结构与算法 – 哈希算法

    calendar Mar 25, 2022 · 1 分钟阅读 · 数据结构与算法 学习笔记  ·
    分享到: weibo wechat copy

    哈希算法(Hash)又称摘要算法(Digest),它的作用是:对任意一组输入数据进行计算,得到一个固定长度的输出摘要。 哈希算法最重要的特点就是:相同的输入一定得到相同的输出;不同的输入大概率得到不同的输出。 哈希算法的目的就是为了验证原始数据是否被篡改。 // Java字符串的hashCode()就是一个哈希算法,它的输入是任意字符串,输出是固定的4字节int整数: …


    阅读更多
    • ««
    • «
    • 2
    • 3
    • 4
    • 5
    • 6
    • »
    • »»

最新文章

  • 「学习笔记」大模型GraphRAG(知识图谱增强检索)
  • 「学习笔记」Milvus 向量数据库入门
  • 「学习笔记」向量数据库 (Vector Database)
  • 「学习笔记」大模型RAG(检索增强生成)
  • 「学习笔记」大模型提示工程(Prompt Engineering)
  • 「学习笔记」大语言模型(LLM)原理
  • 「学习笔记」AI大模型基础
  • 「工程实践」 Three.js 实战指南:构建沉浸式3D太阳系

分类

SPRING基础 27 运维与DEVOPS 24 JAVA编程 20 数据结构与算法 17 安全认证 13 WEB游戏 12 数据库 11 计算机基础 8 AI大模型 7 GOLANG编程 7 ELASTICSEARCH 4 博客搭建 4 旅行日记 3 踩坑记录 2
所有分类
AI大模型7 ELASTICSEARCH4 GOLANG编程7 JAVA编程20 PYTHON编程1 SPRING基础27 WEB游戏12 安全认证13 博客搭建4 踩坑记录2 计算机基础8 旅行日记3 数据结构与算法17 数据库11 运维与DEVOPS24
[A~Z][0~9]

专栏

SPRING基础 27 运维与DEVOPS 24 JAVA编程 20 数据结构与算法 17 安全认证 13 WEB游戏 12 数据库 11 计算机基础 8 AI大模型 7 GOLANG编程 7 ELASTICSEARCH 4 旅行日记 3 踩坑记录 2 PYTHON编程 1

标签

学习笔记 126 SPRING基础 27 运维与DEVOPS 27 工程实践 25 JAVA编程 20 数据结构与算法 17 安全认证 13 TYPESCRIPT 12 WEB游戏 12 数据库 11 LINUX 10 SPRINGCLOUD 9 计算机基础 8 AI大模型 7
所有标签
AI大模型7 BLUELAKE1 CENTOS2 COCOS1 DOCKER2 ELASTICSEARCH4 FASTDFS3 GIT1 GOGS1 GOLANG编程7 HEXO3 HUGO1 JAVA编程20 JENKINS4 JVM3 LINUX10 LLM3 MAVEN1 MYSQL6 NFS1 NGINX2 PYTHON编程1 RAG2 REDIS6 ROCKETMQ2 SHADER2 SHIRO4 SPRINGCLOUD9 SPRINGREACTIVE2 SPRINGSECURITY7 SPRING基础27 SVN1 THREEJS5 THYMELEAF1 TOMCAT91 TYPESCRIPT12 WEBGL1 WEB游戏12 YAPI1 安全认证13 并发编程4 博客搭建4 踩坑记录2 工程实践25 计算机基础8 接口幂等1 旅行日记3 生活记录3 数据结构与算法17 数据库11 网络协议1 学习笔记126 运维与DEVOPS27
[A~Z][0~9]

备案号:粤ICP备19039226号 Copyright ©  郑超(CHARLES·ZHENG) · All Rights Reserved

to-top