/ tags/ algorithm

# 时间复杂度和空间复杂度

7 min read

在计算机科学中,算法的时间复杂度(Time complexity)是一个函数,它定性描述该算法的运行时间。当 n 很大时,公式中的低阶、常量、系数不能左右增长趋势,都可以忽略。

# 正则表达式

3 min read

正则表达式(Regular Expression),是一个定义搜索模式(pattern)的序列字符串。该模式经常用作搜索,替代字符串以及验证输入的正确性。

# 排序之堆排序

2 min read

堆排序可以分成两步,一:将给定的数组建立成堆。 二:不断的移除根节点,然后重组堆。并移除的根节点插入到数组中。

# 排序之快速排序

2 min read

快速排序采用了分治法的思想。快速排序先把大数组划分成两个数组,使得一边的数组关键字均大于另一边的数组关键字。然后分别对两个数组关键字递归排序。

# 排序之归并排序

3 min read

归并排序采用了分治法的思想。归并排序就是将序列中前后相邻的两个有序序列归并为一个有序序列。

# 排序之选择排序

2 min read

选择排序就是构建有序序列,对于未排序的下一个位置,在未排序序列中从前往后扫描,选择合适的元素。

# 排序之插入排序

2 min read

插入排序就是构建有序序列,对于未排序的下一个数据,在已排序序列中从后往前扫描,找到合适的位置插入。

# 排序之冒泡排序

3 min read

冒泡排序就是将数列中第一个关键字和第二个关键字比较,若为逆序,则交换两个关键字,继续比较第二个,第三个关键字,重复直到最后一个。这样子,数列中最大值就位于最后的位置。然后开始第二轮比较,直到 N-1 的位置。一直循环比较 N 轮,直到数列中所有的记录都排序好。冒泡排序总是从左往右遍历,并选择最大的关键字放在最左边。

# 三种表达式

6 min read

前缀表达式,也叫波兰表达式(PN)。其特点是操作符置于操作数的前面。中缀表达式,操作符是以中缀的形式处于操作数的中间。中缀表达式中的括号是必需的。后缀表达式,也叫逆波兰表达式(RPN)。所有的操作符置于操作数的后面。

# 数据结构之图

8 min read

图是一种非线性结构,是一组有限个顶点(vertices)和一组连接顶点的边(edges)的集合。