数据结构与算法学习笔记 - 优先队列、二叉堆、左式堆

2016-06-08
阅读 20 分钟
6.5k
可以使用简单链表进行不排序的插入,则插入操作为 O(1),但是删除需要遍历链表为 O(N)。另一种方法是让链表保持排序状态:插入代价高昂 O(N),但删除为 O(1).但是 deleteMin 的操作比插入操作少,前者可能更好。

一种简单的平衡树-AVL树

2016-05-05
阅读 11 分钟
6.9k
AVL树(Adelson-Velskii 和 Laandis)树是带有平衡条件(balance condition)的二叉查找树。这个平衡条件必须要容易保持,而且他保证树的深度必须是 O(log N)。最简单的想法是要求左右子树具有相同的高度。

Majority Vote Alogrithm(最大投票算法)及其扩展

2016-04-09
阅读 5 分钟
12.2k
原文中提到:decides which element of a sequence is in the majority, provided there is such an element.,但是讲的有一些含糊。我再补充一下:在一次投票中,如果某一种投票出现的数量大于(这里必须是大于而不能是等于,否则在某些特殊条件下会得到错误结果)总投票,我们就认为这种投票是我们要找的 Majority Elem...

leetcode 算法解析(一):260. Single Number III

2016-04-07
阅读 3 分钟
10.6k
本题其实算是比较简单,在 leetcode 上也只是 medium 级别,ac 率也很高,最好先自己尝试,本文只是单纯的记录一下自己整体的思路;