嗯,那些待我挑战的一些东西(在完成《数据结构》这本书后当做复习&提升的目录)

前端之家收集整理的这篇文章主要介绍了嗯,那些待我挑战的一些东西(在完成《数据结构》这本书后当做复习&提升的目录)前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

1栈的面试题&卡塔兰数

2树

3计算机内存

4Hash实现

5堆的一个用法

典型利用:

选择问题:输入N个元素以及整数K,这N个元素的集可以是全序的,找出第K个最大的元素;

算法一、

  把这些元素排序,返回第K个值,通过各种排序算法;

算法二、

  将K个元素读入数组,并将其排序,从大到小,最小的元素在第K个位置上。然后一个一个处理剩余的元素。当一个元素处理时,它先与数组中的第K个数比较,如果该元素大,将第K个数删除,将它插入到剩余的K-1个队列中,算法结束时,数组上第K个位置上的元素就为所求;该算法的时间复杂度为O(N*K);

注意:对于任意的K,我们可以求解对称问题,找出第(N-K+1)个最小元素。从而中位数K=N/2是时间使用最多的所求元素;

算法三、

  将N个元素建堆,执行K次DeleteMax操作。

猜你在找的数据结构相关文章