数据结构

散列表

关于算法系列,在前面已经整理过大O表示法和排序算法相关的文章,今天接着上次的话说一说散列表(Hash Table,也叫哈希表),顺便穿插和另外两种基本的数据结构,数组和链表比较;并在最后介绍良好的散列函数——SHA函数的使用。这三种基本数据结构,可简可繁,在写代码时候都是比较频繁使用的,那我们先从散列表开始入手。

大O表示法

前面有两篇总结了排序算法,最近刚好在看《算法图解》,想由表及里整理一份算法系列。每次介绍算法时,都会讨论其运行时间,一般而言,应选择效率最高的算法,以最大限度地减少运行时间或占用空间。那怎么表示算法的速度呢,今天来了解一下:大O表示法。

理解大O表示法

大O表示法是一种特殊的表示法,指出了算法的速度有多快。我们举个例子:假设列表包含n个元素,简单的查询需要检查每个元素,因此需要执行n次操作。使用大O表示法,这个运行时间为:O(n)。单位?没有,大O表示法指的是算法运行时间的增速,不需要单位来描述。