| by msbeta | No comments

数据结构排序算法-堆排序

1.什么是堆排序

堆排序是利用堆这种数据结构设计的一种排序算法。它的最好、最坏、平均的时间复杂度都是nlogn,是一种非稳定排序算法。

2.什么是堆

堆(heap)是计算机科学中一类特殊的数据结构的统称,它满足以下的性质:

1) 堆中某个节点的值总是不大于或不小于其父[……]

继续阅读

Read More
| by msbeta | No comments

链表的二分搜索实现-跳跃表

跳跃列表是在很多应用中有可能替代平衡树而作为实现方法的一种数据结构。跳跃列表的算法有同平衡树一样的渐进的预期时间边界,并且更简单、更快速和使用更少的空间。

—-by 发明者

在redis中有序集合就使用到了跳跃表。

跳跃表允许快速查询一个有序连续元素的数据链表,它的效率可以做到和二分相同,都是[……]

继续阅读

Read More
| by msbeta | 1 comment

C++11新特性-std::all_of

std::all_of用于检查是否元素序列中所有元素都满足给定的条件,所有要素都满足给定条件时,函数返回true;否则返回false。

1.函数原型:

函数的行为类似于下面的代码:

2.std::all_of函数的用法

2.1 Using std::all_of()[……]

继续阅读

Read More