小撒是一只好学的小鸭子,这天,小撒在学习算法 今天我们就来介绍几个常见的数据结构吧。 栈(stash) 栈是一种先进后出(FILO,first-in-last-out)的数据...
小撒是一只好学的小鸭子,这天,小撒在学习算法 今天我们就来介绍几个常见的数据结构吧。 栈(stash) 栈是一种先进后出(FILO,first-in-last-out)的数据...
小撒是一只好学的小鸭子,这天,小撒在学习算法 顺序统计量(order statistic) 在一个数组中,第i个数据统计量指的是数组中第i小的元素。 为了取得特定的顺序统计量...
小撒是一只好学的小鸭子,这天,小撒在学习算法 基数排序(Radix Sort) 如前所述,计数排序带来了空间成本太大的问题。为了解决这一问题,我们将在其基础上演变出新的算法:...
小撒是一只好学的小鸭子,这天,小撒在学习算法 比较排序与线性时间排序 此前我们介绍的排序方法都是基于比较的,而基于比较的排序方法存在Ω(n * log(n))的理论下界。 接...
小撒是一只好学的小鸭子,这天,小撒在学习算法 快速排序(quick sort) 快速排序同样试用了分治的思想。 快速排序的过程如下: 选择数组中的一个元素为基点(pivot)...
小撒是一只好学的小鸭子,这天,小撒在学习算法 二叉堆与最大堆 二叉堆可以被视为完全二叉树,数组和二叉堆的表现形式可以互相转换: 从图中我们可以观察到二叉堆和数组的转换关系;同...
小撒是一只好学的小鸭子,这天,小撒在学习算法 分治法 分治法(divide-and-conquer)是一种算法设计策略。使用分治法的算法在每一层迭代有3个步骤: 分解(div...
小撒是一只好学的小鸭子,这天,小撒在学习算法 插入排序 插入排序(Insertion Sort)的时间复杂度是O(n ^ 2),其过程是不断将新元素插入到已排序部分中的正确位...
韩路之前写过一篇博文《你为什么要努力》(见附文),通过几个例子告诉年轻人为什么要努力。但是,对于更年轻的我们,更想说,年轻人,你唯一需要做的事就是努力多赚钱。 年轻人毕业之后...