复杂度 算法时间复杂度以算法中基本操附重复执行的次数(简称为频度)作为算法的时间度量。一般不必要精确计算出算法的时间复杂度,只要大致计算出相应的数量级即可,使用大$O$表示法表示(空间复杂度也是)。...

二分查找 二分查找又叫折半查找,是在有序列表的基础上进行查找,每次查找可以筛掉一半的元素。 算法步骤 以升序数列$L[0…n-1]$为例,假设要查找的数为$x$: 让$x$与数列中间位置的元...

经典字符串匹配 BF暴力匹配算法 暴力匹配,即Brute Force,简称BF算法。BF算法是一种简单朴素的模式匹配算法,常用于在一个主串S内查找一个子串T的出现位置。 算法步骤 假设有主串S与子...

冒泡排序 冒泡排序(Bubble Sort)是一种简单直观的排序算法。 这个算法的名字由来是因为越小的元素会经由交换慢慢“浮”到数列的顶端。 时间复杂度:$O(n^2)$ 算法步骤 假设一个序列长度...